MLIT数据平台MCP服务器
⚠️ 重要免责声明 本资源库是国土交通省的官方资源库 mlit-dpf-mcp 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。 没有得到国土交通省的认可和批准。 对于因使用本存储库而产生的任何损失及故障等,制作者不承担责任。
目次
- 目次 - 1. 概要 - 2.主要功能 - 3.动作环境 - 4.安装和安装 - 4.1. Claude Desktop使用方法 - 4.2. Claude Code使用方法 - 5. 使用例 - 5.1.基本搜索 - 5.2.水库地图的制作(样本项目) - 6.故障排除 - 7.目录配置 - 8.许可证 - 9.注意事项
1. 概要
本资源库是国土交通省的官方资源库 mlit-dpf-mcp 的根目录)的包含目录非公式的,之MCP (Model Context Protocol) 服务器。
将国土交通省拥有的数据和民间等数据联合起来,可以集中进行检索、显示、下载国土交通数据平台ー提供利用者向API中所述修改相应参数的值。
本MCP通过使用服务器,与大规模语言模型(LLM)直接协作,以对话形式直观地检索·取得数据的事变得可能。API提供即使没有相关的专业知识,谁都能简单地从国土交通数据平台用暧昧的指示和复杂的条件设定检索·取得数据的,新的数据活用的形式。
⚠️ 本资料库未经国土交通省批准或批准。是个人制作的非正式应用程序。
2.主要功能
国土交通ー利用者向API利用,提供以下功能:
search(根据关键字的指定检索数据。也可以进行排序和件数的指定。)search_by_location_rectangle(检索与指定矩形范围交叉的数据。)search_by_location_point_distance(检索与由指定地点和半径构成的圆形范围交叉的数据。)search_by_attribute(指定目录名、数据集名、都道府县、市区町村等属性来检索数据。)get_data(获取数据的详细信息。)get_data_summary(数据ID和标题等数据的基本信息。)get_data_catalog(获取数据目录和数据集的详细信息。)get_data_catalog_summary(ID获取数据目录和数据集的基本信息,例如标题。)get_file_download_urls(文件下载用URL将条目添加到文档注册表。)get_zipfile_download_url(将多个文件ZIP格式下载URL(有效期:60秒)get_thumbnail_urls(缩略图图像的URL将条目添加到文档注册表。)get_all_data(批量获取符合条件的大量数据。)get_count_data(取得符合条件的数据件数。)get_suggest(检索关键字时的候补。)get_prefecture_data(获取都道府县名称、代码的一览表。)get_municipality_data(获取市区町村名、代码的一览表。)get_mesh(获取指定网格中包含的数据。)normalize_codes(将输入的都道府县名、市区町村名正规化。)
3.动作环境
- OS:Windows 10 / 11 或macOS 13以来
- MCP主机:Claude Desktop等等
- MCP服务器运行环境:Python 3.10+
- 内存:8GB以上建议
- 存储:可用空间1GB以上(包括高速缓存和日志)
4.安装和安装
本MCP服务器克劳德桌面 和 克劳德代码 对较大场景进行渲染期间已观察到该故障。以下说明各自的设定方法。
通用准备程序
无论在哪个环境中,首先都需要进行以下准备。
1. API获取密钥
在国土交通数据平台上创建账号API获取密钥。
详细步骤如下:这边来修改标记元素的显示属性。
2.克隆存储库
git clone https://github.com/MLIT-DATA-PLATFORM/mlit-dpf-mcp.git
cd mlit-dpf-mcp______________________________________________________________________
4.1. Claude Desktop使用方法
Claude Desktop(桌面应用程序)使用时的设定方法。
前提条件
- Claude Desktop安装了应用程序
- Python 3.10已安装以上内容
手顺
1.反想环境を作成&有效化
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS/Linux2.安装从属库
pip install -e .
pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv3.设置环境变量
.env.example复制,然后单击 .env 创建文件:
MLIT_API_KEY=your_api_key_here
MLIT_BASE_URL=https://www.mlit-data.jp/api/v1/your_api_key_here必须在步骤1中获取API来修改标记元素的显示属性。
4. Claude Desktop打开配置文件
- 窗户:
C:\Users\\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop点击应用程序设定画面上的“开发者”菜单上的“编辑设定”按钮
claude_desktop_config.json中所述修改相应参数的值。
5. MCP添加服务器配置
{
"mcpServers": {
"mlit-dpf-mcp": {
"command": "......./mlit-dpf-mcp/.venv/Scripts/python.exe",
"args": [
"....../mlit-dpf-mcp/src/server.py"
],
"env": {
"MLIT_API_KEY": "your_api_key_here",
"MLIT_BASE_URL": "https://www.mlit-data.jp/api/v1/",
"PYTHONUNBUFFERED": "1",
"LOG_LEVEL": "WARNING"
}
}
}
}command和args必须将其更改为实际路径。 your_api_key_here必须在步骤1中获取API来修改标记元素的显示属性。
6. Claude Desktop 重新启动
______________________________________________________________________
4.2. Claude Code使用方法
Claude Code(VS Code扩展)时的设置方法。
前提条件
- Visual Studio Code 已安装
- Claude Code 已安装扩展
- Python 3.10已安装以上内容
uv或pip已安装
手顺
1.转到项目目录
cd mlit-dpf-mcp2.安装从属库
uv(建议):
uv pip install -e .或常规pip使用:
pip install -e .3. MCP创建配置文件
在项目根目录中 .mcp.json 创建文件:
4. MCP描述设置
.mcp.json 中描述了以下内容:
{
"mcpServers": {
"mlit-dpf-mcp": {
"command": "uv",
"args": [
"--directory",
"/絶対パス/mlit-dpf-mcp",
"run",
"python",
"-m",
"src.server"
],
"env": {
"MLIT_API_KEY": "your_api_key_here",
"MLIT_BASE_URL": "https://www.mlit-data.jp/api/v1/"
}
}
}
}重要设置:
"/絶対パス/mlit-dpf-mcp":替换为此存储库的绝对路径
- Linux/macOS例: "/home/username/mlit-dpf-mcp" - 视窗例: "C:/Users/username/mlit-dpf-mcp" (使用斜线)
"your_api_key_here":已获取API请用键替换
注意: .mcp.json 请放置在项目的根目录中(.claude/ 不在目录中)
5. VS Code在中打开项目
code .6. Claude Code启动
VS Code从命令选项板(Ctrl+Shift+P/Cmd+Shift+P)中选择“Claude Code:Start”。
7. MCP检查服务器连接
Claude Code对话框,您可以在此定义自定义格式MCP确保工具可用。单击功能区上🔧)列表框中,此格式对应于条目“无”mcp__mlit-dpf-mcp__对较大场景进行渲染期间已观察到该故障。
故障排除
MCP如果服务器未启动:
.mcp.json的路径是否正确(是否位于项目根目录中)- API确认密钥是否正确设置
- VS Code在“输出面板”中选择“Claude Code”,确认错误日志
如果出现依赖关系错误:
uv pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv______________________________________________________________________
5. 使用例
5.1.基本搜索
MCP如果服务器设置正确Claude Desktop或Claude Code中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
例:关键字检索
「東京都のダムを教えて」Claude自动的MCP使用工具:
- 都道府县名“东京都”正规化,取得代码“13”
- 搜索数据集“水库便览(dhb)”
- 显示相应的水库列表
例:基于位置信息的检索
「東京駅から半径5km以内にある公共施設を検索して」示例:数据可视化
「岐阜県のダムを地図にプロットして」5.2.水库地图的制作(样本项目)
该存储库包括一个样本项目,将东海地区的水库绘制成地图。
包含的文件
plot_tokai_dams.py-生成地图的主脚本tokai_dams.json-东海地区大坝数据(12个样本)tokai_dams_map.html-生成的交互式地图fetch_tokai_dams.py,get_tokai_dams.py-数据检索脚本
実行方法
1.安装所需的库
uv pip install folium或者:
pip install folium2.生成地图
python plot_tokai_dams.py3.在浏览器中打开地图
# Linux/macOS
xdg-open tokai_dams_map.html
# Windows
start tokai_dams_map.html地图的特征
- 每个都道府县的颜色标记
- 🔴 赤:爱知県 - 🔵 青:岐阜県 - 🟢 緑:静冈県 - 🟣 紫:三重県
- 单击标记可查看大坝详细信息
- MarkerCluster功能显示
- 交互式缩放平移操作
自定义
在取得全部216件水库数据制作完整地图的情况下Claude Code或Claude Desktop请按以下方式委托:
「東海地方の全てのダムデータを取得してtokai_dams.jsonを更新して」______________________________________________________________________
6.故障排除
常见问题及解决办法
1. MCP服务器未启动
症状: Claude Desktop或Claude Code的MCP未显示工具
解决方法:
- 确认配置文件的路径是否正确
- API确认密钥是否正确设置
- Python确定环境是否正确激活
Claude Desktop的情况:
# パスの確認
which python # macOS/Linux
where python # WindowsClaude Code的情况: VS Code在的输出面板(Output)中选择“Claude Code”,确认错误日志。
2. API密钥错误
症状: MLIT_API_KEY is not set 等错误信息
解决方法:
.mcp.json(Claude Code)或claude_desktop_config.json(Claude Desktop)在工作空间的边缘MLIT_API_KEY确认是否正确设置- API确认键是否包含多余的空格或引号
- 在国土交通数据平台上API确认密钥是否有效
3.依赖性错误
症状: ModuleNotFoundError: No module named 'aiohttp' 等错误
解决方法:
# 必要なパッケージを再インストール
uv pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv
# または
pip install aiohttp pydantic tenacity python-json-logger mcp python-dotenv4.生成地图时出错
症状: ModuleNotFoundError: No module named 'folium'
解决方法:
uv pip install folium
# または
pip install folium5.无法获取数据
症状: 搜索也没有结果
解决方法:
- API验证密钥的有效性
- 试着变更检索条件(简化关键字、扩大范围等)
- 检查网络连接
- API的汇率限制
调试方法
更改日志级别
如果要查看更详细的日志,请在配置文件中LOG_LEVEL请更改:
克劳德桌面(claude_desktop_config.json):
"env": {
"LOG_LEVEL": "DEBUG"
}克劳德代码(.mcp.json):
"env": {
"LOG_LEVEL": "DEBUG"
}手动服务器启动测试
MCP您可以手动启动并测试服务器是否工作正常:
cd mlit-dpf-mcp
export MLIT_API_KEY=your_api_key_here
export MLIT_BASE_URL=https://www.mlit-data.jp/api/v1/
python -m src.server如果出现错误,请根据该消息解决问题。
______________________________________________________________________
7.目录配置
mlit-dpf-mcp/
├─ .mcp.json # MCP設定ファイル(Claude Code用)
├─ .claude/ # Claude Code設定ディレクトリ(権限設定など)
│ └─ settings.local.json # ツール権限設定ファイル
├─ src/
│ ├─ server.py # MCP サーバー & ツール定義
│ ├─ client.py # MLIT GraphQL API クライアント
│ ├─ schemas.py # Pydantic モデル(入力バリデーション)
│ ├─ config.py # 環境変数ロード & 設定検証
│ └─ utils.py # ロギング、タイマー、レート制限
├─ plot_tokai_dams.py # 地図プロット用スクリプト(サンプル)
├─ fetch_tokai_dams.py # ダムデータ取得スクリプト(サンプル)
├─ get_tokai_dams.py # データ取得ヘルパースクリプト(サンプル)
├─ tokai_dams.json # 東海地方のダムデータ(サンプル)
├─ tokai_dams_map.html # 生成された地図HTMLファイル(サンプル)
├─ pyproject.toml # プロジェクト設定ファイル
├─ uv.lock # 依存関係ロックファイル
├─ README.md # このファイル
├─ LICENSE # ライセンスファイル
└─ .env.example # 環境変数のサンプル8.许可证
本资料档案库MIT由许可证提供。详情许可证来修改标记元素的显示属性。
______________________________________________________________________
9.注意事项
关于非正式资源库
- 本资源库是国土交通省的官方资源库 mlit-dpf-mcp 而需要与环境混合的每条反射光线,进行环境采样。
- 没有得到国土交通省的认可、批准和推荐。
- 本资料库由个人制作,与国土交通省及国土交通数据平台完全无关。
关于数据利用
- 关于本存储库提供数据的利用 国土交通数据平台使用规约中所述修改相应参数的值。使用前请务必确认国土交通数据平台的使用条款。
- 本资料库的个人信息的处理国土交通数据平台隐私政策对较大场景进行渲染期间已观察到该故障。
免责事项
- 本存储库是作为非正式应用程序提供的。不进行动作保证。
- 本存储库的内容可能会在没有预告的情况下进行变更、删除。
- 对于因使用本存储库而产生的损失及故障等,制作者不承担任何责任。
- 请勿向国土交通省或国土交通数据平台咨询本资源库。
