多客户端AI工具访问网关

MCP Frontdoor是一个支持多客户端通过OAuth认证访问AI工具的服务,提供GitHub操作、文件系统管理和实时流协议支持。

  • by seeinsideme79-bot
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 seeinsideme79-bot/mcp-frontdoor

使用说明

MCP前门

远程MCP(模型上下文协议)服务器-具有OAuth身份验证的多客户端AI工具访问网关。

快速开始

npm install
node index.js

生产部署

# Run as systemd service
sudo systemctl start remote-mcp-server.service
sudo systemctl enable remote-mcp-server.service

# View logs
sudo journalctl -u remote-mcp-server.service -f
tail -f ~/projects/remote-mcp-server/logs/remote-mcp-server-access.log

文档

特性

工具

  • GitHub工具 (10次操作)
    • 存储库管理
    • 问题跟踪
    • 文件操作(读+写)
    • 代码搜索
    • 拉取请求
  • 文件系统工具 (4次操作)
    • 读取/写入文件
    • 目录管理
    • 带安全边界的路径验证

认证

  • PAT(个人访问令牌) -适用于Claude.ai桌面/网络
  • OAuth 2.0与Descope -适用于ChatGPT桌面/网络
    • JWT令牌验证
    • 基于范围的授权
    • 多受众支持

协议

  • MCP(模型上下文协议) -Claude的本地协议
  • REST API -通用HTTP访问
  • SSE(服务器发送事件) -实时流媒体

日志记录

  • 调试模式 -详细的日志记录,包括标头、正文、身份验证详细信息
  • 生产模式 -最少的日志记录(IP、身份验证状态、仅方法)
  • 通过以下方式切换 DEBUG_MODE 环境变量

环境配置

# Server
PORT=9100
NODE_ENV=production

# Authentication
MCP_AUTH_TOKEN=your_pat_token_here
GITHUB_TOKEN=your_github_pat_here

# OAuth (Descope)
OAUTH_RESOURCE=https://mcp.seeinside.me
OAUTH_ALLOWED_ISSUERS=https://api.descope.com/v1/apps/YOUR_PROJECT_ID
OAUTH_ALLOWED_AUDIENCES=https://mcp.seeinside.me,YOUR_PROJECT_ID
OAUTH_AUTHORIZATION_SERVERS=https://api.descope.com/v1/apps/YOUR_PROJECT_ID

# Logging
DEBUG_MODE=false  # Set to true for detailed debug logs

支持的客户

✅ Claude.ai桌面 (通过PAT) ✅ Claude.ai网站 (通过PAT) ✅ ChatGPT桌面 (通过OAuth) ✅ ChatGPT Web (通过OAuth)

需求

  • Node.js 18+
  • Ubuntu 24.04
  • GitHub个人访问令牌
  • 描述OAuth应用程序(用于ChatGPT集成)

安全特性

  • 使用JWKS验证JWT令牌
  • 基于范围的访问控制
  • 文件系统操作的路径遍历保护
  • 环境变量中的安全令牌存储
  • 仅HTTPS通信(通过Nginx反向代理)

最近更新(2026年2月)

  • ✅ 添加了ChatGPT桌面OAuth集成
  • ✅ 修复了用于多客户端支持的OAuth受众验证问题
  • ✅ 实现了受控日志的调试模式
  • ✅ 通过基于范围的授权增强安全性
  • ✅ 改进了错误处理和日志中间件
  • ✅ 添加了GitHub写入操作(update_file、create_or_update_files、create_pull_request)
  • ✅ 使用ChatGPT桌面验证写入操作
  • ✅ 生产部署已完成并测试
  • ✅ 修复了Claude桌面写入超时(Nginx保活30s+节点保活超时25s)
  • ✅ 修复了mcp远程超时问题(通过proxy.js本地安装,npx-y已删除)
  • ✅ 已验证Claude Desktop的读写操作无需重新启动即可正常工作