使用说明
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功能
- 其他工具集成
📋 先决条件
- fly.io命令行界面 安装
- GitHub个人访问令牌
- 键入Mind认证令牌(如果使用Context7)
🚀 快速开始
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 有三个主要工具:
- GitHub MCP:处理存储库操作
- 木偶MCP:使用无头Chromium实现浏览器自动化
- 上下文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
🐛 故障排除
常见问题
-
浏览器启动失败
- Xvfb虚拟显示器自动配置
- Chromium在无头模式下运行,并带有适当的标志
-
GitHub身份验证
- 确保
GITHUB_PERSONAL_ACCESS_TOKEN设置正确 - 令牌需要为您的用例提供适当的权限
- 确保
-
健康检查失败
- 健康服务器在单独的端口(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许可证-有关详细信息,请参阅许可证文件
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
📞 支持
- 为bug或功能请求创建问题
- 查看fly.io文档以了解部署问题
- 审查MCP文件以了解协议细节