返回市场
货币兑换MCP服务

货币兑换MCP服务

作者:hshoja5 星标更新:2025-10-28

项目介绍

为什么选择MCP?

想象一下你在为一家银行构建一个AI助手:

用户:“我的当前账户余额是多少?我可以在信用卡上花多少钱?”

❌ 没有MCP的AI:

“我没有访问您的个人银行信息的权限。您需要登录银行网站或移动应用。”

❌ 传统API方法:

用户需要:
1. 登录银行应用
2. 导航到账户部分
3. 查看余额
4. 切换到信用卡部分
5. 查看可用信用额度
6. 手动计算总消费能力

✅ 使用MCP的AI(私人银行业务工具):

“您的支票账户余额为2,450美元,信用卡可用信用额度为3,200美元。您可以总共花费5,650美元。”

为什么MCP对私有数据至关重要

真正的MCP优势:

  • 🔒 私有数据访问:连接内部数据库、CRM系统、财务记录
  • 🛠️ 内部功能:触发公司工作流程、发送电子邮件、创建工单
  • 🏢 业务逻辑:访问专有算法、定价模型、客户数据
  • 🔐 安全集成:受控访问敏感公司系统

实际案例:

  • 银行:“从储蓄账户转出500美元到支票账户,并支付信用卡账单”
  • 电子商务:“检查iPhone 15的库存,更新价格,并通知仓库”
  • 医疗保健:“预约史密斯医生,检查保险覆盖范围,发送提醒”
  • CRM:“找到所有上个月购买产品X的客户,并向他们发送升级优惠”

此仓库

此仓库演示了如何使用MCP来实现AI助手中的实时货币转换,即使底层语言模型没有访问最新的汇率。它提供了一个实用示例,说明AI如何通过MCP利用外部工具准确回答与货币相关的问题。

模型上下文协议(MCP):我们让AI承担繁重的工作,而不是构建复杂的接口:

  • 自然语言:用户只需键入“将100美元转换为日元”
  • AI理解:Claude AI提取意图和参数
  • 工具调用:AI调用我们的MCP服务器获取汇率
  • 智能响应:AI以自然的方式格式化答案

示例:

用户:“我有50欧元现金和200欧元在银行。这总共相当于多少美元?”

使用MCP的AI:
“您的总额是250欧元。按当前汇率,这大约相当于275美元。”

更大的图景

这个项目展示了应用程序构建方式的根本转变。我们正从复杂的UI和僵化的API转向理解自然语言和上下文的AI原生界面。

Hono.js货币兑换MCP服务

这是一个使用Hono.js构建的Node.js服务,提供了单一的API端点用于货币兑换查询。该服务集成了MCP(模型上下文协议)服务器,以提供实时的货币兑换率,并使用Claude AI来解释用户请求。

https://github.com/user-attachments/assets/aa88ab4e-511a-4ece-9881-5bf156570b38

🏗️ 架构

用户请求 → Hono API → Claude AI → MCP服务器 → Freecurrencyapi → 响应

流程细节:

  1. 用户发送类似“100美元等于多少欧元?”的提示
  2. Hono API接收请求
  3. Claude AI解释请求并调用get_exchange_rate工具
  4. MCP服务器从Freecurrencyapi获取汇率
  5. Claude AI计算结果并回复转换

设置

1. 安装依赖

npm install

2. 环境变量

复制示例环境文件并填写您的API密钥:

cp env.example .env

编辑.env文件,填入您的实际API密钥:

ANTHROPIC_API_KEY=your_anthropic_api_key_here
CURRENCY_API_KEY=your_freecurrency_api_key_here
PORT=8000

3. 获取API密钥

4. 运行服务

开发模式(自动重新加载):

npm run dev

生产模式:

npm start

服务将在8000端口(或.env文件中指定的端口)启动。

API使用

POST /api/chat

发送关于货币兑换的自然语言提示。

请求:

{
  "prompt": "10,000日元(日本货币)是否足够购买价值60美元的游戏?"
}

响应:

{
  "response": "是的,10,000日元足以购买价值60美元的游戏。转换后,10,000日元相当于约65.83美元,购买游戏后您将剩下约5.83美元。",
}

示例查询

  • “100美元等于多少欧元?”
  • “我有5欧元现金和20欧元在银行——这总共相当于多少美元?”
  • “如果我每月赚3500英镑,这相当于多少加元?”
  • “10,000日元(日本货币)是否足够购买价值60美元的游戏?”
  • “我想将150瑞士法郎和80美元兑换成欧元,我将得到多少?”

可用脚本

  • npm run dev - 启动带有自动重新加载的开发服务器
  • npm start - 启动生产服务器
  • npm run mcp-server - 单独运行MCP服务器(用于测试)

MCP服务器

MCP服务器(mcp-server.ts)提供了一个工具:

  • get_exchange_rate:获取货币之间的汇率
    • 参数:from_currencyto_currencyamount(可选)
    • 返回:汇率和转换金额

许可证

ISC