使用说明

项目简介

MCP AI Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLM)应用提供统一的上下文服务框架。它集成了多种实用工具和服务,包括:

  • OpenAI 服务集成: 支持 OpenAI 和 Azure OpenAI 的文本生成模型,为LLM应用提供强大的内容生成能力。
  • Git 仓库分析: 提供对 Git 仓库的分析功能,例如代码库分析、代码搜索和差异分析,帮助LLM理解代码上下文。
  • 文件系统访问: 允许LLM安全地访问和操作本地文件系统,实现数据读取、写入和编辑等功能。
  • Prometheus 监控集成: 集成 Prometheus 指标监控系统,提供实时的性能指标查询和告警功能。

主要功能点

  • 资源管理: 托管和管理各种外部资源,例如 Git 仓库和本地文件系统。
  • 工具注册与执行: 注册并执行外部工具,如 OpenAI 模型和系统操作,供LLM客户端调用。
  • Prompt 模板渲染: 定义和渲染 Prompt 模板,支持定制化的LLM交互模式。
  • JSON-RPC 协议: 通过标准化的 JSON-RPC 协议与客户端通信。
  • 多种传输协议支持: 支持 Stdio, SSE, WebSocket 等多种传输协议(仓库文档主要体现了HTTP)。
  • 会话管理与能力声明: 服务器端负责会话管理和能力声明。

安装步骤

  1. 克隆仓库

    git clone https://github.com/dvladimirov/MCP
    cd MCP
  2. 安装依赖

    pip install -r requirements.txt

服务器配置

MCP 服务器需要以下环境变量进行配置,请根据您的需求设置:

  • OpenAI API 密钥 (二选一):

    • 标准 OpenAI API 密钥:
      export OPENAI_API_KEY="your-openai-api-key"
      # 可选,指定模型名称
      export OPENAI_CHAT_MODEL="gpt-4o-mini"
      export OPENAI_COMPLETION_MODEL="gpt-3.5-turbo-instruct"
    • Azure OpenAI 配置:
      export AZURE_OPENAI_ENDPOINT="your-azure-endpoint"
      export AZURE_OPENAI_API_KEY="your-azure-api-key"
      export AZURE_OPENAI_API_VERSION="2023-05-15"
      export AZURE_DEPLOYMENT_NAME="your-deployment-name"
  • Prometheus URL (可选):

    • 如果您需要使用 Prometheus 集成功能,请设置 Prometheus 服务器的 URL。
      export PROMETHEUS_URL="http://localhost:9090"

MCP 客户端配置示例

以下 JSON 配置信息可用于 MCP 客户端连接到此服务器。请注意,实际客户端配置可能需要根据具体客户端软件进行调整。

{
  "serverName": "MCP-Server",
  "command": "python",
  "args": [
    "scripts/start_mcp_server.py",
    "--host",
    "0.0.0.0",
    "--port",
    "8000"
  ],
  "description": "MCP AI Server 实现,集成了 OpenAI, Git, Filesystem 和 Prometheus 功能",
  "baseUrl": "http://localhost:8000"
}

配置参数说明:

  • 'serverName': 服务器名称,客户端用于标识连接。
  • 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
  • 'args': 启动命令的参数,包括启动脚本路径 'scripts/start_mcp_server.py',以及指定监听地址 '--host 0.0.0.0' 和端口 '--port 8000'。 '0.0.0.0' 允许服务器监听所有网络接口,'8000' 为默认端口。
  • 'description': 服务器的详细描述,方便客户端用户了解服务器功能。
  • 'baseUrl': MCP 服务器的根 URL,客户端通过此 URL 与服务器建立连接。

基本使用方法

  1. 启动 MCP 服务器

    python scripts/start_mcp_server.py

    或者使用更多选项:

    python scripts/start_mcp_server.py --host 0.0.0.0 --port 8000 --debug

    服务器默认将在 'http://localhost:8000' 运行。

  2. 使用测试工具

    仓库提供了 'mcp_run' 脚本和 'scripts/test_mcp_client.py' 等测试脚本,可以用于测试服务器的各项功能。

    ./mcp_run  # 运行统一测试工具
    python scripts/test_mcp_client.py # 运行 OpenAI 集成测试
    python scripts/test_git_integration.py <git_仓库_URL> # 运行 Git 集成测试
    python scripts/test_filesystem.py # 运行文件系统功能测试
    python scripts/test_prometheus.py # 运行 Prometheus 集成测试
  3. 客户端集成

    仓库提供了一个 Langflow 组件示例 'components/custom/tools/mcp_component.py',展示了如何在 Langflow 中集成 MCP 服务器。您可以参考该组件,开发适用于其他 LLM 客户端的 MCP 组件。

信息

分类

AI与计算