项目简介

该仓库包含一个通用、模块化的 MCP 服务器实现。它旨在提供一个标准化的框架,用于控制和与各种 AI 模型交互,并允许通过模块扩展功能,如集成外部工具和提供资源。

主要功能点

  • 模块化架构: 支持动态加载模块,轻松扩展服务器功能。
  • AI模型管理: 提供激活、停用、列出模型及执行推理(包括流式推理)的核心能力。
  • 多提供商集成: 内置支持 OpenAI (GPT, Whisper)、Stability AI (Stable Diffusion)、Anthropic (Claude) 和 Hugging Face 等模型提供商。
  • 工具与资源: 模块可以注册新的工具和管理资源,供 AI 模型调用或访问。
  • 标准化API: 通过 HTTP/RESTful 接口暴露核心功能和模块功能。
  • 配置灵活: 支持通过环境变量进行配置。
  • 容器化支持: 提供 Docker 配置,方便部署。

安装步骤

  1. 安装前提: 确保您的系统已安装 Node.js (版本 18 或更高) 和 pnpm (版本 10 或更高)。
  2. 克隆仓库:
    git clone https://github.com/profullstack/mcp-server.git
    cd mcp-server
  3. 安装依赖:
    pnpm install
  4. 配置: 复制示例环境文件并编辑,填入您需要使用的模型提供商的 API 密钥。
    cp sample.env .env
    # 编辑 .env 文件,例如使用 nano 编辑器
    nano .env
    至少需要填写您想使用的模型提供商的 API 密钥,例如:
    OPENAI_API_KEY=您的OpenAI_API_密钥
    STABILITY_API_KEY=您的StabilityAI_API_密钥
    ANTHROPIC_API_KEY=您的Anthropic_API_密钥
    HUGGINGFACE_API_KEY=您的HuggingFace_API_密钥

服务器配置 (供MCP客户端连接)

一个 MCP 客户端需要知道如何启动和连接到服务器。对于这个服务器实现,它会启动一个 HTTP 服务。典型的 MCP 客户端可能会通过 Stdio 启动服务器进程,并期望服务器在已知或协商的端口上提供服务,或通过其他机制进行通信(如环境变量传递端口)。基于此仓库的启动方式 'pnpm start',一个可能的 MCP 客户端配置(通常是一个 JSON 文件)如下:

{
  "server name": "本地MCP服务器",
  "command": ["pnpm"],
  "args": ["start"],
  "cwd": "/path/to/mcp-server/repository",
  "comment": "请将 'cwd' 路径替换为您的 mcp-server 仓库的实际路径。此配置指示MCP客户端使用pnpm命令启动位于指定目录的服务器。服务器启动后,默认将在 http://localhost:3000 提供HTTP服务。请确保您已按照上述安装步骤准备好服务器环境。"
}

请注意:具体的客户端配置格式和通信机制取决于您的 MCP 客户端实现。此服务器通过 HTTP 端口进行通信。

基本使用方法

  1. 启动服务器: 在项目根目录运行以下命令启动服务器:
    pnpm start
    服务器默认将在 'http://localhost:3000' 启动。
  2. 使用 HTTP 客户端交互: 您可以使用 'curl' 或其他 HTTP 客户端与服务器交互。例如:
    • 获取服务器信息:
      curl http://localhost:3000/
    • 列出可用模型:
      curl http://localhost:3000/models
    • 激活某个模型 (例如 gpt-4):
      curl -X POST http://localhost:3000/model/gpt-4/activate \
        -H "Content-Type: application/json" \
        -d '{"config": {"temperature": 0.7}}'
    • 使用当前激活的模型进行推理:
      curl -X POST http://localhost:3000/model/infer \
        -H "Content-Type: application/json" \
        -d '{"prompt": "请用中文介绍一下自己。"}'
    • 列出已安装模块:
      curl http://localhost:3000/modules
    • 列出可用工具 (由模块提供):
      curl http://localhost:3000/tools
    参考 README 中的 "Standard MCP Methods" 和 "Inference Examples" 部分获取更多示例。

信息

分类

AI与计算