补助金搜索服务器

Jグランツ MCP Server 是一个基于FastMCP框架的补助金电子申请系统API实现,支持通过自然语言进行补助金搜索、详细获取和文件下载。

  • by AiHacks22
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CampusHack/jgrants-mcp-server

使用说明

J格兰兹MCP Server

数字厅运用的补助金电子申请系统“J格兰兹“的公开API的Model Context Protocol(MCP)作为服务器实施。FastMCP使用框架LLM中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。

特徴

  • 远程支持: Streamable-HTTP可通过远程连接
  • 高级搜索功能:关键字、行业、员工数量和区域限制
  • 统计分析:补助金の统计情报を自动集计(缔切期间别、金额规模别)
  • 文件下载:募集要项和申请文件的自动下载·保存
  • 附件访问: PDF等附件Markdown/BASE64格式
  • LLM统合:使用自然语言查找和获取补贴
  • 文件转换: PDF、Word、Excel、ZIP等多种形式Markdown转换为
  • 动态工具检测:自动发现并适应服务器工具更改
  • FastMCP:最新FastMCP使用框架(v2.12.2)
  • 提示/资源: LLM提供指南和资源

动作确认环境

  • Claude桌面版:v0.7.10以上
  • python: 3.11以上
  • FastMCP: 2.12.2以上

快速启动

前提条件

  • Python 3.11以上
  • pip (Python包管理器)

环境设置

# リポジトリのクローン
git clone https://github.com/digital-go-jp/jgrants-mcp-server.git
cd jgrants-mcp-server

# Python仮想環境の作成
python -m venv venv

# 仮想環境の有効化
# macOS/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate

# 依存パッケージのインストール
pip install -r requirements.txt

环境变量(可选)

您可以根据需要设置以下环境变量:

|环境变量|默认值|说明| |---------|------------|------| | 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

服务器启动

HTTP服务器模式

# HTTPサーバーを起動(デフォルト: localhost:8000)
python -m jgrants_mcp_server.core

# ホストとポートを指定
python -m jgrants_mcp_server.core --host 0.0.0.0 --port 8080

服务器启动后,以下端点可用:

  • MCP 端点: http://localhost:8000/mcp 或者 http://127.0.0.1:8000/mcp
  • 传输:流式HTTP

Claude Desktop 协作

FastMCP CLI通过连接(建议)

Claude Desktop 啊stdio 仅支持连接FastMCP CLI的HTTP用作代理。 这个方法Resources、Prompts、Tools中所述修改相应参数的值。

  1. MCP Server 启动:

    python -m jgrants_mcp_server.core --port 8000
    
  2. 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": [
            "fastmcp",
            "run",
            "http://localhost:8000/mcp"
          ]
        }
      }
    }
    

    备考:

    • localhost如果不顺利,请尝试127.0.0.1
    • uvx啊uv的命令行工具执行功能(pip install uv安装)
    • uvx如果未安装,请单击fastmcp也可以直接使用:
      {
        "mcpServers": {
          "jgrants": {
            "command": "fastmcp",
            "args": [
              "run",
              "http://localhost:8000/mcp"
            ]
          }
        }
      }
      
  3. Claude Desktop 重新启动

接続确认

Claude Desktop在新的对话中,请按以下方式提问:

補助金を検索できますか?

如果服务器设置正确,将显示可用工具列表。

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): 补助金ID
  • filename (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)为准使用