使用说明

项目简介

本项目提供了一系列简单的 Model Context Protocol (MCP) 服务器示例,旨在演示 MCP 协议的核心功能,例如资源管理、Prompt 管理和工具执行。它包含了基于 SSE 和 Stdio 两种传输协议的服务器实现,并提供了网站内容抓取、SQLite 数据库管理和内存知识图谱管理等多种应用场景的示例服务器。

主要功能点

  • 资源管理: 服务器可以托管和管理各种资源,例如文本备忘录或知识图谱,并允许客户端通过 URI 访问这些资源。
  • 工具注册与执行: 服务器可以注册各种工具(函数),例如网页抓取、数据库查询或知识图谱操作,并允许 LLM 客户端调用这些工具来扩展其能力。
  • Prompt 模板: 服务器支持定义和提供 Prompt 模板,客户端可以获取并使用这些模板来与 LLM 进行结构化交互。
  • 多种传输协议: 支持 SSE (Server-Sent Events) 和 Stdio (标准输入输出) 两种传输协议,方便在不同环境中使用。
  • 示例服务器: 提供了多个示例服务器,包括:
    • 网页内容抓取服务器 (mcp_server.py)
    • SQLite 数据库管理服务器 (mcp_server_sqlite.py)
    • 内存知识图谱管理服务器 (mcp_server_memory.py)

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'mcp_simple_example' 克隆到本地。
  2. 进入仓库目录: 在终端中进入克隆下来的仓库目录。
  3. 创建并激活虚拟环境: 运行 'python init_env.py' 创建虚拟环境并安装依赖。根据提示激活虚拟环境。
    • Windows: '.venv\Scripts\activate'
    • Linux/macOS: 'source .venv/bin/activate'

服务器配置

MCP 服务器需要配置启动命令和参数,以便 MCP 客户端连接。以下是针对不同示例服务器的配置信息(JSON 格式):

  • 网页内容抓取服务器 (mcp_server.py):

    {
      "server name": "mcp-website-fetcher",
      "command": "python",
      "args": ["mcp_server.py", "--transport", "sse", "--port", "8000"]
    }

    注释:启动 'mcp_server.py' 脚本,使用 SSE 传输协议,监听 8000 端口。

  • SQLite 数据库管理服务器 (mcp_server_sqlite.py):

    {
      "server name": "sqlite-manager",
      "command": "python",
      "args": ["mcp_server_sqlite.py", "--transport", "sse", "--port", "8000"]
    }

    注释:启动 'mcp_server_sqlite.py' 脚本,使用 SSE 传输协议,监听 8000 端口。

  • 内存知识图谱管理服务器 (mcp_server_memory.py):

    {
      "server name": "memory-manager",
      "command": "python",
      "args": ["mcp_server_memory.py", "--transport", "sse", "--port", "8000"]
    }

    注释:启动 'mcp_server_memory.py' 脚本,使用 SSE 传输协议,监听 8000 端口。

注意: MCP 客户端需要根据你选择的服务器类型和配置,填写相应的 'server name'、'command' 和 'args' 来建立连接。端口号和传输协议 ('--transport') 需要与服务器启动时保持一致。

基本使用方法

  1. 启动服务器: 选择一个服务器脚本 (例如 'mcp_server.py'),在激活的虚拟环境中,根据 'README.md' 或配置信息运行相应的命令启动服务器。例如,对于 'mcp_server.py' 使用 SSE 传输,可以运行 'python mcp_server.py --transport sse --port 8000'。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置服务器连接信息,包括 'server name'、'command' 和 'args',确保与启动的服务器配置一致。
  3. 连接并交互: 客户端连接到服务器后,可以列出可用的资源、Prompt 和工具,并调用工具来执行特定操作。例如,可以使用 'test.js' 脚本或者集成 MCP 协议的 LLM 客户端进行测试和交互。

信息

分类

AI与计算