MCP Server Example
一个模型上下文协议(Model Context Protocol,MCP)服务器的教育性实现,演示了如何构建一个功能性的 MCP 服务器,以便与各种 LLM 客户端(如 Claude Desktop)集成。
README
MCP 服务器示例
此仓库包含一个用于教育目的的模型上下文协议 (MCP) 服务器的实现。此代码演示了如何构建一个可以与各种 LLM 客户端集成的功能性 MCP 服务器。
要观看完整的教程,请参考 YouTube 视频教程。
什么是 MCP?
MCP(模型上下文协议)是一个开放协议,它标准化了应用程序如何向 LLM 提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口 - 它提供了一种标准化的方式来将 AI 模型连接到不同的数据源和工具。

主要优势
- 越来越多的预构建集成,您的 LLM 可以直接插入
- 可以在 LLM 提供商和供应商之间灵活切换
- 在您的基础设施中保护数据的最佳实践
架构概述
MCP 遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:
- MCP 主机:诸如 Claude Desktop、IDE 或 AI 工具之类的程序,它们希望通过 MCP 访问数据
- MCP 客户端:与服务器保持 1:1 连接的协议客户端
- MCP 服务器:轻量级程序,通过标准化的模型上下文协议公开特定功能
- 数据源:本地(文件、数据库)和远程服务 (API),MCP 服务器可以访问
核心 MCP 概念
MCP 服务器可以提供三种主要类型的能力:
- 资源:可以被客户端读取的类文件数据(如 API 响应或文件内容)
- 工具:可以被 LLM 调用的函数(需要用户批准)
- 提示:预先编写的模板,可以帮助用户完成特定任务
系统要求
- Python 3.10 或更高版本
- MCP SDK 1.2.0 或更高版本
uv包管理器
快速入门
安装 uv 包管理器
在 MacOS/Linux 上:
curl -LsSf https://astral.sh/uv/install.sh | sh
请确保之后重启您的终端,以确保 uv 命令被识别。
项目设置
- 创建并初始化项目:
# 为我们的项目创建一个新目录
uv init mcp-server
cd mcp-server
# 创建虚拟环境并激活它
uv venv
source .venv/bin/activate # 在 Windows 上使用: .venv\Scripts\activate
# 安装依赖
uv add "mcp[cli]" httpx
- 创建服务器实现文件:
touch main.py
运行服务器
- 启动 MCP 服务器:
uv run main.py
- 服务器将启动并准备好接受连接
连接到 Claude Desktop
- 从官方网站安装 Claude Desktop
- 配置 Claude Desktop 以使用您的 MCP 服务器:
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-server": {
"command": "uv", // 最好使用 uv 命令的绝对路径
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/YOUR/mcp-server",
"run",
"main.py"
]
}
}
}
- 重启 Claude Desktop
故障排除
如果您的服务器未被 Claude Desktop 识别:
- 检查配置文件路径和权限
- 验证配置中的绝对路径是否正确
- 确保 uv 已正确安装且可访问
- 检查 Claude Desktop 日志以获取任何错误消息
许可证
此项目根据 MIT 许可证获得许可。 有关详细信息,请参见 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够: