mcpField
G
getapi

getapi

远程服务
github.com/GetApiNL法律与政务02 周前更新
代码仓库

关于 getapi

getapi 是一款 MCP 服务,将 GetApi 的 API 端点提供为 AI 客户端可调用的工具,涵盖荷兰政府及登记数据。工具列表依据 OpenAPI 规范生成,并每小时更新。

主要功能

  1. 01依据 OpenAPI 生成工具
  2. 02每小时刷新工具列表
  3. 03日志和输出中隐藏 API 密钥
  4. 04通过 stdio 通信

适用场景

  1. 01查询荷兰地址和房产数据
  2. 02获取车辆登记信息
  3. 03验证 IBAN 和欧盟增值税号

MCP 相关

它通过 stdio 向 MCP 客户端提供 GetApi API 端点作为工具。API 密钥通过 API_KEY 环境变量设置。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.getapi.nl/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://api.getapi.nl/mcp需要授权

工具

详细介绍

GetApi MCP Server

一款 MCP 服务,可将 GetApi API 提供给 Claude Desktop 等 AI 客户端使用。

安装

通过 npm 安装服务:

npm install -g getapi-mcp

功能

此服务将所有 GetApi API 端点提供为 AI 客户端可用的工具。服务通过 stdio 通信,并使用 npx getapi-mcp 启动。API 密钥仅通过环境变量 API_KEY 设置。

要求

  • Node.js 20 LTS 或更高版本
  • 有效的 GetApi API 密钥

配置

CLI 用法
npx getapi-mcp
MCP 服务配置

将以下配置添加到客户端的 MCP 配置中(例如 Claude Desktop 的 claude_desktop_config.json):

{
  "mcpServers": {
    "getapi": {
      "command": "npx",
      "args": ["-y", "[email protected]"],
      "env": {
        "API_KEY": "ga_live_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

重要:API 密钥只能通过 env 设置。服务会在日志和输出中完全屏蔽密钥。

获取 API 密钥

你需要拥有一个有效的 GetApi API 密钥。有关创建和管理密钥的信息,请参阅其控制面板。

注意:密钥格式必须为 ga_live_xxxxx 或 ga_test_xxxxx。

可用工具

工具列表由 GetApi OpenAPI 规范自动生成,并每小时更新一次。

工具示例
工具描述
getapi_kadaster_bag_address按邮政编码和门牌号搜索地址(BAG)
getapi_kadaster_bag_address-suggest地址自动补全建议
getapi_kadaster_bag_id按地址标识符 ID 搜索地址
getapi_lookup_postcode邮政编码查询(NL)
getapi_lookup_ipIP/ISP 信息
getapi_validation_iban验证 IBAN / BIC
getapi_validation_vat验证欧盟增值税号(VIES)
getapi_property_pandgegevens按邮政编码和门牌号查询建筑信息
getapi_rdw_vehicle按车牌号查询车辆信息(RDW)
getapi_lookup_dns_records查询域名的 DNS 记录
...完整列表由 OpenAPI 规范生成

查看 GetApi API 文档以获取完整的端点列表。

用法

调用工具
  1. 点击 MCP 图标(通常位于聊天界面中)
  2. 将 GetApi 服务添加为 MCP 服务
  3. 在 MCP 面板中点击某个工具
  4. 填写必需参数
  5. 工具将执行并显示结果
错误代码

发生网络错误时,你会收到具体的错误消息:

代码描述解决方案
404未找到资源检查 URL 和参数
400参数错误检查参数语法
422验证错误检查参数类型
503服务暂时不可用请稍后重试
TIMEOUT请求超时增加超时时间
401API 密钥无效检查 API 密钥
安全性
  • API 密钥绝不会出现在日志、输出或工具结果中
  • 所有请求仅发送到 https://api.getapi.nl
  • 服务会自动屏蔽日志中的 API 密钥
  • 密钥绝不会发送给 GetApi

自动更新

服务每小时检查一次 GetApi 规范是否发生变化。更新时:

  • 工具列表会自动更新
  • 客户端会收到通知(取决于客户端支持情况)
  • 无效规范将被忽略,并回退到最近一次的有效版本

注意:并非所有 MCP 客户端都能处理自动更新。如果要查看新工具,请重启客户端。

已知限制

  1. x402 端点:不提供需付费的 AI 端点(AI 客户端无需使用)
  2. 客户端支持:工具列表发生变化时,请重启客户端
  3. 超时:请求超时时间为 10 秒
  4. 响应大小:响应最大为 1 MB
  5. 规范大小:OpenAPI 规范最大为 5 MB

配置选项

这些值目前在服务端固定设置(无法通过 env 修改);只有 API_KEY 是环境变量。

选项默认值描述
specUrlhttps://api.getapi.nl/docs/api.jsonGetApi OpenAPI 规范的 URL
baseUrlhttps://api.getapi.nlAPI 请求的基础 URL
authHeaderX-Api-Key身份验证的标头名称
refreshIntervalMs3600000(1 小时)检查规范的间隔
timeoutMs10000请求超时时间(毫秒)
maxResponseSize1048576最大响应大小(1 MB)
maxSpecSize5242880最大规范大小(5 MB)
x402ExcludedOperations空不作为工具导出的操作 ID
配置示例

唯一的环境变量是 API_KEY:

{
  "mcpServers": {
    "getapi": {
      "command": "npx",
      "args": ["-y", "[email protected]"],
      "env": {
        "API_KEY": "ga_live_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

故障排除

“未设置或无效的 API_KEY”

如果缺少 API_KEY,或者它不以 ga_live_/ga_test_ 开头,服务会显示此消息并停止。请通过 MCP 客户端配置设置该变量(参见“配置”)。

“没有可用的规范”
  • 无法访问规范 URL(https://api.getapi.nl/docs/api.json)
  • GetApi 规范暂时不可用
  • 检查你的互联网连接

此时服务会仅使用 getapi_ping 后备工具启动,并在下次刷新时重试。

“参数验证失败”
  • 根据工具的 inputSchema 检查参数名称和类型
  • 必填参数列在 required 中
状态码错误(例如 401/404)
  • 401:API 密钥无效或缺失
  • 404:参数错误或端点未知
  • 503/504:API 暂时不可用或请求超时

开发与测试

# Afhankelijkheden installeren
npm install

# Alles valideren: typecheck + lint + build + tests (unit + e2e)
npm run validate

# Volledige check inclusief smoke-test van het gepackagede npm-artefact
npm run verify

# Alleen de tests
npm test

# Tests met coverage (en coverage-thresholds)
npm run test:coverage

# Documentatiecheck: links, ankers, versies en config-waarden
npm run check:docs

# Live contract test tegen de echte API (vereist API_KEY)
API_KEY=ga_test_... npm run test:live

# Smoke-test: pakt + installeert + start het echte pakket
npm run test:package

# Typecheck / lint afzonderlijk
npm run typecheck
npm run lint

# Bouwen naar dist/
npm run build

CI 会在每次推送/PR 时自动运行这些检查:.github/workflows/ci.yml;发布前则运行 .github/workflows/release.yml。

在本地运行服务

服务通过 stdio 与 MCP 客户端通信。若要快速手动检查,可以直接启动服务,并通过 stdin 向其发送 JSON-RPC 消息:

# Start de server (met een geldige ga_live_/ga_test_ key)
API_KEY="ga_test_1234567890" node dist/bin.js

然后向 stdin 发送如下内容:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"cli","version":"1.0.0"}}}

所有日志行都会显示在 stderr 中;stdout 仅包含 JSON-RPC。这样可以直接确认服务是否正确启动,以及有哪些工具可用。

在 MCP 客户端中运行

使用 MCP 服务配置 中的配置。客户端会通过 stdio(command: "npx")自行启动服务,并通过 env 传入 API 密钥;无需端口或 URL。

版本

更新和改进列表请参见 CHANGELOG。

许可证

MIT License——详情请参见 LICENSE。

支持

如有问题、Bug 或建议,请通过以下方式联系:


注意:此服务仅适用于有效的 GetApi API 密钥。没有有效的 API 密钥,服务将无法运行。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。