Offers a Web API built on Express that handles frontend queries and delivers streaming responses with process visualization
Provides a tool for querying GitHub user information, allowing access to profile data through the GitHub API
Serves as the foundation for the MCP server implementation, enabling tool registration and execution
Used for implementing both the MCP server and client components with type safety
MCP-Server 项目文档
项目概述
MCP-Server 是一个基于 Model Context Protocol (MCP) 的服务端和客户端实现,允许大语言模型(LLM)通过结构化协议调用外部工具完成复杂任务。项目主要包含两部分:MCP服务端和TypeScript实现的客户端。
系统架构
核心组件
1. MCP 服务端
服务端是工具的提供者,负责注册和执行各种工具。
主要功能:
- 工具注册:目前已实现天气预报查询和GitHub用户信息查询工具
- 工具执行:接收客户端请求,执行相应工具并返回结果
- 通信:通过标准输入输出(stdio)与客户端通信
2. MCP 客户端
客户端连接大语言模型API和MCP服务端,负责处理用户查询并协调模型调用和工具调用。
主要功能:
- 连接MCP服务端并获取可用工具列表
- 与大语言模型API通信(默认使用Deepseek)
- 解析模型输出中的工具调用请求
- 协调工具调用流程并汇总结果
- 提供命令行交互界面
- 提供基于Express的Web API
3. Web API
客户端提供了HTTP接口供前端应用调用,支持流式输出和过程可视化。
主要端点:
/sse
: 处理前端查询请求,返回包含思考过程和结果的流式响应
白盒过程可视化
客户端实现了白盒过程展示,让用户可以看到:
- 意图识别过程
- 工具选择过程
- 工具调用参数和结果
- 最终答案生成过程
技术栈
- 后端:Node.js、TypeScript
- 框架:Express
- 大语言模型:Deepseek (通过OpenAI兼容API)
- 通信协议:Model Context Protocol
- SDK:@modelcontextprotocol/sdk
使用方法
- 启动服务端:
- 启动客户端并连接到服务端:
- 访问Web API:
配置要求
需要在.env
文件中设置以下环境变量:
LLM_API_KEY
: Deepseek API密钥GAODE_KEY
: 高德地图API密钥(用于天气查询)
工作流程
- 用户发送查询到客户端
- 客户端将查询发送给大语言模型
- 大语言模型分析查询并决定是否需要调用工具
- 如需调用工具,客户端通过MCP协议向服务端发送请求
- 服务端执行工具并返回结果
- 客户端将工具结果再次发送给大语言模型生成最终回答
- 将回答返回给用户
结语
MCP-Server项目提供了一个完整的大语言模型工具调用示例实现,展示了如何通过结构化协议让模型访问外部工具和服务,增强模型的能力边界。通过白盒过程可视化,用户可以更好地理解模型的思考过程和工具调用逻辑。
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol implementation that enables large language models to call external tools (like weather forecasts and GitHub information) through a structured protocol, with visualization of the model's reasoning process.
Related MCP Servers
- -securityFlicense-qualityA demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.Last updated -Python
MCP TapData Serverofficial
-securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -- AsecurityAlicenseAqualityA customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.Last updated -113PythonApache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that helps large language models process code repositories by providing file tree generation, code merging, and code analysis capabilities.Last updated -320JavaScriptMIT License