返回市场
MCP服务器示例

MCP服务器示例

作者:alejandro-ao145 星标更新:2025-04-29

项目介绍

MCP 服务器示例

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

要完整地跟随教程,请参阅Youtube视频教程

什么是MCP?

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

MCP 图

主要优势

  • 越来越多的预建集成,您的LLM可以直接插入使用
  • 在不同LLM提供商和供应商之间切换的灵活性
  • 在您的基础设施中保护数据的最佳实践

架构概述

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

  • MCP 主机:如Claude Desktop、IDE或AI工具,它们希望通过MCP访问数据
  • MCP 客户端:维护与服务器一对一连接的协议客户端
  • 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命令被识别。

项目设置

  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

{
    "m_服务器": {
        "mcp-server": {
            "命令": "uv",  # 使用uv命令的绝对路径更好
            "参数": [
                "--directory",
                "/ABSOLUTE/PATH/TO/YOUR/mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}
  1. 重新启动Claude Desktop

故障排除

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

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

许可证

本项目采用MIT许可证。详情见LICENSE文件。 </中文翻译>