MCP 服务器是一个基于模型上下文协议(MCP)的服务器端和客户端实现,允许大型语言模型(LLMs)通过结构化协议调用外部工具来完成复杂任务。该项目主要由两部分组成:MCP 服务器和使用 TypeScript 实现的客户端。
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 前端应用 │────▶│ MCP 客户端 │────▶│ MCP 服务端 │
└───────────────┘ └───────────────┘ └───────────────┘
△ │ │
│ ▼ ▼
│ ┌───────────────┐ ┌───────────────┐
└───────────│ 大语言模型 │ │ 外部服务 API │
│ (Deepseek) │ │ (天气、GitHub)│
└───────────────┘ └───────────────┘
服务器是工具的提供者,负责注册和执行各种工具。
主要功能:
客户端连接大语言模型 API 和 MCP 服务器,负责处理用户查询并协调模型和工具调用。
主要功能:
客户端提供一个 HTTP 接口供前端应用程序调用,支持流式输出和过程可视化。
主要端点:
/sse:处理前端查询请求并返回包含思考过程和结果的流式响应客户端已实现白盒过程显示,允许用户查看:
node dist/src/index.js
node dist/mcp-client-typescript/src/index.js /path/to/server/script.js
POST http://localhost:3000/sse
Content-Type: application/json
{
"query": "北京今天的天气怎么样?"
}
需要在 .env 文件中设置以下环境变量:
LLM_API_KEY:Deepseek API 密钥GAODE_KEY:高德地图 API 密钥(用于天气查询)MCP 服务器项目提供了一个完整的大型语言模型工具调用示例,展示了如何通过结构化协议使模型访问外部工具和服务,从而扩展模型的能力边界。通过可视化白盒过程,用户可以更好地理解模型的思考过程和工具调用逻辑。