人道主义数据交换(HDX)MCP服务器
Example of using HDX MCP server used in Claude Desktop
模型上下文协议(MCP)服务器,为AI助手提供对 人道主义数据交换(HDX)API这提供了托管在 人道主义数据交换.
该服务器可以安装在Claude Desktop等AI平台上,也可以作为远程MCP服务器运行,供任何AI访问。
可用工具
🔍 元数据和发现(12个工具)
metadata_location_get-在HDX中获取国家/地区metadata_admin1_get-获取州/省metadata_admin2_get-获取地区/县metadata_data_availability_get- 检查数据覆盖率 (先用!)metadata_dataset_get-获取数据集信息metadata_resource_get-获取资源详细信息metadata_org_get-获取组织metadata_sector_get-获得人道主义部门metadata_currency_get-获取货币信息metadata_org_type_get-获取组织类型metadata_wfp_commodity_get-获取世界粮食计划署商品metadata_wfp_market_get-获取WFP市场
🚨 受影响人员(4个工具)
affected_people_refugees_get-获取难民/受关注人员数据affected_people_humanitarian_needs_get-获取人道主义需求数据affected_people_idps_get-获取境内流离失所者数据affected_people_returnees_get-获取返回者数据
🌍 人口与地理(1个工具)
geography_infrastructure_baseline_population_get-获取人口数据
🌦️ 气候(1个工具)
climate_rainfall_get-获取降雨数据
🤝 协调与背景(4个工具)
coordination_context_operational_presence_get-获得运营影响力coordination_context_funding_get-获取资金数据coordination_context_conflict_events_get-获取冲突事件coordination_context_national_risk_get-获取国家风险数据
🍽️ 粮食安全与贫困(3个工具)
food_security_nutrition_poverty_food_security_get-获取粮食安全数据food_security_nutrition_poverty_food_prices_get-获取食品价格food_security_nutrition_poverty_poverty_rate_get-获取贫困率
🔧 实用程序(1个工具)
util_version_get-获取API版本
🎯 自定义HDX工具(3个工具)
hdx_server_info-获取服务器信息hdx_get_dataset_info-获取详细的数据集信息hdx_search_locations-搜索地点
注意事项
HDX API提供了非常丰富的人道主义数据来源,但它很复杂。如表所示,按地区分列的数据覆盖率因国家而异 这里这不是技术限制,而是由于人道主义组织收集数据的工作具有挑战性。然而,这确实带来了一些限制,例如,阿富汗的冲突事件仅在省和地区一级可用,而不是在国家一级。因此,不应支持关于国家一级总计数的问题,因为这将需要收集大量分类数据并汇总到国家一级,既令人望而却步,又容易出错。
MCP服务器提供了帮助LLM识别和通知用户的提示,但与任何LLM应用程序一样,需要进行评估测试和持续监控。
快速入门(使用Docker MCP工具)
获取免费的HDX API“应用程序标识符”代码。..
- 转到 api页面
- 在“encode_app_identifier”端点上,单击“试用”
- 为您的流程和电子邮件输入应用程序名称
- 点击“执行”
- 记下显示的应用程序标识符代码
然后使用Docker MCP Hub和MCP Toolkit(推荐)进行安装。..
- 安装 4.43或以上,开始
- 在“设置”>“测试版功能”下激活“MCP工具”
- 在“MCP工具”下搜索“HDX”并添加服务器
- 当系统提示时,从上方输入您的应用程序标识符
您现在可以使用各种客户端,如Claude Desktop(请参阅Docker中的“客户端”部分)。使用Claude Desktop进行安装。..
- 安装 克劳德桌面
- 在Docker的“MCP工具包”中选择“客户端”,然后单击Claude旁边的“连接”
- 重新启动Claude桌面
- 点击聊天输入框上的小滑块图标“搜索和工具”
- 打开“MCP_DOCKER”
试着问“马里的HDX人口是多少?'.
使用HDX MCP服务器的其他方法
UV运行远程服务器
- 安装UV(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh - 克隆此仓库:
git clone https://github.com/dividor/hdx-mcp.git cd hdx-mcpuv sync --all-extras --devcp env.example .env- 然后编辑您的
.env并设置HDX_APP_IDENTIFIER到上面创建的应用程序标识符 - 运行服务器:
uv run hdx-mcp-server --transport http --host 0.0.0.0 --port 8000 --verbose
Docker运行远程服务器
# Build the Docker image
docker build -t hdx-mcp-server .
# Run with stdio transport (for MCP clients)
docker run --rm -i --env-file .env hdx-mcp-server
# Run with HTTP transport
docker run --rm -p 8000:8000 --env-file .env hdx-mcp-server --transport http --host 0.0.0.0
使用Inspector测试服务器
- 安装MCP检查器
- 将传输类型(左上角)设置为:流式HTTP
- 输入URL:
http://127.0.0.1:8000/mcp - 单击连接
- 点击工具或提示,使用获取和提交按钮尝试服务器
克劳德桌面中的HDX MCP服务器
与Claude Desktop一起使用的最简单方法是如上所述使用DOcker MCP Tools。您还可以按如下方式安装。..
- 完成上述基本设置 -确保服务器能够正常工作
uv run hdx-mcp-server
- 获取项目的绝对路径:
cd /path/to/your/hdx-mcp
pwd # Copy this path- 配置Claude桌面:
打开Claude Desktop设置并添加到MCP服务器配置中:
选项A:使用Docker(推荐)
{
"hdx-humanitarian-data": {
"command": "docker",
"args": ["run", "--rm", "-i", "--env-file", "/absolute/path/to/your/hdx-mcp2/.env", "hdx-mcp-server"]
}
}选项B:使用UV
{
"hdx-humanitarian-data": {
"command": "uv",
"args": ["run", "hdx-mcp-server"],
"cwd": "/absolute/path/to/your/hdx-mcp"
}
}替换 /absolute/path/to/your/hdx-mcp 从步骤2开始的实际路径。
- 确保您的
.env文件已配置 使用您的HDX应用程序标识符:
HDX_APP_IDENTIFIER=your_hdx_app_identifier_here
HDX_BASE_URL=https://hapi.humdata.org- 重新启动克劳德桌面 加载新的MCP服务器
配置后,您应该会看到HDX服务器出现在Claude的MCP服务器列表中。
配置
环境变量
服务器是通过环境变量配置的。复制 env.example 向 .env 并自定义:
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
HDX_APP_IDENTIFIER | 是 | - | 您的HDX应用程序标识符 |
HDX_BASE_URL | 没有 | https://hapi.humdata.org/api/v2 | HDX API基础URL |
HDX_OPENAPI_URL | 没有 | https://hapi.humdata.org/openapi.json | OpenAPI规范URL |
HDX_TIMEOUT | 没有 | 30.0 | HTTP请求超时(秒) |
HDX_APP_NAME | 没有 | hdx-mcp-server | HDX的应用程序名称 |
HDX_APP_EMAIL | 没有 | assistant@example.com | HDX API用户的联系电子邮件 |
MCP_HOST | 没有 | localhost | HTTP传输主机 |
MCP_PORT | 没有 | 8000 | HTTP传输端口 |
完整配置示例
看 env.example 查看带有详细注释的完整配置模板:
# View the configuration template
cat env.example
# Copy and edit for your environment
cp env.example .env
nano .env排除的端点
服务器会自动排除以下终结点:
/api/v2/encode_app_identifier-用于生成应用标识符的内部实用程序
日志记录
启用详细日志记录以进行调试:
uv run hdx-mcp-server --verbose这将显示以下详细信息:
- 服务器初始化
- OpenAPI规范加载
- 工具注册
- HTTP请求和响应
- 错误详细信息
贡献
看 贡献.md 详细的开发指南、测试说明和贡献工作流程。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
相关资源
支持
关于以下问题:
- 此MCP服务器:打开一个 问题 在此存储库中
- API HDX公司:咨询 HDX HAPI文档
- MCP协议:参见 MCP规范
- FastMCP库:检查 FastMCP文档
问题与反馈
- 问题与建议:请提出 问题 对于任何错误、功能请求或建议
- 安全问题:有关安全方面的问题,请提出问题,私下联系
______________________________________________________________________
备注:此服务器需要有效的HDX API应用程序标识符。使用此服务器时,请确保遵守HDX的服务条款和速率限制准则。
