模型上下文协议服务器

OpenHands MCP Server是一个扩展OpenHands功能的模型上下文协议服务器,包含运行命令、获取API和模拟音频分析的独立工具。

  • by jufjuf
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jufjuf/openhands-mcp

使用说明

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.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 (壳牌)

模拟在代码库上运行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": []
}

🚀 安装和设置

  1. 克隆存储库:

    git clone https://github.com/jufjuf/openhands-mcp.git
    cd openhands-mcp
    
  2. 使脚本可执行:

    chmod +x run_lint.sh
    
  3. 验证Node.js版本:

    node --version  # Should be 18.0.0 or higher
    
  4. 设置凭据(可选):

    # Copy the template
    cp .env.example .env
    
    # Edit .env with your actual credentials
    nano .env  # or use your preferred editor
    
  5. 测试脚本:

    # 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密钥和凭据

  1. 复制环境模板:

    cp .env.example .env
    
  2. 编辑 .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
    
  3. 使用密码管理器:

    # 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
    
  4. 使用经过身份验证的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>
    • 非常适合自动化脚本
  • credentials.env -您的真实凭据(保密!)

  • .env.example -共享模板

安全说明

  • ✅ .env git会自动忽略文件
  • ✅ 从不将凭据提交到版本控制
  • ✅ 在生产中使用环境变量
  • ✅ 定期旋转API键
  • ✅ 密码在显示时部分隐藏
  • ✅ 安全的凭据加载和管理

💡 OpenHands中的使用示例

  • Use "call_api" to fetch the current Bitcoin price and summarize it
  • Run "shell_ops" to check code quality
  • Transcribe 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.sh

call_api.js网络错误:

  • 该脚本包括网络问题的错误处理
  • 检查您的互联网连接
  • 验证API URL是否可访问
  • 错误消息以JSON格式返回以进行调试

JSON解析错误:

  • 确保输入是有效的JSON格式
  • JSON字符串使用双引号
  • 例子: {"url": "https://example.com"} ✅
  • 不是: {url: 'https://example.com'} ❌

📄 许可证

麻省理工学院许可证©You