项目简介
该仓库包含一个通用、模块化的 MCP 服务器实现。它旨在提供一个标准化的框架,用于控制和与各种 AI 模型交互,并允许通过模块扩展功能,如集成外部工具和提供资源。
主要功能点
- 模块化架构: 支持动态加载模块,轻松扩展服务器功能。
- AI模型管理: 提供激活、停用、列出模型及执行推理(包括流式推理)的核心能力。
- 多提供商集成: 内置支持 OpenAI (GPT, Whisper)、Stability AI (Stable Diffusion)、Anthropic (Claude) 和 Hugging Face 等模型提供商。
- 工具与资源: 模块可以注册新的工具和管理资源,供 AI 模型调用或访问。
- 标准化API: 通过 HTTP/RESTful 接口暴露核心功能和模块功能。
- 配置灵活: 支持通过环境变量进行配置。
- 容器化支持: 提供 Docker 配置,方便部署。
安装步骤
- 安装前提: 确保您的系统已安装 Node.js (版本 18 或更高) 和 pnpm (版本 10 或更高)。
- 克隆仓库:
git clone https://github.com/profullstack/mcp-server.git cd mcp-server - 安装依赖:
pnpm install - 配置: 复制示例环境文件并编辑,填入您需要使用的模型提供商的 API 密钥。
至少需要填写您想使用的模型提供商的 API 密钥,例如:cp sample.env .env # 编辑 .env 文件,例如使用 nano 编辑器 nano .envOPENAI_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 端口进行通信。
基本使用方法
- 启动服务器: 在项目根目录运行以下命令启动服务器:
服务器默认将在 'http://localhost:3000' 启动。pnpm start - 使用 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
- 获取服务器信息:
信息
分类
AI与计算