Integrations
Enables environment-based configuration of API keys and server settings through .env file management
Supports development mode with automatic server reloading when code changes are detected
Provides access to OpenAI models (GPT) and DALL-E image generation through a unified API, supporting chat completions, legacy completions, and tool calling
模型上下文协议 (MCP) 服务器
模型上下文协议的简单服务器实现,为多个 AI 模型提供者提供统一的 API。
特征
- 为多个 AI 提供商(Anthropic、OpenAI)提供统一的 API
- 支持聊天完成和遗留完成
- 工具调用支持
- 上下文/系统消息处理
- 基于环境的配置
- MongoDB 数据库用于持久性和状态管理
- 工具执行历史和分析
安装
安装脚本将指导您配置必要的 API 密钥:
ANTHROPIC_API_KEY
- 适用于 Claude 模型OPENAI_API_KEY
- 用于 GPT 模型和 DALL-E 图像生成STABILITY_API_KEY
- 用于稳定扩散图像生成GOOGLE_CSE_API_KEY
和GOOGLE_CSE_ID
- 用于网络搜索功能BING_SEARCH_API_KEY
- 用于后备网络搜索
如果愿意,您也可以手动编辑.env
文件。
MongoDB 设置
MCP 服务器使用 MongoDB 进行数据持久化。您可以通过多种方式设置 MongoDB:
选项 1:自动设置(推荐)
运行 MongoDB 安装脚本,它将指导您完成整个过程:
该脚本将:
- 检查 Docker 是否可用
- 使用 Docker Compose 启动 MongoDB(如果可用)
- 在 .env 文件中配置连接
- 验证 MongoDB 连接
选项 2:手动 Docker 设置
开始使用 MongoDB 最简单的方法是使用包含的 Docker Compose 配置:
MongoDB 将在mongodb://mcpuser:mcppassword@localhost:27017/mcp-server
可用
Mongo Express(Web 管理员)将在http://localhost:8081上线
选项 3:本地 MongoDB 安装
如果您希望在本地安装 MongoDB:
- 从https://www.mongodb.com/try/download/community安装 MongoDB
- 启动 MongoDB 服务
- 使用以下命令更新您的
.env
文件:Copy
选项 4:MongoDB Atlas(云)
对于生产用途,建议使用 MongoDB Atlas:
- 在https://www.mongodb.com/cloud/atlas创建一个帐户
- 创建新集群
- 设置数据库用户并将您的 IP 地址列入白名单
- 获取连接字符串并更新
.env
文件:Copy
数据库迁移
要将现有数据迁移到 MongoDB:
该脚本将:
- 将工具定义迁移到 MongoDB
- 将配置(如 API 密钥)迁移到 MongoDB
- 导入所有备份数据(如果可用)
用法
启动服务器
服务器将在http://localhost:3000 (或您在 .env 中指定的端口)运行。
启动选项
- 标准启动(
npm start
):- 检查是否配置了 API 密钥
- 如果未找到密钥,则提示设置
- 建议首次使用者
- 开发模式(
npm run dev
):- 使用 nodemon 在代码更改时自动重新加载
- 仍执行环境检查
- 最适合开发
- 快速启动(
npm run quick-start
):- 绕过所有环境检查
- 立即启动服务器
- 当您知道您的配置正确时很有用
- PM2 生产模式(
npm run pm2:start:prod
):- 使用 PM2 进程管理器运行服务器
- 如果服务器崩溃则自动重启
- 针对生产环境进行了优化
- 绕过环境检查
使用 PM2 进程管理器
该服务器可以与 PM2(Node.js 应用程序的生产流程管理器)一起运行。PM2 提供以下功能:
- 进程管理(崩溃时重启)
- 日志管理
- 性能监控
- 负载平衡(针对多个实例)
PM2 命令
PM2 配置存储在ecosystem.config.js
中。您可以修改此文件以进行以下更改:
- 进程名称
- 环境变量
- 内存限制
- 部署配置
- 实例数量(用于负载平衡)
API 端点
POST /mcp/:provider
通过统一的API向AI模型发出请求。
URL 参数:
provider
:要使用的 AI 提供者(anthropic
或openai
)
请求正文:
或(旧格式):
**响应:**返回来自提供商 API 的原始响应。
GET /tools/available
获取包含所有可用工具详细信息的综合列表。
查询参数:
format
- 响应格式:json
(默认)、yaml
、table
或html
category
- 按类别过滤工具(可选)enabled
- 按启用状态过滤:true
(默认)或false
search
- 按名称、描述或标签搜索工具provider
-按提供商过滤工具(例如openai
、google
)limit
- 返回的最大工具数量(用于分页)offset
- 分页偏移量(默认值:0)
响应(JSON格式):
GET /health
如果服务器正在运行,则健康检查端点返回状态 200。
数据管理
数据库备份
您可以创建和管理数据库备份:
测试数据库连接
要验证您的 MongoDB 设置:
示例客户端
命令行客户端
src/client.js
中包含一个测试客户端。运行方法如下:
Web 客户端
服务器运行时,http://localhost:3000处有一个简单的 Web 界面。您可以使用它直接从浏览器测试 API。
可用工具
MCP 服务器提供了一个工具发现端点,允许用户和 AI 代理以编程方式列出所有可用的工具:
工具发现
GET /tools/available
- 列出所有可用工具及其详细信息。
- 支持多种格式:JSON、YAML、HTML 和 ASCII 表
- 提供按类别、提供商和搜索词进行过滤的功能
- 包括每个工具的详细元数据和使用示例
使用示例:
网络搜索工具
该服务器包括内置的网络搜索和检索工具:
- 网页搜索(
/tools/web/search
)- 在网络上搜索有关给定查询的信息
- 参数:
query
(必需)、limit
(可选) - 需要:
GOOGLE_CSE_API_KEY
和GOOGLE_CSE_ID
环境变量 - 如果 Google 搜索失败,则返回
BING_SEARCH_API_KEY
- 网页内容(
/tools/web/content
)- 从特定 URL 检索并提取内容
- 参数:
url
(必需)、useCache
(可选)
- Web 批处理(
/tools/web/batch
)- 并行从多个 URL 检索内容
- 参数:
urls
(必需数组)、useCache
(可选)
图像生成工具
该服务器还包括图像生成、编辑和变化工具:
- 生成图像(
/tools/image/generate
)- 根据文本提示生成图像
- 参数:
prompt
(必填):图片的详细描述provider
(可选):openai
或stability
(默认为openai
)options
(可选):特定于提供商的选项
- 编辑图像(
/tools/image/edit
)- 使用文本提示编辑现有图像
- 参数:
imagePath
(必需):要编辑的图像的路径prompt
(必需):要进行的编辑的描述maskPath
(可选):遮罩图像的路径
- 创建图像变体(
/tools/image/variation
)- 创建现有图像的变体
- 参数:
imagePath
(必需):用于创建变体的图像路径
**注意:**要使用这些工具,您需要在
.env
文件中设置 API 密钥:
- 对于 OpenAI 图像:
OPENAI_API_KEY
- 对于稳定性 AI 图像:
STABILITY_API_KEY
- 对于网络搜索:
GOOGLE_CSE_API_KEY
和GOOGLE_CSE_ID
工具与 AI 模型的集成
MCP 服务器会自动处理 AI 模型的工具调用和执行。当模型决定使用某个工具时,服务器会执行以下操作:
- 使用提供的参数执行请求的工具
- 返回工具对模型的响应
- 然后,模型可以将工具的响应纳入其最终答案中
人工智能模型的工具发现
AI 模型可以使用/tools/available
端点来发现可用的工具以及如何使用它们。这在以下情况下尤其有用:
- 运行时动态工具发现
- 人工智能代理的自我文档
- 使人工智能系统能够适应可用的能力
AI 模型的系统提示示例:
工具使用示例
请参阅/examples
目录中演示工具用法的示例代码。
添加新的提供程序或工具
添加新的AI提供商
要添加新的 AI 提供程序:
- 将提供商的 SDK 添加到项目
- 在
server.js
中创建新的处理函数 - 在主路由处理程序中添加新案例
添加新工具
要向服务器添加新工具:
- 在
/src/tools
目录中创建一个新的工具实现 - 将工具定义添加到
tool-definitions.js
- 更新
server.js
中的工具执行函数 - 添加新的 API 端点以供直接使用工具(如果需要)
执照
国际学习中心
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
统一的API服务器,通过一致的接口实现与Anthropic、OpenAI等多家AI模型提供商的交互,支持聊天补全、工具调用、上下文处理。
Related MCP Servers
- -securityAlicense-qualityThis server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.Last updated -4PythonMIT License
- -security-license-qualityAn open standard server implementation that enables AI assistants to directly access APIs and services through Model Context Protocol, built using Cloudflare Workers for scalability.Last updated -TypeScript
- -securityFlicense-qualityA modern AI service proxy that enables interaction with multiple AI providers (Anthropic Claude, OpenAI) through a unified API, deployed globally using Cloudflare Workers.Last updated -13TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with the Omi API for retrieving and creating conversations and memories for users.Last updated -4TypeScript