Hello-MCP 🚀

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

官方 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

  1. 找到一个满足你需求的 MCP 服务器主机
  2. 配置 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 (模型控制协议) 解决了:

  1. 标准化 AI 模型交互协议
  2. 提供统一的工具调用规范
  3. 简化复杂的 AI 系统集成
  4. 实现模块化和可重用的模型能力

Q: MCP 的历史

A: MCP 发展时间线:

  1. 2023: Anthropic (Claude 的母公司) 提出概念
  2. 2024: 涌现出多个开源实现
  3. 2025: 成为 AI 系统集成的标准协议
  4. 现在: 广泛应用于各种 AI Agent 系统

Q: MCP 的当前状态

A: 主要应用场景:

  1. AI 助手系统
  2. 自动化工作流程
  3. 多模型协作平台
  4. 企业 AI 解决方案 流行的实现包括 FastMCP, PyMCP 等。

Q: MCP 和 Function Call 的区别

A: 相似之处:

  1. 都可以执行特定功能
  2. 都需要输入/输出定义 不同之处:
  3. MCP 是一个标准化协议, Function Call 是一种语言特性
  4. MCP 支持跨语言/平台调用
  5. MCP 包括完整的工具发现/注册

Q: MCP 和 Agents 的关系

A: 关键点:

  1. Agents 是使用 MCP 的实体
  2. MCP 是 Agent-Agent 或 Agent-Tool 交互的协议
  3. 一个 Agent 可以注册多个 MCP 工具

项目问答 💡

Q: 如何解决 DeepSeek API 密钥配置问题?

A: 确保:

  1. config.yaml 中的 api_key 字段已正确填写
  2. 密钥中没有多余的空格或引号
  3. 如果身份验证失败, 尝试重新生成 API 密钥

Q: 启动服务器时端口已被占用?

A: 解决方案:

  1. 使用 lsof -i :8000 检查使用端口的进程
  2. 终止进程或更改服务器端口
  3. 更新客户端注册 URL

Q: 如何扩展新的 MCP 工具?

A: 步骤:

  1. 在 server.py 中添加新的工具函数
  2. 使用 @tool 装饰器注册
  3. 定义输入参数模式
  4. 从客户端测试调用

Q: uv sync 命令失败?

A: 可能的解决方案:

  1. 检查网络连接
  2. 删除 .venv 并重新创建以解决依赖冲突
  3. 使用 sudo 或修复目录权限

Q: 如何贡献代码?

A: 欢迎在 GitHub 上提交 PR:

  1. Fork 项目
  2. 创建特性分支
  3. 提交带有清晰消息的 commit
  4. 打开 Pull Request

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

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

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript