项目简介

本项目 'MCP-Servers' 提供了基于 Model Context Protocol (MCP) 的服务器示例,旨在演示如何构建可以为大型语言模型 (LLM) 提供外部数据访问能力的后端服务。目前包含了文件系统服务器SQL数据库服务器两个示例,它们可以作为 LLM 的工具,扩展 LLM 的能力边界,使其能够安全、可控地与外部环境进行交互。这些服务器设计与 CAMEL-AI 框架配合使用,但也可作为独立的 MCP 服务器应用于其他支持 MCP 协议的 LLM 客户端。

主要功能点

  • 文件系统服务器:
    • 提供读取文件内容的功能。
    • 提供列出目录内容的功能。
  • SQL数据库服务器:
    • 提供执行SQL查询的功能,支持 SELECT、INSERT、UPDATE、DELETE 等操作。
    • 提供列出数据库中所有表的功能。
    • 提供创建SQLite数据库的功能。
    • 提供描述表结构的功能,返回表的字段信息。
  • 基于 MCP 协议: 服务器均基于 'FastMCP' 框架实现,遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
  • 工具化接口: 所有功能均以 “工具 (Tools)” 的形式暴露,方便 LLM 客户端通过标准化的方式调用。
  • 示例完善: 每个服务器都配备了详细的示例代码和单元测试,方便用户理解和使用。

安装步骤

  1. 环境准备: 确保已安装 Python 3.8 或更高版本。建议使用虚拟环境 (venv) 管理项目依赖。

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate (Windows)
  2. 安装依赖: 虽然仓库中没有 'requirements.txt' 文件,但根据代码内容,你可能需要安装 'camel-ai' 和 'fastmcp' 库。如果运行示例代码,还需要安装 'python-dotenv'。

    pip install camel-ai fastmcp python-dotenv

服务器配置

MCP 服务器需要配置后才能被 MCP 客户端(例如 CAMEL-AI 工具包)调用。以下是文件系统服务器和 SQL 数据库服务器的配置示例,你需要将这些配置信息提供给你的 MCP 客户端。

1. 文件系统服务器配置

  • 服务器名称 (server name): 例如 'filesystem_server' (名称可自定义,客户端配置中保持一致即可)
  • 启动命令 (command): Python 解释器路径,通常为 'python3' 或 Python 解释器的完整路径,例如 '/usr/bin/python3' 或 'C:\Python39\python.exe'。
  • 启动参数 (args): 包含服务器脚本路径和传输模式。
    • 服务器脚本路径: 'filesystem_server/filesystem_server_mcp.py' (相对于仓库根目录的路径)
    • 传输模式: 'stdio' (标准输入输出) 或 'sse' (服务器发送事件)。推荐使用 'stdio' 模式。

文件系统服务器 JSON 配置示例:

{
  "server_name": "filesystem_server",
  "command": "python3",
  "args": ["filesystem_server/filesystem_server_mcp.py", "stdio"]
}

2. SQL 数据库服务器配置

  • 服务器名称 (server name): 例如 'sql_server'
  • 启动命令 (command): Python 解释器路径,同文件系统服务器。
  • 启动参数 (args): 包含服务器脚本路径和传输模式。
    • 服务器脚本路径: 'sql_server/sql_server_mcp.py'
    • 传输模式: 'stdio'

SQL 数据库服务器 JSON 配置示例:

{
  "server_name": "sql_server",
  "command": "python3",
  "args": ["sql_server/sql_server_mcp.py", "stdio"]
}

注意:

  • 上述 JSON 配置仅为示例,你需要根据你的实际环境调整 'command' 和脚本路径。
  • 确保 MCP 客户端能够访问到服务器脚本的路径。
  • 传输模式 ('stdio' 或 'sse') 需要与服务器和客户端配置保持一致。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入 'filesystem_server' 或 'sql_server' 目录,然后运行相应的服务器脚本。例如,启动 SQL 数据库服务器 (stdio 模式):

    cd sql_server
    python sql_server_mcp.py stdio

    启动文件系统服务器 (stdio 模式):

    cd filesystem_server
    python filesystem_server_mcp.py stdio

    服务器成功启动后,通常会保持运行状态,等待客户端请求。

  2. 配置 MCP 客户端: 在你的 MCP 客户端 (例如 CAMEL-AI 应用) 中,配置服务器连接信息。你需要提供服务器的名称、启动命令、启动参数等信息,确保客户端能够正确启动并连接到 MCP 服务器。 CAMEL-AI 的 'MCPToolkit' 可以直接使用上述 JSON 配置信息来连接和管理 MCP 服务器。

  3. 使用工具: 在 LLM 应用中,你可以通过 MCP 客户端调用服务器提供的工具。例如,在 CAMEL-AI 中,你可以使用 'MCPToolkit' 获取工具列表,并在对话中使用这些工具来执行文件系统操作或数据库查询。 具体使用方法可以参考仓库中 '*_example_run.py' 文件中的示例代码。

例如,使用 CAMEL-AI 与 SQL Server 交互,你可以参考 'sql_server/sql_example_run.py' 文件,运行该示例,并根据提示与 SQL 助手进行交互,体验通过 MCP 服务器进行数据库查询的功能。 文件系统服务器的使用方法类似,可以参考 'filesystem_server/example_filesystem_server.py' 文件。

信息

分类

数据库与文件