项目简介
该仓库包含基于 Model Context Protocol (MCP) 构建的多种服务器实现,旨在为大语言模型 (LLM) 客户端提供标准化的上下文信息和外部功能调用能力。它展示了一种使用 Python 构建 MCP 服务器的通用模式,并提供了可直接使用的功能模块示例。
主要功能点
- 标准化接口: 所有服务器遵循统一的 MCP 协议和代码结构。
- 工具提供: 通过 MCP 协议向 LLM 客户端注册和提供可调用的工具,例如 YouTube 视频搜索、转录获取或基础计算功能。
- 基于 Python: 使用 Python 3.12+ 构建,易于开发和扩展。
- SSE 传输: 主要通过 Server-Sent Events (SSE) 协议进行通信。
- 模块化设计: 每个服务器都是一个独立的模块,易于管理和部署。
- Docker 支持: 提供 Dockerfile 和相关配置,方便容器化部署。
安装步骤
以下以 'mcp-server-youtube' 为例说明安装步骤。请根据需要选择对应服务器目录。
- 克隆仓库到本地:
git clone https://github.com/Xyber-Labs/mcp-servers.git cd mcp-servers - 进入目标服务器目录:
cd mcp-server-youtube - 确保已安装 Python 3.12+。
- 安装项目依赖:
# 如果使用 pip pip install . # 如果使用 poetry # poetry install - 复制示例环境变量文件并配置:
编辑 '.env' 文件,填入必要的配置信息,例如 'YOUTUBE_API_KEY'(对于 YouTube 服务器)。cp .env.example .env
服务器配置(供 MCP 客户端使用)
MCP 客户端需要配置连接信息才能与服务器通信。典型的客户端配置需要以下信息:
- 服务器逻辑名称: 用于客户端内部识别此服务器实例的名称(例如:'youtube-mcp-server' 或 'calculator-server')。
- 启动命令: 启动服务器进程的命令行指令(例如:'python -m mcp_server_youtube' 或 'python -m mcp_server_calculator')。
- 命令行参数: 启动命令的可选参数,用于指定主机、端口等(例如:'--host 0.0.0.0 --port 8000')。
- 服务器 URL: 客户端连接的服务器监听地址(例如:'http://localhost:8000/sse')。
- 传输协议: 使用的通信协议类型(例如:'sse')。
客户端需要根据其框架的要求,将这些信息组织成相应的配置格式(通常是 JSON)。具体的命令和参数请参考对应服务器目录下的 'main.py' 文件。
基本使用方法
- 在对应的服务器目录下,根据需要在 '.env' 文件中配置好环境变量。
- 通过命令行启动服务器进程。例如,启动 YouTube 服务器:
或启动计算器服务器:python -m mcp_server_youtube --port 8000python -m mcp_server_calculator --port 8000 - 配置并运行您的 MCP 客户端,使其连接到服务器监听的地址(例如 'http://localhost:8000/sse'),使用正确的服务器逻辑名称和传输协议。
- 客户端连接成功后,即可通过 MCP 协议发现服务器提供的工具,并调用这些工具执行相应的任务(如搜索 YouTube 视频、获取转录、执行计算等)。
信息
分类
AI与计算