工程开发
mcp-rails avatar

mcp-rails

在 Rails 应用中实现完整的模型上下文协议 (MCP)。支持连接外部 MCP 服务器、将 Rails 应用暴露为 MCP 服务器、通过 Docker 管理子进程,以及 OAuth 2.1 PKCE 认证。

简介

mcp-rails 技能包为在 Ruby on Rails 应用中集成模型上下文协议 (MCP) 提供了健壮的架构框架。它专为构建 AI 代理、工具集成应用以及需要与 Claude Desktop、VS Code 或自定义代理环境进行标准化通信的 LLM 服务而设计。该技能抽象化了 JSON-RPC 2.0 通信、传输层处理和身份验证的复杂性,使您的应用能够在 MCP 生态系统中同时充当客户端和服务器。

  • 完整的 MCP 服务器实现,包含工具注册、资源支持和 JSON-RPC 控制器逻辑。

  • 先进的 MCP 客户端,能够通过 HTTP、SSE 流或本地 Docker 子进程连接到远程工具。

  • 原生支持 OAuth 2.1 PKCE 流程,确保与受保护的 MCP 工具和服务进行安全交互。

  • 强大的 Docker 监控器,用于管理子进程 MCP 服务器,具备健康检查、多进程协调和基于数据库的会话管理。

  • 内置传输回退逻辑,根据可用性和环境限制自动在 HTTP 和 SSE 策略之间切换。

  • UI 组件管线,可轻松在工具响应中嵌入视觉元素和交互式组件。

  • 请确保您的环境满足核心要求:Rails 7+、Ruby 3.2+ 和 PostgreSQL,以实现稳健的会话和锁管理。

  • 使用脚手架生成器快速启动客户端配置并建立标准的 JSON-RPC 通信路径。

  • 根据部署延迟需求和网络拓扑选择合适的传输策略(HTTP-first 或 SSE-first)。

  • 使用提供的 Docker 监控器来隔离外部 MCP 工具,这有助于防止资源争用并提高系统可靠性。

  • 对于认证密集型工具,确保数据库安全存储令牌,并确保您的应用能够有效处理 WWW-Authenticate 401 挑战序列。

  • 该技能包含从客户端核心到复杂子进程管理的详细参考资料,确保您可以根据特定的代理工作流或企业级集成需求自定义栈。

仓库统计

Star 数
0
Fork 数
0
Open Issue 数
0
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 23:04
在 GitHub 查看