首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-server-example2025-05-300分享
github
一个教育性的 Model Context Protocol 服务器实现,演示了如何构建一个功能性的 MCP 服务器,以与各种 LLM 客户端(如 Claude Desktop)集成。
By alejandro-ao
2025-05-300
github
详情内容

MCP 服务器示例

本仓库包含一个用于教育目的的模型上下文协议(MCP)服务器的实现。此代码展示了如何构建一个可以与各种LLM客户端集成的功能性MCP服务器。

要跟随完整教程,请参考YouTube视频教程

什么是MCP?

MCP(模型上下文协议)是一种开放协议,标准化了应用程序如何向LLM提供上下文。将MCP视为AI应用程序的USB-C端口——它提供了一种标准化的方式,将AI模型连接到不同的数据源和工具。

MCP 图示

主要优势

  • 不断增长的预构建集成列表,您的LLM可以直接插入
  • 在LLM提供商和供应商之间切换的灵活性
  • 在基础设施内保护数据的最佳实践

架构概述

MCP遵循客户端-服务器架构,主机应用程序可以连接到多个服务器:

  • MCP主机:如Claude Desktop、IDE或希望通过MCP访问数据的AI工具
  • MCP客户端:与服务器保持1:1连接的协议客户端
  • MCP服务器:通过标准化的模型上下文协议暴露特定功能的轻量级程序
  • 数据源:MCP服务器可以访问的本地(文件、数据库)和远程服务(API)

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命令被识别。

项目设置

  1. 创建并初始化项目:
# 为我们的项目创建一个新目录
uv init mcp-server
cd mcp-server

# 创建虚拟环境并激活它
uv venv
source .venv/bin/activate  # 在Windows上使用:.venv\Scripts\activate

# 安装依赖项
uv add "mcp[cli]" httpx
  1. 创建服务器实现文件:
touch main.py

运行服务器

  1. 启动MCP服务器:
uv run main.py
  1. 服务器将启动并准备接受连接

连接到Claude Desktop

  1. 从官方网站安装Claude Desktop
  2. 配置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"
            ]
        }
    }
}
  1. 重启Claude Desktop

故障排除

如果您的服务器未被Claude Desktop识别:

  1. 检查配置文件路径和权限
  2. 验证配置中的绝对路径是否正确
  3. 确保uv已正确安装并可访问
  4. 检查Claude Desktop日志以查找任何错误信息

许可证

本项目采用MIT许可证。详情请参阅LICENSE文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档