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项目提供了一个完整的大语言模型工具调用示例实现,展示了如何通过结构化协议让模型访问外部工具和服务,增强模型的能力边界。通过白盒过程可视化,用户可以更好地理解模型的思考过程和工具调用逻辑。
This server cannot be installed
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
- AsecurityAlicenseAqualityA Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.Last updated -12PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server implementation that provides a standardized interface for interacting with Spiral's language models, offering tools to generate text from prompts, files, or web URLs.Last updated -14Python
Juhe Weather MCP Serverofficial
-security-license-qualityProvides a Model Context Protocol server that enables large language models to query and retrieve real-time weather forecasts for cities and regions across China.Last updated -Python- -securityAlicense-qualityA Model Context Protocol server that enables large language models to interact with Linear's issue tracking system, allowing management of issues, projects, teams, and other Linear resources.Last updated -TypeScriptMIT License