招标信息API服务器

为LLM和AI代理提供日本政府采购招标信息查询服务的MCP协议服务器,支持关键词搜索、日期筛选和多条件检索。

  • by yoshinaga2015
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 yoshinaga2015/kanpou-mcp

使用说明

官报API MCP服务器

官方网站API(官报API)的LLM啊AI允许代理作为工具使用MCP(Model Context Protocol)服务器。

机能

这MCP服务器提供以下工具:

  1. 搜索_采购 -在详细搜索条件下搜索投标信息
  2. 获取_采购_日期 -获取指定日期的投标信息
  3. search_by_关键字 -使用关键字查找投标信息

安装

cd mcp-kanpo-api
npm install
npm run build

使用方法

MCP客户端设置

MCP客户端(例如:Claude Desktop、Cursor等)的设定文件中请追加以下内容:

Claude Desktop在…的情况下 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "kanpo-api": {
      "command": "node",
      "args": ["/path/to/mcp-kanpo-api/dist/index.js"]
    }
  }
}

Cursor在…的情况下 (.cursor/mcp.json 或配置文件:

{
  "mcpServers": {
    "kanpo-api": {
      "command": "node",
      "args": ["/path/to/mcp-kanpo-api/dist/index.js"]
    }
  }
}

开发模式

开发中 tsx 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积

npm run dev          # stdio版
npm run dev:http     # HTTP版

HTTP使用服务器版本

n8n等的HTTP在动态输入提示中单击HTTP启动服务器版本:

npm run start:http

默认值 http://localhost:3000 中所述修改相应参数的值。端口号为环境变量 PORT 中所述修改相应参数的值

PORT=8080 npm run start:http

可用端点

  • GET / -健康检查
  • GET /api/tools -可用工具列表
  • POST /api/tools/search_procurements -入札情报検索
  • POST /api/tools/get_procurements_by_date - 日付指定取得
  • POST /api/tools/search_by_keyword -关键字搜索

使用例

# 日付指定で取得
curl -X POST http://localhost:3000/api/tools/get_procurements_by_date \
  -H "Content-Type: application/json" \
  -d '{"date": "2025-11-07", "count": 50}'

# キーワード検索
curl -X POST http://localhost:3000/api/tools/search_by_keyword \
  -H "Content-Type: application/json" \
  -d '{"keyword": "情報システム", "count": 20}'

ngrok发布

ngrok来修改标记元素的显示属性HTTP可以对外发布服务器:

# 1. HTTPサーバーを起動
npm run start:http

# 2. 別のターミナルでngrokを起動
ngrok http 3000

# 3. ngrokが提供するURL(例: https://xxxx-xxxx-xxxx.ngrok-free.app)をn8nで使用

使用自然语言

这MCP服务器LLM/AI假设代理(Claude、GPT-4等)能够理解自然语言的指令,并自动调用适当的工具。

使用例:

  • “获取2025年11月7日的投标信息”→ get_procurements_by_date 自动调用工具
  • “用信息系统这个关键词搜索”→ search_by_keyword 自动调用工具
  • “搜索东京都物品类别的投标信息”→ search_procurements 自动调用工具
  • “检索11月的劳务类别的投标信息”→ search_procurements 自动调用工具

LLM/AI代理理解你的自然语言指令,选择合适的工具和参数来执行。

可用工具

1.搜索_采购

在详细的搜索条件下搜索投标信息。

参数:

  • query (string, 任意): 検索文字列(AND、OR、NOT演算子使用可能)
  • projectName (string, 可选:按主题筛选
  • organizationName (string, 可选:按机构名称筛选
  • lgCode (string, 可选:都道府县代码(符合JIS X0401标准)
  • category (number, 任意):类别(1=物品,2=工程,3=劳务)
  • procedureType (number, 任意):公示种别(1=一般竞争入札,2=简易公募型竞争入札,3=简易公募型指名竞争入札)
  • certification (string, 任意):入札资格(A,B,C,D)
  • cftIssueDate (string, 可选:公告日期(格式:YYYY-MM-DD/ 或/YYYY-MM-DD 或YYYY-MM-DD/YYYY-MM-DD)
  • tenderSubmissionDeadline (string, 任意):入札开始日
  • openingTendersEvent (string, 任意):开札日
  • periodEndTime (string, 任意):纳入期限日
  • count (number, 可选:返还数量(默认值:100,最大值:1000)

注意: query、projectName、organizationName、lgCode中所述修改相应参数的值。如果未指定全部,则默认为Query="*"将条目添加到文档注册表。

2.获取_采购_日期

获取指定日期的投标信息。在内部query="入札"和cftIssueDate进行动态观察时的轴心点。

参数:

  • date (string, 必须):日付(形式:YYYY-MM-DD)
  • count (number, 可选:返还数量(默认值:100,最大值:1000)

例:

{
  "date": "2025-11-07",
  "count": 50
}

3.搜索_关键字

用关键字搜索投标信息。

参数:

  • keyword (string, 必需:搜索关键字
  • count (number, 可选:返还数量(默认值:100,最大值:1000)

例:

{
  "keyword": "情報システム",
  "count": 20
}

响应格式

MCP版(stdio)

所有工具都以以下形式返回响应:

{
  "searchHits": 262,
  "results": [
    {
      "resultId": 1,
      "key": "...",
      "externalDocumentURI": "https://...",
      "projectName": "第2069号小中学校児童生徒用机・いす",
      "date": "2025-11-07T19:08:01+09:00",
      "fileType": "pdf",
      "fileSize": 134411,
      "lgCode": "19",
      "prefectureName": "山梨県",
      "cityCode": "192015",
      "cityName": "甲府市",
      "organizationName": "山梨県甲府市",
      "cftIssueDate": "2025-11-07T00:00:00+09:00",
      "category": "物品",
      "procedureType": "一般競争入札",
      "projectDescription": "...",
      "attachments": [
        {
          "name": "入札説明書(PDF:132KB)",
          "uri": "https://..."
        }
      ]
    }
  ]
}

HTTP版

HTTP服务器版本以以下格式返回响应:

{
  "success": true,
  "data": {
    "searchHits": 262,
    "results": [
      {
        "resultId": 1,
        "projectName": "第2069号小中学校児童生徒用机・いす",
        "organizationName": "山梨県甲府市",
        "cftIssueDate": "2025-11-07T00:00:00+09:00",
        "category": "物品",
        "procedureType": "一般競争入札",
        ...
      }
    ]
  }
}

如果出现错误:

{
  "success": false,
  "error": "エラーメッセージ"
}

注意事项

  • 这API官方网站API正在使用
  • 不需要注册、认证,谁都可以使用
  • 请遵守使用条款
  • API的响应XML是形式,不过,这个MCP服务器是JSON转换为格式并返回

参考资料

许可证

麻省理工学院