KVK商业数据查询服务

社区开发的荷兰商会(KVK)商业注册数据查询MCP服务,支持通过自然语言查询企业注册信息、分支机构数据和商业名称。

  • by BartWaardenburg
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 BartWaardenburg/kvk-mcp

使用说明

kvk mcp

一个 模型上下文协议 (MCP)服务器 API千伏 (商会)。搜索商业登记处、获取公司简介、查看营业详情和商业名称,所有这些都可以在您的 AI 应用程序中使用自然语言。

让我们来: 这是一个非官方的,由社区维护的项目,不与中小企业有关或批准。

社区建设 模型上下文协议 (MCP)服务器 API千伏 (Kamer van Koophandel/荷兰商会)。搜索Handelsregister,检索公司简介、位置详细信息和商品名——所有这些都可以通过任何兼容MCP的AI客户端通过自然语言完成。

注: 这是一个非官方的、由社区维护的项目,与KVK无关或不受其认可。

快速启动

你不需要克隆这个仓库。

  1. 确保安装了 Node.js 20+(您的 AI 应用程序正在运行) npx op-je机器)
  2. 获取KVK API密钥(见 API密钥设置)
  3. 将服务器添加为 AI 应用程序中的 MCP 服务器(复制下面的配置)
  4. 用简单的荷兰语提问(见 例子)

快速入门(非开发人员)

您不需要克隆此仓库。

  1. 确保已安装Node.js 20+(您的AI应用程序将运行 npx 在您的机器上)
  2. 获取KVK API密钥(请参阅 API密钥设置)
  3. 将服务器作为MCP服务器添加到您的AI应用程序中(复制/粘贴下面的配置)
  4. 用通俗易懂的语言提问(见 示例用法)

添加到Claude桌面(也适用于协作)

Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。

  1. 打开您的Claude Desktop MCP配置文件:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\\Claude\\claude_desktop_config.json
  2. 添加此服务器条目(或将其合并到现有的 mcpServers):
{
  "mcpServers": {
    "kvk-mcp": {
      "command": "npx",
      "args": ["-y", "kvk-mcp"],
      "env": {
        "KVK_API_KEY": "your-api-key"
      }
    }
  }
}
  1. 重新启动克劳德桌面

添加到其他AI应用程序

大多数MCP应用程序都有一个类似“添加MCP服务器”的屏幕,您可以在其中填写:

  • 命令: npx
  • Args: -y kvk-mcp
  • 环境: KVK_API_KEY=your-api-key

如果你的应用程序需要JSON,粘贴它并将顶级键名调整到你的客户端(常见的是 mcpServers, servers,或 context_servers):

{
  "<servers-key>": {
    "kvk-mcp": {
      "command": "npx",
      "args": ["-y", "kvk-mcp"],
      "env": {
        "KVK_API_KEY": "your-api-key"
      }
    }
  }
}

故障排除

  • 错误: Missing required env var: KVK_API_KEY
    • 修复:添加 KVK_API_KEY 转到MCP服务器配置并重新启动应用程序。
  • 错误: npx: command not found 或服务器无法启动
    • 修复:安装Node.js 20+并重新启动应用程序。
  • 您可以连接,但结果为空或您看到 401/403

特性

  • 10工具 涵盖KVK Handelsregister和Mutateservice API的3个类别
  • 公司搜索 --按名称、KVK号码、RSIN、地址、邮政编码、城市或实体类型查找企业
  • 公司基本概况 --注册日期、法律形式、商品名、SBI活动代码、员工人数
  • 公司所有者 --RSIN、法律形式(rechtsvorm)、公司所有者的地址和网站
  • 主要位置 --地址、商号、网站、SBI活动和hoofdresearch员工
  • 所有地点 --列出公司的所有商业和非商业调查
  • 位置概况 --分行地址、业务活动、联系方式、商业指标
  • 商品名查询 --法定名称、替代商品名和非商业名称
  • 突变订阅 --列出活动的Mutateservice订阅
  • 突变信号 --浏览和检查受监控公司的变更信号
  • 输入验证 通过每个工具上的Zod模式实现安全、可预测的操作
  • 响应缓存 具有可配置的TTL(300秒用于搜索,600秒用于配置文件——寄存器数据很少更改)
  • 费率限制处理 具有指数回退和 Retry-After 标头支持
  • 工具集过滤 仅公开所需的工具类别
  • Docker支持 通过GHCR进行集装箱化部署
  • 可操作的错误消息 具有上下文感知的恢复建议

支持的客户

Advanced setup and supported clients (expand)

此MCP服务器未绑定到一个编码代理。它适用于任何可以启动stdio MCP服务器的MCP兼容客户端或代理运行时。

客户端/运行时 文档
克劳德代码 克劳德代码中的MCP
人类API(信息API) 远程MCP服务器
Codex CLI(OpenAI) Codex CLI文档
Gemini CLI(谷歌) Gemini CLI MCP服务器文档
VS代码(副本) 在VS代码中使用MCP服务器
克劳德桌面 Claude Desktop中的MCP
光标 光标文档
风帆冲浪 Windsurf MCP文件
克莱恩 临床MCP文档
Zed Zed上下文服务器文档
任何其他MCP主机 使用命令/args/env 通用MCP服务器配置

克劳德生态系统笔记

Claude目前有多个易于混淆的MCP相关概念:

  • 本地MCP服务器(克劳德桌面): 定义于 claude_desktop_config.json 然后在你的机器上开始(文档).
  • 合作: 重用Claude Desktop中连接的MCP服务器(文档).
  • 连接器: 在Claude中管理远程MCP集成(文档).
  • 协作插件: Claude特定的工作流打包(说明+工具/数据集成)(文档).在Claude中很有用,但不能作为其他代理客户端的通用MCP服务器配置进行移植。

根据供应商文件验证 2026-03-05.

设置(高级用户)

如果快速入门在您的客户中有效,您可以跳过此部分。这些是额外的每个客户端设置选项和CLI单行程序。

通用MCP服务器配置

在任何支持stdio服务器的MCP主机中使用此功能:

  • 命令: npx
  • Args: ["-y", "kvk-mcp"]
  • 必需的环境变量: KVK_API_KEY
  • 可选环境变量: KVK_CACHE_TTL, KVK_MAX_RETRIES, KVK_TOOLSETS (参见 配置)

最小JSON(使顶级密钥适应您的主机):

{
  "<servers-key>": {
    "kvk-mcp": {
      "command": "npx",
      "args": ["-y", "kvk-mcp"],
      "env": {
        "KVK_API_KEY": "your-api-key"
      }
    }
  }
}

主机密钥映射:

主持人 顶级密钥 备注
VS代码 servers 添加 "type": "stdio" 在服务器对象上
克劳德桌面/光标/风帆/克莱恩 mcpServers 相同的命令/args/env块
Zed context_servers 相同的命令/args/env块
食品法典委员会CLI(TOML) mcp_servers 使用TOML,如下所示

克劳德代码

claude mcp add --scope user kvk-mcp \
  --env KVK_API_KEY=your-api-key \
  -- npx -y kvk-mcp

Codex CLI(OpenAI)

codex mcp add kvk-mcp \
  --env KVK_API_KEY=your-api-key \
  -- npx -y kvk-mcp

Gemini CLI(谷歌)

gemini mcp add kvk-mcp -- npx -y kvk-mcp

集 KVK_API_KEY 在 ~/.gemini/settings.json.

VS代码(副本)

打开命令选项板(Cmd+Shift+P / Ctrl+Shift+P) > MCP: Add Server > 命令(stdio),或使用 .vscode/mcp.json 使用顶级密钥 servers 以及来自的规范命令/args/env块 通用MCP服务器配置.

克劳德桌面+协作/光标/风帆/克莱恩/泽德

Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。在Claude Desktop中配置一次,服务器就可以在Cowork中使用。

使用规范配置块,并将其与匹配的顶级密钥一起放置在下面的主机文件中。

客户端 配置位置 顶级密钥
克劳德桌面(macOS) ~/Library/Application Support/Claude/claude_desktop_config.json mcpServers
克劳德桌面(Windows) %APPDATA%\\Claude\\claude_desktop_config.json mcpServers
光标(项目) .cursor/mcp.json mcpServers
光标(全局) ~/.cursor/mcp.json mcpServers
风帆冲浪 ~/.codeium/windsurf/mcp_config.json mcpServers
临床 MCP设置UI mcpServers
Zed(macOS/Linux) ~/.zed/settings.json 或 ~/.config/zed/settings.json context_servers

码头工人

docker run -i --rm \
  -e KVK_API_KEY=your-api-key \
  ghcr.io/bartwaardenburg/kvk-mcp

Codex CLI(TOML配置替代)

如果你喜欢编辑 ~/.codex/config.toml 直接:

[mcp_servers.kvk-mcp]
command = "npx"
args = ["-y", "kvk-mcp"]
env = { "KVK_API_KEY" = "your-api-key" }

其他MCP客户端

使用以下值 通用MCP服务器配置.

术语

什么是可跨主机移植的:

  • MCP服务器运行时设置(command, args, env)
  • 运输模型(stdio 命令服务器)
  • 此服务器公开的工具名称和工具模式

什么是特定于主机/供应商的(不可移植):

安全说明

  • 信任模型: 允许调用此MCP服务器的任何提示或代理都可以使用配置的凭据执行KVK API操作。
  • 最低权限凭据: 每个环境/团队/用例使用单独的KVK API密钥,并且仅使用必需的API订阅。
  • 书面行动批准: 为变异工具启用主机端审批(create_subscription 以及相关的突变工作流程)。
  • 团队配置治理: 将共享MCP配置保留在版本控制中,要求检查命令/args/env/toolset过滤的更改,并将机密保存在vault或主机机密管理器中(而不是纯文本仓库文件中)。

配置

必需的

变量 描述
KVK_API_KEY 您的KVK API密钥

从获取API密钥 KVK开发者门户。您需要注册并订阅要使用的API。

可选的

变量 描述 默认值
KVK_CACHE_TTL 启用缓存(设置为 0 禁用)。工具响应使用固定的TTL(搜索:300秒,配置文件:600秒)。 未设置
KVK_MAX_RETRIES 具有指数回退的速率限制(429)请求的最大重试尝试次数。 3
KVK_TOOLSETS 要启用的工具类别的逗号分隔列表(请参见 工具集筛选). 所有工具集

API密钥设置

创建API密钥

  1. 在以下网址注册 KVK开发者门户
  2. 导航至 API 请求 (请求API)
  3. 订阅您需要的API:
    • 搜索 API (搜索)--必填项 search_companies
    • 基本API --需要 get_company_profile, get_company_owner, get_main_location, get_company_locations
    • 企业简介 API --需要 get_location_profile
    • API 命名 --需要 get_trade_names
    • 变异服务API --需要 list_subscriptions, list_signals, get_signal
  4. 您的API密钥将在审批后生成

每个工具的API订阅

API订阅 工具
搜索 (搜索) search_companies
基本配置文件 (基本概况) get_company_profile, get_company_owner, get_main_location, get_company_locations
公司简介 (位置简介) get_location_profile
命名 (商品名) get_trade_names
突变服务 (突变服务) list_subscriptions, list_signals, get_signal

可用工具

搜索

工具 说明
search_companies 按公司名称、KVK号码、RSIN、街道、门牌号、邮政编码、城市或实体类型搜索KVK商业登记簿。每页最多返回100个结果。

档案

工具 说明
get_company_profile 通过KVK号码获取基本公司简介(basispefiel),包括法定名称、商号、注册日期、SBI活动代码、员工人数、法律形式和主要分支机构详细信息
get_company_owner 通过KVK号码获取公司的所有者(特征值),包括RSIN、法律形式(rechtsvorm)、地址和网站
get_main_location 通过KVK号码获取公司的主要位置(hoofdresearch),包括地址、商号、网站、SBI活动和员工
get_company_locations 按KVK编号列出公司的所有地点(遗迹),包括商业和非商业地点的计数和详细信息
get_location_profile 通过查询编号获取位置配置文件(查询profiel),包括完整地址、业务活动、员工细分、网站和商业指标
get_trade_names 获取KVK号码的所有商品名(handelsnamen),包括每个分支机构的法定名称、商业和非商业名称

突变

工具 说明
list_subscriptions 列出KVK Mutates服务的所有突变订阅(abonnementen)——返回带有ID和描述的活动订阅
list_signals 列出特定订阅的突变信号(signalen)——返回按日期范围过滤的分页变化信号列表
get_signal 通过订阅ID和信号ID获取特定突变信号的完整详细信息

工具集筛选

通过仅启用所需的工具类别来减少上下文窗口的使用。设置 KVK_TOOLSETS 将环境变量转换为逗号分隔的列表:

KVK_TOOLSETS=search
工具集 包含的工具
search 在Handelsregister中搜索公司
profiles 基本配置文件、所有者、主要位置、所有位置、位置配置文件和商品名
mutations 突变订阅、信号和信号详细信息(突变服务)

如果未设置,则启用所有工具集。无效名称将被忽略;如果所有名称都无效,则启用所有工具集作为回退。

密钥标识符

标识符 格式 描述
KVK号码 8位数字(例如。 12345678) 唯一的公司注册号
办事处编号 12位数字(例如。 000012345678) 唯一的分支机构/位置编号
RSIN 9位数字(例如。 123456789Legal Entity Identifier (法人和合作伙伴识别号码)

例子

一旦连接,您可以用简单的荷兰语提问:

  • “搜索阿姆斯特丹 'Acme' 名称的公司”
  • “查找电子邮件编号12345678”
  • “显示KVK 69599084的公司简介”
  • “这家公司的业务活动(SBI规范)是什么?”
  • “输入办公室编号000012345678的办公室详细信息”
  • “KVK 12345678使用哪些商标?”
  • “查找阿姆斯特丹Herengracht的所有活跃公司”
  • “这家公司有多少员工?”
  • “谁拥有KVK 12345678?”
  • “这家公司的总部在哪里?”
  • “显示KVK 12345678的所有分支机构”

示例用法

连接后,您可以使用自然语言与KVK API进行交互:

  • “在阿姆斯特丹搜索名为‘Acme’的公司”
  • “查找KVK编号12345678”
  • “显示KVK 69599084的公司简介”
  • “这家公司的业务活动(SBI代码)是什么?”
  • “获取查询编号000012345678的位置详细信息”
  • “KVK 12345678使用什么商品名?”
  • “查找阿姆斯特丹Herengracht上所有活跃的公司”
  • “这家公司有多少员工?”
  • “KVK 12345678的所有者是谁?”
  • “这家公司的主要位置在哪里?”
  • “列出KVK 12345678的所有位置”
  • “显示我的突变订阅”
  • “此订阅有哪些变化?”

社区

发展

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

# Type check
pnpm typecheck

项目结构

src/
  index.ts              # Entry point (stdio transport)
  server.ts             # MCP server setup and toolset filtering
  kvk-client.ts         # KVK API HTTP client with caching and retry
  cache.ts              # TTL-based in-memory response cache
  types.ts              # TypeScript interfaces for KVK API
  tool-result.ts        # Error formatting with recovery suggestions
  update-checker.ts     # NPM update notifications
  tools/
    search.ts           # Company search in the Handelsregister
    profiles.ts         # Company profiles, owner, locations, and trade names
    mutations.ts        # Mutation subscriptions and signals (Mutatieservice)

需求

许可证

麻省理工学院-见 许可证 了解详情。