为什么选择MCP?
想象一下,你正在为一家银行构建一个人工智能助手:\*\*
User: "What's my current account balance and how much can I spend on my credit card?"❌ 无MCP的AI:
"I don't have access to your personal banking information.
You'll need to log into your bank's website or mobile app."❌ 传统的API方法:
User has to:
1. Log into banking app
2. Navigate to account section
3. Check balance
4. Switch to credit card section
5. Check available credit
6. Manually calculate total spending power✅ 人工智能与MCP(私人银行工具):
"Your checking account has $2,450 and your credit card has $3,200 available credit.
You can spend up to $5,650 total."为什么MCP对私人数据至关重要
MCP的真正优势:
- 🔒 私人数据访问:连接到内部数据库、客户关系管理系统、财务记录
- 🛠️ 内部功能:触发公司工作流程、发送电子邮件、创建工单
- 🏢 业务逻辑:访问专有算法、定价模型、客户数据
- 🔐 安全集成:对敏感公司系统的受控访问
现实世界的例子:
- 银行业:“从储蓄中转账500美元到支票账户,并支付我的信用卡账单”
- 电子商务:“检查iPhone 15的库存,更新定价,并通知仓库”
- 医疗保健:“安排与史密斯医生的预约,检查保险范围,发送提醒”
- 客户关系管理:“查找上个月购买产品X的所有客户,并向他们发送升级优惠”
此Repo
该存储库演示了如何使用MCP在AI助手中实现实时货币转换,即使底层语言模型无法访问最新汇率。它提供了一个实例,说明人工智能如何通过MCP利用外部工具准确回答与货币相关的查询。
模型上下文协议(MCP) 我们没有构建复杂的界面,而是让人工智能来做繁重的工作:
- 自然语言:用户只需键入“将100美元转换为日元”
- AI理解:Claude AI提取意图和参数
- 工具调用:AI调用我们的MCP服务器以获取汇率
- 智能响应:AI自然地格式化答案
例子:
User: "I have 50 euros in cash and 200 euros in my bank. How much is that total in dollars?"
AI With MCP:
"Your total is 250 EUR. At current rates, that's approximately $275 USD."更大的画面
这个项目展示了我们构建应用程序方式的根本转变。我们正在转向理解自然语言和上下文的AI原生界面,而不是复杂的UI和僵化的API。
Hono.js货币兑换MCP服务
使用Hono.js构建的Node.js服务,为货币兑换查询提供单个API端点。该服务与MCP(模型上下文协议)服务器集成,提供实时货币汇率,并使用Claude AI解释用户请求。
https://github.com/user-attachments/assets/aa88ab4e-511a-4ece-9881-5bf156570b38
🏗️ 建筑
User Request → Hono API → Claude AI → MCP Server → Freecurrencyapi → Response流程详细信息:
- 用户发送类似“100美元在欧元中是多少?”的提示
- API收到请求
- Claude AI解释请求并调用
get_exchange_rate工具 - MCP服务器从Freecurrencyapi获取汇率
- Claude AI计算结果并响应转换
设置
1.安装依赖项
npm install2.环境变量
复制示例环境文件并填写API密钥:
cp env.example .env编辑 .env 使用您的实际API密钥:
ANTHROPIC_API_KEY=your_anthropic_api_key_here
CURRENCY_API_KEY=your_freecurrency_api_key_here
PORT=80003.获取API密钥
- 无烟煤API密钥:从 Anthropic 控制台
- Freecurrencyapi密钥:从 自由货币pi
4.运行服务
开发模式(自动重新加载):
npm run dev生产方式:
npm start该服务将在端口8000(或您的 .env 文件)。
API使用
发布 /api/chat
发送关于货币兑换的自然语言提示。
请求:
{
"prompt": "Is ¥10,000 (Japanese Yen) enough to buy a $60 USD video game?"
}答复:
{
"response": "Yes, ¥10,000 JPY is enough to buy a $60 USD video game. When converted, ¥10,000 JPY is worth approximately $65.83 USD, which gives you about $5.83 USD in change after buying the $60 game.",
}查询示例
- “100美元等于多少欧元?”
- “我的银行里有5欧元现金和20欧元——以美元计总共是多少?”
- “如果我每月的工资是3500英镑,那么以加元计算是多少?”
- “10000日元够买一个60美元的电子游戏吗?”
- “我想把150瑞士法郎和80美元兑换成欧元,我能得到多少?”
可用脚本
npm run dev-使用自动重新加载启动开发服务器npm start-启动生产服务器npm run mcp-server-独立运行MCP服务器(用于测试)
MCP服务器
MCP服务器(mcp-server.ts)提供了一个工具:
get_exchange_rate:获取货币之间的汇率
- 参数: from_currency, to_currency, amount (可选) - 返回:汇率和换算金额
许可证
国际学生委员会
