此MCP服务器通过三个API提供了对USGS水资源数据的全面访问:
该服务器采用模块化设计,通过单一入口点统一各个API处理器。
usgs-water-mcp/
├── main.py # 统一入口点
├── water_data_api.py # USGS Water Services API工具
├── flood_impact_api.py # 实时洪水影响API工具
├── ogc_api.py # OGC API工具
├── current_water_levels.py # 遗留组合文件(已弃用)
├── Dockerfile # Docker配置
├── pyproject.toml # 项目依赖
└── README.md # 此文件
如果您想要一个干净的Web界面来利用这些工具,请访问 https://aqua-node.onrender.com/landing 并帮助我进行一些测试!
以下是从Potomac河获取流速数据的示例:
{
"name": "USGS:01646500:00060:00000",
"sourceInfo": {
"siteName": "POTOMAC RIVER NEAR WASHINGTON, DC",
"siteCode": [
{
"value": "01646500",
"network": "NWIS",
"agencyCode": "USGS"
}
]
},
"variable": {
"variableCode": [
{
"value": "00060",
"network": "NWIS",
"vocabulary": "NWIS:UnitValues",
"variableName": "Streamflow, ft³/s",
"variableDescription": "流量,每秒立方英尺"
}
]
},
"values": [
{
"value": [
{
"value": "6420",
"qualifiers": ["A"],
"dateTime": "2023-10-01T12:00:00.000"
}
]
}
]
}
pip install -e .
pip install httpx mcp
编辑您的Claude Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json添加服务器配置:
{
"mcpServers": {
"usgs-water": {
"command": "python",
"args": ["/path/to/usgs-water-mcp/main.py"]
}
}
}
重启Claude Desktop
从USGS监测站获取即时水文数据。
参数:
sites(必需):逗号分隔的站点编号(例如:"01646500"或"01646500,01647000")parameter_codes(可选):逗号分隔的参数代码(例如:"00060,00065")start_date(可选):ISO格式的开始日期(YYYY-MM-DD或YYYY-MM-DDTHH:MM)end_date(可选):ISO格式的结束日期period(可选):周期代码(例如:"P7D"表示7天)常见参数代码:
00060:流量(流速)00065:水位00010:水温00300:溶解氧00400:pH值示例用法:
获取华盛顿特区附近Potomac河的当前流速:
sites: "01646500"
parameter_codes: "00060"
获取当前洪水参考点(每30分钟更新一次)。
获取分页的参考点列表。
参数:
page(可选):页码(默认:1)limit(可选):每页结果数量(默认:100)根据ID获取特定参考点。
参数:
reference_point_id(必需):参考点ID获取特定州的参考点。
参数:
state_id(必需):州ID(例如:"CA","TX")根据USGS水尺ID获取参考点。
参数:
nwis_id(必需):USGS国家水资源信息系统站点ID根据国家气象局ID获取参考点。
参数:
nws_id(必需):国家气象局地点ID获取非活跃参考点。
获取州列表。
根据ID获取特定州的信息。
参数:
state_id(必需):州ID(例如:"CA","TX")获取县列表。
获取特定州的县。
参数:
state_id(必需):州ID(例如:"CA","TX")获取NWS/USGS交叉数据。
获取监测位置,具有广泛的过滤选项。
参数:
bbox(可选):边界框作为"minx,miny,maxx,maxy"limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)agency_code(可选):按机构代码过滤(例如:"USGS")state_code(可选):按州代码过滤(例如:"CA")county_code(可选):按县代码过滤site_type_code(可选):按站点类型代码过滤monitoring_location_number(可选):特定监测位置编号根据ID获取特定监测位置。
参数:
location_id(必需):监测位置ID获取机构识别代码。
参数:
limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)获取垂直基准面信息(推荐:NAVD88)。
参数:
limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)获取含水层识别信息。
参数:
limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)获取含水层类型信息(承压与非承压)。
参数:
limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)获取经纬度值的坐标精度代码。
参数:
limit(可选):最大结果数(默认:100)offset(可选):分页起始偏移量(默认:0)使用 USGS国家水资源数据 网站查找您感兴趣的区域内的监测站站点编号。