MCP服务器部署

一个生产就绪的MCP(模型上下文协议)服务器部署,集成了GitHub、Puppeteer和Context7工具,优化了fly.io托管。

  • by kaunghtut24
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 kaunghtut24/mcp-server

使用说明

MCP服务器部署

具有GitHub、Puppeteer和Context7工具的生产就绪MCP(模型上下文协议)服务器部署,针对fly.io托管进行了优化。

🚀 特性

  • GitHub MCP服务器:存储库操作、问题管理和代码分析
  • 木偶MCP服务器:网络抓取、屏幕截图和浏览器自动化
  • Context7 MCP服务:附加MCP功能和工具
  • 健康监测:内置健康检查和监测
  • 生产就绪:针对fly.io部署进行了优化,并进行了适当的错误处理

🛠️ 包含的工具

1.GitHub MCP服务器

  • 存储库浏览和文件操作
  • 问题和公关管理
  • 代码搜索和分析
  • 提交历史记录和差异查看

2.木偶MCP服务器

  • 网页导航和交互
  • 屏幕截图
  • 页面上的JavaScript评估
  • 表单填写和自动化
  • 使用Xvfb进行无头浏览器操作

3.Context7 MCP服务

  • 扩展MCP功能
  • 其他工具集成

📋 先决条件

🚀 快速开始

1.克隆和设置

git clone https://github.com/kaunghtut24/mcp-server.git
cd mcp-server

2.配置机密

# Set your GitHub token
fly secrets set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here

# Set your TypingMind token (optional, for Context7)
fly secrets set TYPINGMIND_AUTH_TOKEN=your_typingmind_token_here

3.部署

fly deploy

4.验证部署

fly status
fly logs

🔧 配置

环境变量

  • GITHUB_PERSONAL_ACCESS_TOKEN:用于API访问的GitHub个人访问令牌
  • TYPINGMIND_AUTH_TOKEN:键入Mind身份验证令牌
  • PORT:服务器端口(默认值:8080)
  • HEALTH_PORT:健康检查端口(默认值:8081)
  • NODE_ENV:环境(生产/开发)

MCP工具配置

服务器通过以下方式配置 mcp-config.json 有三个主要工具:

  1. GitHub MCP:处理存储库操作
  2. 木偶MCP:使用无头Chromium实现浏览器自动化
  3. 上下文7 MCP:外部MCP服务集成

📊 监控

健康检查

  • 健康终点: http://localhost:8081/health
  • 通过fly.io进行自动健康监测
  • 具有重试逻辑的优雅启动

日志记录

# View recent logs
fly logs

# Follow logs in real-time
fly logs -f

# Check specific errors
fly logs | grep -i error

🐛 故障排除

常见问题

  1. 浏览器启动失败

    • Xvfb虚拟显示器自动配置
    • Chromium在无头模式下运行,并带有适当的标志
  2. GitHub身份验证

    • 确保 GITHUB_PERSONAL_ACCESS_TOKEN 设置正确
    • 令牌需要为您的用例提供适当的权限
  3. 健康检查失败

    • 健康服务器在单独的端口(8081)上运行
    • 检查日志以了解启动问题

调试命令

# Check app status
fly status

# SSH into running instance
fly ssh console

# Check environment variables
fly ssh console -C "env | grep -E '(GITHUB|TYPING)'"

📁 项目结构

mcp-server/
├── Dockerfile              # Container configuration
├── fly.toml                # Fly.io deployment config
├── entrypoint.sh           # Startup script
├── health-server.js        # Health check server
├── mcp-config.json         # MCP tools configuration
├── package.json            # Node.js dependencies
└── README.md              # This file

🔒 安全

  • 通过fly.io Secrets管理的秘密
  • 配置文件中没有敏感数据
  • 正确处理环境变量
  • 沙盒浏览器执行

📝 许可证

MIT许可证-有关详细信息,请参阅许可证文件

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

📞 支持

  • 为bug或功能请求创建问题
  • 查看fly.io文档以了解部署问题
  • 审查MCP文件以了解协议细节