mcpField
O
OpenHands MCP Server

OpenHands MCP Server

本地服务
github.com/jufjuf开发工具073 周前更新

关于 OpenHands MCP Server

这是为 OpenHands 扩展能力的 MCP 服务,包含运行命令、请求 API 和模拟音频分析的独立工具。适用于希望在 OpenHands 中调用这些脚本的用户。

主要功能

  1. 01执行代码检查脚本
  2. 02请求 API 并返回 JSON
  3. 03模拟音频转录与摘要
  4. 04为 API 请求处理错误

适用场景

  1. 01从 API 获取 JSON 数据
  2. 02在代码库上运行 lint 检查
  3. 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": []
}

🚀 安装与设置

  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 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 密钥和凭据
  1. 复制环境模板:

    cp .env.example .env
    
  2. 在 .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
    
  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 使用示例

  • 使用 "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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。