Hello-MCP 🚀
一个简单的带有客户端和服务器的 MCP 演示
Cookie-HOO
README
Hello-MCP 🚀
中文文档 🇨🇳
一个简单的 MCP (模型控制协议) 客户端和服务端实现。 帮助理解 MCP 协议是什么以及它是如何工作的。
本项目将 ✅:
- 教你 MCP 协议的本质
- 让你构建自己的 MCP 客户端和服务端
- 提供 MCP 实现的实践经验
本项目不会 ❌:
- 教你如何配置现有的 MCP 主机
- 实现通用的服务器功能(需要你自行探索)
特性 ✨
MCP 客户端
- 支持注册 MCP 服务器(SSE 和 stdio 两种方式)
- 交互式命令行聊天界面
- 支持 DeepSeek API 对话(在配置文件中配置 API 密钥)
- 流式响应输出
MCP 服务器
- 基于 FastMCP 的简单服务器(支持 SSE 和 stdio)
- 提供基本的路径工具(列出指定路径中的所有文件)
- 健康检查支持
演示
使用 List_Dir 工具获取文件并进行分析!
使用指南 📖
环境搭建
推荐使用 uv 进行项目管理
0. 克隆项目
git clone https://github.com/Cookie-HOO/hello-mcp.git
cd hello-mcp
1. 安装 uv
macOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (需要 PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. 初始化项目依赖
uv venv # 创建虚拟环境
uv sync # 安装依赖
source ./.venv/bin/activate # macOS: 激活虚拟环境
.\.venv\Scripts\activate # Windows: 激活虚拟环境
3. 设置 DeepSeek API 密钥
目前仅支持 DeepSeek API - 申请地址: DeepSeek API Platform
cp ./config.example.yaml ./config.yaml
# 编辑以添加你的 DeepSeek API 密钥
4. 运行项目
# 方法 1: stdio (只需要显式启动客户端)
python -m hello_mcp.client2stdio --server-path ./hello_mcp/server.py
# 方法 2: SSE (需要显式启动服务端和客户端)
python -m hello_mcp.server --transport sse # 以 SSE 模式启动服务器
python -m hello_mcp.client2sse --server-url http://127.0.0.1:8000 # 使用客户端注册 MCP 服务器
调试 MCP 服务器
uv run mcp dev hello_mcp/server.py
许可证 📜
MIT 许可证。 详情请参见 LICENSE 文件。
👋 欢迎贡献! 欢迎提出问题和讨论。
MCP 使用指南 🛠️
1. 如何在日常工作中使用 MCP
- 找到一个满足你需求的 MCP 服务器主机
- 配置 MCP 服务器
MCP 主机参考列表:
客户端 | 资源 | 提示词 | 工具 | 采样 | 根目录 | 备注 |
---|---|---|---|---|---|---|
5ire | ❌ | ❌ | ✅ | ❌ | ❌ | 支持工具。 |
Apify MCP Tester | ❌ | ❌ | ✅ | ❌ | ❌ | 支持工具 |
BeeAI Framework | ❌ | ❌ | ✅ | ❌ | ❌ | 在 Agentic 工作流中支持工具。 |
Claude Code | ❌ | ✅ | ✅ | ❌ | ❌ | 支持提示词和工具 |
Claude Desktop App | ✅ | ✅ | ✅ | ❌ | ❌ | 支持工具、提示词和资源。 |
Cline | ✅ | ❌ | ✅ | ❌ | ❌ | 支持工具和资源。 |
Continue | ✅ | ✅ | ✅ | ❌ | ❌ | 支持工具、提示词和资源。 |
Copilot-MCP | ✅ | ❌ | ✅ | ❌ | ❌ | 支持工具和资源。 |
Cursor | ❌ | ❌ | ✅ | ❌ | ❌ | 支持工具。 |
2. 如何找到 MCP 工具
资源 | 推荐度 |
---|---|
Smithery - Model Context Protocol Registry | 🌟🌟🌟 |
https://github.com/punkpeye/awesome-mcp-servers | 🌟🌟🌟 |
https://github.com/modelcontextprotocol/servers | 🌟🌟🌟 |
List of all MCP Servers (42) | Portkey | 🌟🌟 |
https://cursor.directory/mcp | 🌟🌟 |
Open-Source MCP servers | Glama | 🌟🌟 |
https://mcp.so/ | 🌟🌟 |
https://www.pulsemcp.com/servers | 🌟🌟 |
Awesome MCP Servers | 🌟🌟 |
MCP 概念问答 ❓
Q: MCP 解决了什么问题?
A: MCP (模型控制协议) 解决了:
- 标准化 AI 模型交互协议
- 提供统一的工具调用规范
- 简化复杂的 AI 系统集成
- 实现模块化和可重用的模型能力
Q: MCP 的历史
A: MCP 发展时间线:
- 2023: Anthropic (Claude 的母公司) 提出概念
- 2024: 涌现出多个开源实现
- 2025: 成为 AI 系统集成的标准协议
- 现在: 广泛应用于各种 AI Agent 系统
Q: MCP 的当前状态
A: 主要应用场景:
- AI 助手系统
- 自动化工作流程
- 多模型协作平台
- 企业 AI 解决方案 流行的实现包括 FastMCP, PyMCP 等。
Q: MCP 和 Function Call 的区别
A: 相似之处:
- 都可以执行特定功能
- 都需要输入/输出定义 不同之处:
- MCP 是一个标准化协议, Function Call 是一种语言特性
- MCP 支持跨语言/平台调用
- MCP 包括完整的工具发现/注册
Q: MCP 和 Agents 的关系
A: 关键点:
- Agents 是使用 MCP 的实体
- MCP 是 Agent-Agent 或 Agent-Tool 交互的协议
- 一个 Agent 可以注册多个 MCP 工具
项目问答 💡
Q: 如何解决 DeepSeek API 密钥配置问题?
A: 确保:
- config.yaml 中的 api_key 字段已正确填写
- 密钥中没有多余的空格或引号
- 如果身份验证失败, 尝试重新生成 API 密钥
Q: 启动服务器时端口已被占用?
A: 解决方案:
- 使用
lsof -i :8000
检查使用端口的进程 - 终止进程或更改服务器端口
- 更新客户端注册 URL
Q: 如何扩展新的 MCP 工具?
A: 步骤:
- 在 server.py 中添加新的工具函数
- 使用 @tool 装饰器注册
- 定义输入参数模式
- 从客户端测试调用
Q: uv sync 命令失败?
A: 可能的解决方案:
- 检查网络连接
- 删除 .venv 并重新创建以解决依赖冲突
- 使用 sudo 或修复目录权限
Q: 如何贡献代码?
A: 欢迎在 GitHub 上提交 PR:
- Fork 项目
- 创建特性分支
- 提交带有清晰消息的 commit
- 打开 Pull Request
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。