关于 OpenHands MCP Server
这是为 OpenHands 扩展能力的 MCP 服务,包含运行命令、请求 API 和模拟音频分析的独立工具。适用于希望在 OpenHands 中调用这些脚本的用户。
主要功能
- 01执行代码检查脚本
- 02请求 API 并返回 JSON
- 03模拟音频转录与摘要
- 04为 API 请求处理错误
适用场景
- 01从 API 获取 JSON 数据
- 02在代码库上运行 lint 检查
- 03通过音频分析工具模拟转录与摘要
MCP 相关
该服务通过 MCP 向 OpenHands 提供运行命令、获取 API 数据和模拟音频分析的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenHands MCP 服务
此代码库包含一个简单的 Model Context Protocol(MCP) 服务,用于扩展 OpenHands 的功能。它包含三个独立工具,可通过 MCP 用于运行命令、获取 API 数据和模拟音频分析。
📋 要求
- Python 3.x(用于
analyze_audio.py) - Node.js 18+(用于
call_api.js,使用内置的 fetch API) - Bash(用于
run_lint.sh)
无需外部依赖——所有脚本均使用内置功能。
📁 包含的脚本
analyze_audio.py(Python)
模拟对音频文件进行转录和摘要。
用法:
echo '{}' | python3 analyze_audio.py
call_api.js(Node.js)
从指定的 API URL 获取 JSON 数据并返回响应。包含全面的错误处理,可应对网络问题、HTTP 错误和 JSON 解析失败。
用法:
echo '{"url": "https://api.coindesk.com/v1/bpi/currentprice.json"}' | node call_api.js
错误处理:
- 返回结构化 JSON 错误消息,便于调试
- 处理网络连接问题
- 验证 HTTP 响应状态码
- 捕获 JSON 解析错误
run_lint.sh(Shell)
模拟对代码库运行 lint 检查。
用法:
./run_lint.sh
🔧 MCP 配置(OpenHands)
在 OpenHands 的 Settings → MCP 下使用以下配置:
{
"stdio_servers": [
{
"name": "analyze_audio",
"command": "python3",
"args": ["analyze_audio.py"]
},
{
"name": "call_api",
"command": "node",
"args": ["call_api.js"]
},
{
"name": "shell_ops",
"command": "bash",
"args": ["run_lint.sh"]
}
],
"sse_servers": []
}
🚀 安装与设置
-
克隆代码库:
git clone https://github.com/jufjuf/openhands-mcp.git cd openhands-mcp -
将脚本设为可执行:
chmod +x run_lint.sh -
验证 Node.js 版本:
node --version # Should be 18.0.0 or higher -
设置凭据(可选):
# Copy the template cp .env.example .env # Edit .env with your actual credentials nano .env # or use your preferred editor -
测试脚本:
# Test Python script echo '{}' | python3 analyze_audio.py # Test Node.js script (basic) echo '{"url": "https://httpbin.org/json"}' | node call_api.js # Test Node.js script with auth echo '{"url": "https://api.example.com", "auth_type": "bearer"}' | node call_api_with_auth.js # Test shell script ./run_lint.sh # Test environment loading python3 load_env.py
🤖 VIV Clinic Facebook 机器人
全新! 为 VIV Clinic 的 Facebook 商业主页提供自动化客服机器人:
功能
- 🔄 自动回复 Facebook Messenger 消息和帖子评论
- 📞 收集客户信息(姓名、电话、咨询主题)
- 📊 保存到 Google Sheets,供工作人员跟进
- 🇮🇱 支持希伯来语,对话流程自然
- 🔗 实时 Webhook,即时响应
快速开始
# Configure credentials first
python3 password_manager.py set facebook_access_token "your_token"
python3 password_manager.py set facebook_page_id "your_page_id"
python3 password_manager.py set google_sheet_id "your_sheet_id"
# Start the bot
python3 start_viv_bot.py
设置指南
请参阅 VIV_BOT_SETUP.md,了解完整的设置说明,包括:
- Facebook App 配置
- Google Sheets 设置
- Webhook 配置
- 测试流程
机器人组件
facebook_bot.py- 核心机器人逻辑和对话处理google_sheets_manager.py- 客户数据管理facebook_webhook.py- 实时 Webhook 服务start_viv_bot.py- 带健康检查的机器人启动器
🔐 凭据管理
设置 API 密钥和凭据
-
复制环境模板:
cp .env.example .env -
在
.env中编辑凭据:# Social Media FACEBOOK_ACCESS_TOKEN=your_actual_token [email protected] EMAIL_PASSWORD=your_email_password # API Keys OPENAI_API_KEY=sk-your_openai_key GOOGLE_API_KEY=your_google_key -
使用密码管理器:
# List all available services python3 password_manager.py list # Show credentials for a service (passwords partially hidden) python3 password_manager.py show facebook # Get specific credentials python3 password_manager.py password google python3 password_manager.py email zapier python3 password_manager.py api twilio # Get login data as JSON python3 auto_login.py facebook -
使用经过身份验证的 API 调用:
# Facebook API with authentication echo '{"url": "https://graph.facebook.com/me", "auth_type": "facebook"}' | node call_api_with_auth.js # Custom API with bearer token echo '{"url": "https://api.example.com/data", "auth_type": "bearer"}' | node call_api_with_auth.js
密码管理工具
此项目包含内置密码管理工具:
-
password_manager.py- 主密码管理器- 列出所有服务:
python3 password_manager.py list - 显示服务信息:
python3 password_manager.py show <service> - 获取指定凭据:
python3 password_manager.py password <service>
- 列出所有服务:
-
auto_login.py- 自动登录助手- 以 JSON 格式获取登录数据:
python3 auto_login.py <service> - 非常适合自动化脚本
- 以 JSON 格式获取登录数据:
-
credentials.env- 你的实际凭据(请妥善保密!) -
.env.example- 用于分享的模板
安全说明
- ✅
.env文件会自动被 git 忽略 - ✅ 切勿将凭据提交到版本控制中
- ✅ 在生产环境中使用环境变量
- ✅ 定期轮换 API 密钥
- ✅ 显示密码时会部分隐藏
- ✅ 安全地加载和管理凭据
💡 OpenHands 使用示例
使用 "call_api" 获取当前比特币价格并进行摘要运行 "shell_ops" 检查代码质量使用 "analyze_audio" 转录播客节目
🔧 故障排除
常见问题
Node.js 版本过低:
# Check version
node --version
# If < 18.0.0, update Node.js
# Visit: https://nodejs.org/
运行 run_lint.sh 时权限被拒绝:
chmod +x run_lint.sh
call_api.js 网络错误:
- 脚本包含网络问题的错误处理
- 检查你的网络连接
- 确认 API URL 可以访问
- 错误消息以 JSON 格式返回,便于调试
JSON 解析错误:
- 确保输入为有效的 JSON 格式
- JSON 字符串请使用双引号
- 示例:
{"url": "https://example.com"}✅ - 错误示例:
{url: 'https://example.com'}❌
📄 许可证
MIT 许可证 © You
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。