模型上下文协议服务器

MCP Server是一个集中式Node.js服务,用于标准化AI工具集成,提供REST API、安全控制和多服务(如OpenAI、n8n)桥接功能,适用于需要组织化AI工具调用的开发场景。

  • by Camiloruas
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Camiloruas/mcp-server-integration

使用说明

MCP服务器集成

此存储库演示了MCP Server(模型上下文协议)与OpenAI,n8n和其他服务的集成,在Docker环境中运行,具有简洁的代码,真正的架构以及后端和安全最佳实践。

该项目被开发为一个真实的研究环境,模拟使用容器,环境变量,AI备份,超时,重试,基本可观察性和路由保护的生产场景。

项目目标

  • 在 Node.js 上部署集中的 MCP Server
  • 通过 REST 安全地暴露 MCP 工具
  • 将 MCP 与 OpenAI、n8n 和 Evolution API 集成
  • 使用 Docker 和 Docker Compose
  • 应用身份验证和速率限制中间件

什么是MCP服务器

模型上下文协议允许人工智能代理以有组织、可重复使用和脱钩的方式使用外部工具。

MCP Server 充当中间层,负责集中集成、标准化响应以及应用备份、超时和安全规则。

一般 建筑

客户端或人工智能消耗MCP服务器,而MCP服务器则与OpenAI,n8n和外部API进行通信。对关键工具的访问受到 API 密钥验证的保护。

项目结构

使用 Docker

先决条件:

  • 码头工人
  • Docker Compose

提升环境:

docker组成-up-d

要跟踪日志:

docker编写日志-f mcp服务器

安全与中间件

该项目实施中间件以确保应用程序的稳定性和安全性。

身份验证中间件(Auth Middleware)

敏感路由受到保护,需要标头 x-api-key. 验证通过环境变量进行 MCP_API_KEYS.

速率限制

用于防止API滥用的中间件,通过限制特定时间范围内每个IP的请求数量。

可用工具和路线

公共路线

健康检查

得到/

返回 MCP 服务器的状态和当前版本。

拼

GET/工具/ping

简单的连接测试。

受保护的路由 (需要 x-api-key)

与N8N集成

POST/工具/n8n

允许从 MCP 服务器发射 n8n webhooks。

IA工具

POST/工具/ai

  • 与OpenAI集成
  • 自动回退
  • 已配置超时和重试

AI 诊断

GET/工具/人工智能/信息

返回诊断信息而不消耗令牌。

Webhook进化

POST/webhook/进化

接收和处理 Evolution API 事件。

执行 Workflow

POST/工具/工作流/运行

在 n8n 上运行特定的工作流程。

在 n8n 中自动生成工作流

POST/工具/工作流程/生成

在 n8n 中自动创建工作流。

功能:

  • 创建动态工作流
  • 自动定义 webhook
  • 直接发布到n8n
  • 从 webhook 返回 URL

答案示例 :

{
“工具”:“工作流生成”,
“状态”:“正常”,
“工作流ID”:“jb6tL0eKiPLgehPR”,
“webhookUrl”:https://webhook.camiloruas.dev/webhook/auto-ping"
}

运行中的容器

该项目在通过 Portainer 管理的自托管服务器上运行。

图片 :

已使用的域名

  • mcp.camiloruas.dev
  • n8n.camiloruas.dev
  • webhook.amiloraus.dev
  • portainer.camiloruas.dev

外部曝光通过Cloudflare隧道进行。

应用良好实践

  • 精简架构
  • 版本化外的敏感变量
  • 安全中间件(Auth, Rate Limit)
  • 隔离容器
  • IA的退路

作者

卡米洛·鲁阿斯

github: https://github.com/Camiloruas

领英: https://www.linkedin.com/in/camilo-ruas-3a2a6425/

不断发展的项目。