kvk mcp
](https://www.npmjs.com/package/kvk-mcp)  ](https://nodejs.org/)   
一个 模型上下文协议 (MCP)服务器 API千伏 (商会)。搜索商业登记处、获取公司简介、查看营业详情和商业名称,所有这些都可以在您的 AI 应用程序中使用自然语言。
让我们来: 这是一个非官方的,由社区维护的项目,不与中小企业有关或批准。
社区建设 模型上下文协议 (MCP)服务器 API千伏 (Kamer van Koophandel/荷兰商会)。搜索Handelsregister,检索公司简介、位置详细信息和商品名——所有这些都可以通过任何兼容MCP的AI客户端通过自然语言完成。
注: 这是一个非官方的、由社区维护的项目,与KVK无关或不受其认可。
快速启动
你不需要克隆这个仓库。
- 确保安装了 Node.js 20+(您的 AI 应用程序正在运行)
npxop-je机器) - 获取KVK API密钥(见 API密钥设置)
- 将服务器添加为 AI 应用程序中的 MCP 服务器(复制下面的配置)
- 用简单的荷兰语提问(见 例子)
快速入门(非开发人员)
您不需要克隆此仓库。
- 确保已安装Node.js 20+(您的AI应用程序将运行
npx在您的机器上) - 获取KVK API密钥(请参阅 API密钥设置)
- 将服务器作为MCP服务器添加到您的AI应用程序中(复制/粘贴下面的配置)
- 用通俗易懂的语言提问(见 示例用法)
添加到Claude桌面(也适用于协作)
Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。
- 打开您的Claude Desktop MCP配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\\Claude\\claude_desktop_config.json
- 添加此服务器条目(或将其合并到现有的
mcpServers):
{
"mcpServers": {
"kvk-mcp": {
"command": "npx",
"args": ["-y", "kvk-mcp"],
"env": {
"KVK_API_KEY": "your-api-key"
}
}
}
}- 重新启动克劳德桌面
添加到其他AI应用程序
大多数MCP应用程序都有一个类似“添加MCP服务器”的屏幕,您可以在其中填写:
- 命令:
npx - Args:
-y kvk-mcp - 环境:
KVK_API_KEY=your-api-key
如果你的应用程序需要JSON,粘贴它并将顶级键名调整到你的客户端(常见的是 mcpServers, servers,或 context_servers):
{
"": {
"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
- 修复:验证您的KVK API订阅是否与您正在使用的工具匹配(请参阅 每个工具的API订阅).
特性
- 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(使顶级密钥适应您的主机):
{
"": {
"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-mcpCodex CLI(OpenAI)
codex mcp add kvk-mcp \
--env KVK_API_KEY=your-api-key \
-- npx -y kvk-mcpGemini 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-mcpCodex 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命令服务器) - 此服务器公开的工具名称和工具模式
什么是特定于主机/供应商的(不可移植):
- 主机配置密钥名称(
servers,mcpServers,context_servers,mcp_servers) - 主机UX/添加服务器的工作流(CLI命令、UI菜单、设置路径)
- 人类特有的概念,如 Claude Desktop本地MCP服务器, Claude连接器通过远程MCP,以及 Claude代码插件 用于联合工作流程
安全说明
- 信任模型: 允许调用此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密钥
- 在以下网址注册 KVK开发者门户
- 导航至 API 请求 (请求API)
- 订阅您需要的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
- 您的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)需求
- Node.js>=20
- A. KVK开发者门户 API订阅帐户
许可证
麻省理工学院-见 许可证 了解详情。
