紧急观测请求API服务器

Sentinel Asia紧急观测请求(EOR)API的MCP服务器实现,提供灾害事件信息获取、国别数据查询等功能,适用于灾害监测与响应场景。

  • by shirokawakita
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 shirokawakita/sentinel-asia-emergency-observation-request-mcp-server---fastmcp-fastapi

使用说明

Sentinel Asia EOR MCP服务器

Sentinel Asia紧急观测请求(EOR)API的MCP服务器实施

概要

此项目包括:Sentinel Asia的,之EOR(Emergency Observation Request)API打开Model Context Protocol (MCP)作为服务器提供。Render.com中所述修改相应参数的值Claude桌面应用程序Claude Code、其他MCP可以从客户端获取灾难信息。

部署的服务器

  • 服务器URL: https://sentinel-asia-emergency-observation.onrender.com
  • SSE端点: https://sentinel-asia-emergency-observation.onrender.com/sse

设置方法

方法1:通过代理服务器(推荐Claude桌面应用程序)

Claude桌面应用程序HTTP/SSE使用本地代理服务器,因为不直接支持传输。

  1. 安装所需的软件包:

    pip3 install fastmcp httpx pydantic
    
  2. Claude编辑配置文件:

    • Linux: ~/.config/Claude/claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%/Claude/claude_desktop_config.json

    添加以下设置:

    {
      "mcpServers": {
        "sentinel-asia-eor": {
          "command": "python3",
          "args": [
            "/path/to/mcp_proxy_server.py"
          ],
          "env": {}
        }
      }
    }
    
  3. Claude重新启动桌面应用程序

方法2: Claude Code経由

Claude Code表示SSE支持传输:

claude mcp add --transport sse sentinel-asia-eor https://sentinel-asia-emergency-observation.onrender.com/sse

方法3:其他MCP通过客户端

Cursor、VS Code扩展LibreChat等其他MCP在客户端上HTTP/SSE可以直接使用端点:

  • https://sentinel-asia-emergency-observation.onrender.com/sse

可用工具

1.获取_个国家

获取可用国家/地区列表

2.获取元数据

获取服务元数据(说明、许可证和方法)

3.获取事件

获取灾难事件信息

  • countryiso3s:国家/地区代码(逗号分隔,例如:JPN,PHL,CHN)
  • start_date:开始日(YYYYMMDD形式)
  • end_date:终了日(YYYYMMDD形式)

4.获取产品

指定的EOR交付件信息

  • url: EOR单击功能区上URL

使用例

> 日本の最近の災害イベントを取得してください

> フィリピンと中国の2024年の災害情報を比較してください  

> 利用可能な国のリストを表示してください

Render中的部署

这个项目Render.com对较大场景进行渲染期间已观察到该故障。

部署中包含的文件

  • render_server.py: Render的主服务器文件
  • requirements.txt: Python依存关系
  • Procfile:流程定义
  • start.sh:启动脚本(可选)
  • runtime.txt: Python版本化

Render中的设置

  1. GitHub打开存储库Render连接
  2. 使用以下设置:
    • 生成命令: pip install -r requirements.txt
    • 启动命令: python render_server.py
    • 环境:Python 3

API仕様

这个MCP服务器具有以下结构:

  • MCP服务器: https://sentinel-asia-emergency-observation.onrender.com
    • /sse: SSE MCP连接端点(Claude Code等用)
    • /health:健康检查
  • 数据源API: https://reder-test-o5k8.onrender.com
    • /get_countries:国家/地区列表
    • /get_metadata:元数据
    • /get_events:事件信息
    • /get_products:成果物情报

故障排除

常见问题

  1. “没有名为'fastmcp'的模块”エラー:

    pip3 install fastmcp httpx pydantic
    
  2. 连接错误:

    • Render确定服务器是否正在运行
    • 检查互联网连接
  3. Claude缺少工具:

    • Claude重新启动桌面应用程序
    • 确认配置文件的路径是否正确

调试

检查代理服务器日志:

python3 mcp_proxy_server.py

许可证

MIT许可证

🚀 主要功能

  • 灾难事件搜索:按国家/日期获取灾难事件信息
  • 国家/地区列表检索:亚太地区对应国一览
  • 元数据检索:服务信息许可注意事项
  • 成果物取得: EOR从详细信息页面获取相关交付件信息

🛠️ MCP工具列表

get_countries()

  • 亚洲、中东、太平洋各国的国名ISO3获取代码列表

get_metadata()

  • 获取服务说明、许可证、方法和注意事项

get_events(countryiso3s?, start_date?, end_date?)

  • 获取灾难事件信息
  • 参数:
    • countryiso3s:逗号分隔的ISO3国家代码(例如:JPN,PHL,CHN)
    • start_date:开始日期(YYYYMMDD或YYYY-MM-DD 格式)
    • end_date:结束日期(YYYYMMDD或YYYY-MM-DD 格式)

get_products(url)

  • 指定的EOR从详细信息页面获取交付件信息
  • 参数:
    • url: EOR单击功能区上URL

🌐 Render中的部署

部署设置

构建命令:

pip install -r requirements_mcp.txt

启动命令:

python mcp_server_sse.py

环境变数

  • PORT: Render自动设定(通常10000)

🔧 Claude Desktop在中使用

claude_desktop_config.json添加:

{
  "mcpServers": {
    "sentinel-asia-eor": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch", "https://your-app.onrender.com/sse"],
      "env": {}
    }
  }
}

📚 使用例

搜索日本2024年灾害活动

get_events(countryiso3s="JPN", start_date="20240101", end_date="20241231")

搜索菲律宾最近的灾难事件

get_events(countryiso3s="PHL", start_date="20241201")

获取可用国家/地区列表

get_countries()

🔗 相关链接

📄 许可证

这个项目MIT在许可证下公开。

🙏 谢辞

这个项目亚洲哨兵的,之API中所述修改相应参数的值。感谢您提供灾害监视和应对的宝贵数据。