J格兰兹MCP Server (Gradio 5 Native)
   
数字厅运用的补助金电子申请系统“J格兰兹“的公开API的集成应用程序。
🚀 Gradio 5本地MCP使用功能:
- 🌐 Web用户界面:从浏览器直观地搜索补贴
- 🤖 MCP服务器: Claude Desktop等的LLM使用自然语言
- ⚡ 单指令启动:
launch(mcp_server=True)双方同时动作!
特徴
🎯 Gradio 5母语者MCP整合
- 简单设计:
launch(mcp_server=True)仅仅UI和MCP服务器同时启动 - 自动变换: Gradio函数自动MCP转换为工具
- 统一代码库: UI和MCP API管理单一代码
🔍 検索・分析机能
- 高级搜索:关键字、行业、员工数量和区域限制
- 统计分析:补助金の统计情报を自动集计(缔切期间别、金额规模别)
- 实时信息: J发布API中描述的相应参数的值
📄 文件处理
- 自动下载:募集要项や申请书类を自动保存
- 形式变换: PDF、Word、Excel、ZIP等多种形式Markdown转换为
- BASE64対応:无法转换的文件BASE64格式
🤖 LLM统合
- Claude Desktop対応: MCP直接从客户机获得
- 自然言语検索: LLM用自然语言检索补助金
- 工具自动检测: Gradio函数自动MCP作为工具发布
🌐 Web应用
- 直感的UI:通过浏览器轻松访问
- 制表符接口:按功能排列的选项卡,如搜索、详细信息、统计信息和文件检索
- 表格显示:以便于查看的表格格式显示搜索结果
- Markdown対応:已整形详细信息Markdown显示
动作确认环境
- Claude桌面版:v0.7.10以上
- python: 3.11以上
- FastMCP: 2.12.2以上
快速启动
前提条件
方法1:uv 使用(推荐)
- 紫外线 (高速Python包管理器)
- Python 3.11以上(可自动安装uv)
方法2:Docker Compose 使用
方法3:pip 使用(传统)
- Python 3.11以上
- pip (Python包管理器)
🚀 30秒启动
方法1:uv 使用(推荐・最快)
# 1. リポジトリをクローン
git clone https://github.com/Sunwood-ai-labs/jgrants-gradio-mcp-server.git
cd jgrants-gradio-mcp-server
# 2. uvで依存関係を同期(初回のみ)
uv sync
# 3. 起動(Gradio UI + MCPサーバーが同時に動作)
uv run python -m jgrants_mcp_server方法2:Docker Compose 使用
# 1. リポジトリをクローン
git clone https://github.com/Sunwood-ai-labs/jgrants-gradio-mcp-server.git
cd jgrants-gradio-mcp-server
# 2. Docker Composeで起動(MCPサーバーが自動的に有効になります)
docker-compose up -d
# ログ確認
docker-compose logs -f
# 停止
docker-compose downDocker环境功能:
- 🌐 Web用户界面: http://localhost:7860
- 🤖 MCP服务器:默认情况下启用(Gradio5本地)
- 💾 数据持久化:下载文件为Docker volume 保存到
方法3:pip 使用(传统)
# 1. リポジトリをクローン
git clone https://github.com/Sunwood-ai-labs/jgrants-gradio-mcp-server.git
cd jgrants-gradio-mcp-server
# 2. Python仮想環境の作成
python -m venv venv
# 3. 仮想環境の有効化
# macOS/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate
# 4. 依存パッケージをインストール
pip install -r requirements.txt
# 5. 起動(Gradio UI + MCPサーバーが同時に動作)
python -m jgrants_mcp_server访问方法:
- 🌐 Web用户界面在浏览器中
http://localhost:7860的双曲正切值 - 🤖 主控程序: Claude Desktop从
http://localhost:7860连接
Gradio 5本地MCP功能可在单个服务器上提供两种功能!
uv安装
uv快速可靠Python包管理器。
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# pipx経由(すべてのプラットフォーム)
pipx install uv了解更多信息 uv文档 来修改标记元素的显示属性。
环境变量(可选)
您可以根据需要设置以下环境变量:
|环境变量|默认值|说明| |---------|------------|------| | JGRANTS_FILES_DIR | ./jgrants_files |附件保存目录| | API_BASE_URL | https://api.jgrants-portal.go.jp/exp/v1/public | J格兰兹API端点|
设定例:
export JGRANTS_FILES_DIR=/tmp/jgrants_files服务器启动
🚀 基本起动(Web UI + MCP统合)
uv使用:
# デフォルト起動(ポート7860)
uv run python -m jgrants_mcp_server
# カスタムポート指定
uv run python -m jgrants_mcp_server --port 8080
# 公開リンク生成(外部アクセス可能)
uv run python -m jgrants_mcp_server --shareDocker Compose使用:
# バックグラウンドで起動
docker-compose up -d
# フォアグラウンドで起動(ログを表示)
docker-compose up
# 停止
docker-compose down
# 再起動
docker-compose restartpip使用:
# デフォルト起動(ポート7860)
python -m jgrants_mcp_server
# カスタムポート指定
python -m jgrants_mcp_server --port 8080
# 公開リンク生成(外部アクセス可能)
python -m jgrants_mcp_server --share启动后可用功能:
- 🌐 Web用户界面:
http://localhost:7860 - 🤖 MCP服务器: Gradio提供,提供MCP端点(从Claude Desktop连接)
📋 启动选项
python -m jgrants_mcp_server --help|选项|默认值|说明| |-----------|------------|------| | --host | 0.0.0.0 服务器主机 | --port | 7860 服务器端口 | --share | False | Gradio生成公共链接 | --no-mcp | False | MCP禁用功能(仅限Web UI)
🔧 MCP禁用(仅限Web UI)
# MCPサーバー機能を無効にしてWeb UIのみ起動
python -m jgrants_mcp_server --no-mcp
# uvの場合
uv run python -m jgrants_mcp_server --no-mcp🐳 Docker自定义环境变量
docker-compose.yml的,之environment您可以编辑节以自定义环境变量:
environment:
- JGRANTS_FILES_DIR=/app/jgrants_files
- API_BASE_URL=https://api.jgrants-portal.go.jp/exp/v1/public
# カスタム設定を追加🔧 Docker的MCP禁用服务器
MCP禁用服务器Web UI单击功能区上Dockerfile请将最后一行更改为:
# Dockerfileの最終行を変更
CMD ["python", "-m", "jgrants_mcp_server", "--host", "0.0.0.0", "--port", "7860", "--no-mcp"]然后重新构建并启动容器:
docker-compose up -d --buildClaude Desktop 协作
Gradio 5母语者MCP连接
Gradio 5.32.0单击功能区上Gradio应用程序直接MCP作为服务器工作。
步骤1:启动应用程序
python -m jgrants_mcp_server在启动消息中MCP Server: ENABLED进行动态观察时的轴心点。
第2步:Claude Desktop设置
Claude Desktop编辑配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"jgrants": {
"command": "uvx",
"args": [
"gradio",
"client",
"http://localhost:7860"
]
}
}
}注意:
- Gradio 5的,之MCP服务器是HTTP它在底座上运行
uvx缺少支持的问题pip install uv安装- 端口号应与启动时指定的端口匹配
第3步:Claude Desktop重新启动
保存设置,然后单击Claude Desktop之后由应用程序进行调用。
接続确认
Claude Desktop在新的对话中,请按以下方式提问:
補助金を検索できますか?如果服务器设置正确,将显示可用工具列表。
Gradio Web应用程序的使用方法
起动方法
# デュアルモード(MCPとGradioの両方)
python -m jgrants_mcp_server
# Gradioのみ
python -m jgrants_mcp_server --mode gradio启动后,在浏览器中 http://localhost:7860 中所述修改相应参数的值。
功能选项卡
🔍 补助金検索
- 输入搜索条件
- 关键字(必需):例如IT导入DX设备投资 - 行业、地区、员工人数等限制条件(可选) - 并び顺:受付终了日时、受付开始日时、作成日时 - 受理状态:仅受理中/全部
- 検索実行
- 最多显示50个结果 - 各行补助金ID、显示标题、受理期间、辅助上限额等
📄 补助金详细
- 补助金ID的双曲正切值(搜索结果的ID复制并粘贴)
- 单击“获取详细信息”按钮
- 显示的信息
- 补贴详细说明 - 受付期间、补助上限额 - 对象条件(地域、业种、従业员数、利用目的) - 下载的文件一览表(申请指南、补助金概要、申请文件)
📊 统计情报
- 选择输出格式(JSON 或CSV)
- 单击“获取统计信息”按钮
- 显示的统计信息
- 締切期間別の分布(今月、来月、再来月以降) - 金额规模别の分布(100万圆以下、1000万圆以下、1亿圆以下、1亿圆超) - 紧急缔切案件(14日以内) - 高额补助金(5000万圆以上)
📁 文件检索
- 补助金ID和文件名
- 选择格式(Markdown 或BASE64)
- 单击“文件获取”按钮
- 显示文件内容
- PDF、Word、Excel、ZIP等等Markdown自动转换为 - 如果无法转换BASE64以格式显示
- 已下载文件列表
- 检查所有下载的文件
ℹ️ 服务器信息
- Ping按钮确认服务器的运行状况
- API显示端点、版本信息等
使用例
- IT查找辅助部署
- 关键字: IT導入 - 业种: 情報通信業 - 受付状態: 受付中のみ - 执行搜索-在表格中查看结果
- 查看详细信息
- 在意的补助金的ID复制 - 转到“补贴详细信息”标签 - ID粘贴以获取详细信息 - 下载文件
- 确认文件内容
- 转到“文件检索”标签 - 补助金ID和文件名 - Markdown以格式显示内容
生成公共链接
可以生成外部可访问的公共链接:
python -m jgrants_mcp_server --mode gradio --gradio-share启动时Gradio生成的发布URL中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
Prompts 和Resources
MCP服务器LLM中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
Prompts(动态指南)
subsidy_search_guide:补贴搜索最佳实践和建议的搜索模式api_usage_agreement: API确认使用条款和免责事项
Resources(静态参考)
jgrants://guidelines: MCP服务器使用指南API限制,故障排除
可用工具
1. search_subsidies
查找补贴。可以通过关键字、行业、地区、员工数等进行缩小。
参数:
keyword(str): 搜索关键字(2个以上必需)industry(str, optional): 业种target_area_search(str, optional): 対象地域target_number_of_employees(str, optional): 従业员数制约sort(str): 排序顺序(acceptance_end_datetime/acceptance_start_datetime/created_date)order(str): 升顺/降顺(ASC/DESC)acceptance(int): 受付状態(0:全部/1:仅在受理中)
2. get_subsidy_detail
获取补贴的详细信息,并在本地保存附件。
参数:
subsidy_id(str): 补助金ID(18文字以下)
返却情报:
- 补助金的详细信息(标题、补助上限额、补助率、受理期间等)
- 单击功能区上file:// URL(公开征集要领、概要资料、申请格式等)
- 文件目标目录路径
3. get_subsidy_overview
获取补贴的统计信息(按到期日、金额规模统计)。
参数:
output_format(str):出力形式(json/csv)
4. get_file_content
获取已保存附件的内容。
参数:
subsidy_id(str): 补助金IDfilename(str): 文件名return_format(str): 返却形式(markdown/base64)
机能:
- PDF、Word、Excel、PowerPoint、ZIPをMarkdownに自动变换
- 转换失败时BASE64形式返还
5. ping
进行服务器的沟通确认。
开发和测试
测试运行
# テスト実行
pytest tests/test_core.py调试
# デバッグモードで起動
python -m jgrants_mcp_server.core --log-level DEBUG许可证
MIT License - 了解更多信息许可证请参见文件。
免责事项
本实施是以技术验证为目的的样本代码。请注意:
- 本代码按原样提供,不保证动作的稳定性和持续维护
- J它不保证格兰兹服务的可搜索性和行为稳定性
- 在实际使用时J格兰兹API使用条款https://www.jgrants-portal.go.jp/open-api)为准使用
