OpenHands MCP服务器
此存储库包含一个简单的 模型上下文协议(MCP) 服务器扩展功能 开诚布公它包括三个独立的工具,可以通过MCP运行命令、获取API和模拟音频分析。
📋 需求
- Python 3.x (为
analyze_audio.py) - Node.js 18+ (为
call_api.js-使用内置的fetch API) - 猛击 (为
run_lint.sh)
不需要外部依赖 -所有脚本都使用内置功能。
______________________________________________________________________
📁 包含的脚本
analyze_audio.py python
模拟音频文件的转录和摘要。
用途:
echo '{}' | python3 analyze_audio.pycall_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 (壳牌)
模拟在代码库上运行lint检查。
用途:
./run_lint.sh______________________________________________________________________
🔧 MCP配置(OpenHands)
使用以下配置 Settings → MCP 在OpenHands:
{
"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诊所脸书机器人
新 VIV Clinic Facebook商业页面的自动化客户服务机器人:
特性
- 🔄 自动响应 转到Facebook Messenger消息和发表评论
- 📞 收集客户信息 (姓名、电话、咨询主题)
- 📊 保存到Google表格 供工作人员跟进
- 🇮🇱 希伯来语支持 对话流畅
- 🔗 实时网络钩子 用于即时响应
快速开始
# 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应用程序配置
- Google表格设置
- 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_ADDRESS=yufit15@walla.co.il
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 - 获取特定凭据: python3 password_manager.py password
auto_login.py-自动登录助手
- 以JSON格式获取登录数据: python3 auto_login.py - 非常适合自动化脚本
credentials.env-您的真实凭据(保密!)
.env.example-共享模板
安全说明
- ✅
.envgit会自动忽略文件 - ✅ 从不将凭据提交到版本控制
- ✅ 在生产中使用环境变量
- ✅ 定期旋转API键
- ✅ 密码在显示时部分隐藏
- ✅ 安全的凭据加载和管理
______________________________________________________________________
💡 OpenHands中的使用示例
Use "call_api" to fetch the current Bitcoin price and summarize itRun "shell_ops" to check code qualityTranscribe a podcast episode using "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.shcall_api.js网络错误:
- 该脚本包括网络问题的错误处理
- 检查您的互联网连接
- 验证API URL是否可访问
- 错误消息以JSON格式返回以进行调试
JSON解析错误:
- 确保输入是有效的JSON格式
- JSON字符串使用双引号
- 例子:
{"url": "https://example.com"}✅ - 不是:
{url: 'https://example.com'}❌
______________________________________________________________________
📄 许可证
麻省理工学院许可证©You
