使用说明
MCP测试-客户端和服务器端组件OpenAI
该项目使用OpenAI GPT-4和TypeScript实现了MCP客户端和服务器(模型上下文协议),并遵循MCP的官方教程。
项目结构
mcp-test/
├── src/
│ ├── client.ts # Cliente MCP que usa OpenAI
│ └── server.ts # Servidor MCP com ferramentas de exemplo
├── build/ # Código compilado
├── .env # Chaves de API
├── package.json
├── tsconfig.json
└── README.md
先决条件
- Node.js 17或更高级
- OpenAI API 密钥
- npm瓯纱
配置
-
安装依赖关系 :
npm install -
设置环境变量 : 文件
.env应该已经包含您的 OpenAI 密钥:OPENAI_API_KEY=sua_chave_aqui -
编译TypeScript:
npm run build
Como Usar
1. 启动 MCP 服务器
Em-um终端,执行:
npm run start:server
服务器提供以下工具 :
get_alerts获取一个州的天气警报(2个字母的代码)get_forecast: 获取坐标( 纬度、 经度) 的天气预报add将两个数字相加multiply乘以两个数字get_random_fact获取一个随机有趣的事实
2. 启动MCP客户端
在另一个终端上,运行:
npm run start:client build/server.js
3. 与系统互动
现在,您可以提出使用可用工具的问题:
领事馆工作人员:
- “旧金山的天气预报是什么?” (纬度: 37.7749, 经度: -122.4194)
- “德克萨斯州有天气警报吗?”
- “15+27是多少?”
- “计算8×9”
- “告诉我一个有趣的事实”
可用脚本
npm run build:编译TypeScript与JavaScriptnpm run start:server:服务于MCPnpm run start:client:客户MCPnpm run dev:server:编译信息或服务npm run dev:client:客户信息汇编
建筑
伺服MCP(server.ts)
- 使用 MCP SDK 部署工具
- 使用国家气象服务 (NWS) API 获取气象数据
- 提供简单的数学工具和随机事实
- 通过 stdio (MCP 标准) 通信
客户MCP(client.ts)
- 通过 stdio 连接到 MCP 服务器
- 使用 OpenAI GPT-4o-mini 处理查询
- 将 MCP 工具转换为 OpenAI 格式
- 当 LLM 决定使用工具时,自动运行工具
运行流程
- 连接客户端通过 stdio 连接到服务器
- 发现客户端列出服务器上可用的工具
- 咨询公司用户提问
- 分析OpenAI分析问题并决定使用哪些工具
- 执行客户端通过 MCP 服务器运行工具
- 答案OpenAI根据结果制定最终响应
使用的技术
- TypeScript主要语言:
- OpenAI SDK与GPT-4集成
- MCP-SDK客户端和服务器之间的通信协议
- 萨德: 方案验证
- dotenv环境变量管理
解决问题
连接到服务器出错
- 检查服务器路径是否正确
- 请确认服务器已编译 (
npm run build)
API 密钥错误
- 验证se
OPENAI_API_KEY没有定义.env - 确认密钥是有效的,并且有可用的点数
工具无法工作
- 检查服务器是否正在运行
- 对于气象工具,仅使用美国位置
下一步
- 添加更多自定义工具
- 工具之外的资源(Resources)
- 添加预定义提示
- 为客户创建 Web 界面
- 实现缓存以提高性能
