mcpField
N
northdata-mcp

northdata-mcp

本地服务
github.com/p-meier商业与营销428 周前更新

关于 northdata-mcp

northdata-mcp 将 NorthData 企业数据服务接入 MCP 客户端,供企业和个人信息研究使用。它提供搜索、档案、出版物、参考数据及账单工具,并为消耗额度的请求设置防护。

主要功能

  1. 01搜索企业和个人记录
  2. 02获取企业档案与出版物
  3. 03查询参考数据和账单
  4. 04通过 dry_run 预览计费请求
  5. 05以审批和硬上限约束搜索
  6. 06将计费调用记录到本地额度日志

适用场景

  1. 01研究德国企业及其所有者
  2. 02查看企业财务信息和出版物
  3. 03在高成本搜索前检查额度使用

MCP 相关

该服务通过 stdio 将 NorthData API 端点作为 MCP 工具提供。客户端以子进程方式启动 `northdata-mcp`,并通过环境变量提供 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"p-meier-northdata": {
"command": "uvx",
"args": [
"northdata-mcp"
],
"env": {
"NORTHDATA_API_KEY": "<NORTHDATA_API_KEY>",
"NORTHDATA_APPROVAL_THRESHOLD": "<NORTHDATA_APPROVAL_THRESHOLD>",
"NORTHDATA_ABSOLUTE_MAX": "<NORTHDATA_ABSOLUTE_MAX>",
"NORTHDATA_CREDIT_LOG": "<NORTHDATA_CREDIT_LOG>"
}
}
}
}
启动命令uvx northdata-mcp
需要配置的环境变量
NORTHDATA_API_KEY密钥Your NorthData API key. Obtain one at https://www.northdata.com
NORTHDATA_APPROVAL_THRESHOLDPower-search 'limit' above this requires approve_high_cost=true. Default: 25.
NORTHDATA_ABSOLUTE_MAXHard ceiling for power-search 'limit'. Default: 100. Flag-immune.
NORTHDATA_CREDIT_LOGPath to the local credit log file. Default: ~/.northdata/credits.jsonl

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypinorthdata-mcp0.1.1

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否建议数量上限
querystring是公司或个人名称/片段
domainstring否'company' 或 'person'
statusstring否'active'、'inactive' 或 'all'
countriesstring否以竖线分隔的 ISO 国家代码

详细介绍

NorthData MCP Server

将 NorthData 公司数据 API 接入 Claude Desktop、Claude Code、Cursor 和其他 AI 助手。

Model Context Protocol(MCP)规范了大语言模型(LLM)与 NorthData 等外部服务的交互方式。此服务将 NorthData 的 suggest、search、company、person、publications、reference 和 billing 端点公开为 MCP 工具,并内置额度保护机制,防止意外产生高额费用。请参阅完整工具列表。

基于 FastMCP v3 构建。使用 stdio 传输方式——MCP 客户端会将 northdata-mcp 作为子进程启动。


设置

1. 阅读安全说明

运行服务前,请先浏览安全注意事项。NorthData 会按返回的公司数量收取实际费用,而 MCP 允许 LLM 自主消耗这些额度。额度保护机制可以降低风险,但纵深防御同样重要。

2. 安装服务
pipx install northdata-mcp

这会自动安装同级的 northdata-cli 软件包,并在全局公开 northdata-mcp 控制台脚本。

也可以通过 uv 安装:

uvx northdata-mcp --help
3. 获取 NorthData API 密钥

在 https://www.northdata.com 获取密钥。下一步需要将其填入 MCP 客户端配置。

可选的额度保护机制覆盖设置(在 MCP 客户端配置中设为环境变量):

环境变量默认值用途
NORTHDATA_APPROVAL_THRESHOLD25search 的 limit 超过此值时,必须设置 approve_high_cost=true
NORTHDATA_ABSOLUTE_MAX100search 的 limit 硬性上限,不受标志位影响
NORTHDATA_CREDIT_LOG~/.northdata/credits.jsonl本地额度日志路径
4. 配置 MCP 客户端
Claude Desktop

将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)——请根据 Windows / Linux 调整路径:

{
  "mcpServers": {
    "northdata": {
      "command": "northdata-mcp",
      "env": {
        "NORTHDATA_API_KEY": "XXXX-XXXX"
      }
    }
  }
}

重启 Claude Desktop。NorthData 工具将显示在工具选择器中。

Claude Code
claude mcp add northdata --env NORTHDATA_API_KEY=XXXX-XXXX -- northdata-mcp
Cursor

将以下内容添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "northdata": {
      "command": "northdata-mcp",
      "env": { "NORTHDATA_API_KEY": "XXXX-XXXX" }
    }
  }
}
任意 MCP 客户端(通用)

将 northdata-mcp 作为子进程运行,并通过 stdio 使用 MCP 通信。环境中必须包含 NORTHDATA_API_KEY。


工具

**注意:**此服务尚未达到 1.0 版本,不同版本之间可能会有小幅破坏性变更。

每个工具都是对应 northdata-cli 命令的轻量封装。工具分为 free(不消耗额度)或 billed(消耗 NorthData 额度)两类。每个工具都设置了 MCP 注解(readOnlyHint、openWorldHint),以便行为规范的客户端在界面中显示这些信息。

免费工具

这些工具不会消耗 NorthData 额度。

  • suggest — 自动补全公司或个人名称。在使用 company 或 person 消耗额度前,可先执行此操作。
  • billing — 当前计费周期的远程额度使用情况(numberOfRequests、periodStart、periodEnd)。
  • reference_overview — API 参考数据:标准、国家、法律形式、事件。
  • reference_segment_codes — 指定标准的完整细分代码列表(默认值为 NACE2025)。
  • local_credit_log — 此服务在本地维护的额度日志:总计、按月统计和逐条明细。
计费工具

以下每个工具都会消耗 NorthData 积分。NorthData 按返回的公司数量计费,而非按请求计费。积分保护机制会对 search 执行两级限额(参见积分保护)。所有计费工具都接受 dry_run=true,用于生成并返回 URL,而不消耗积分。

  • search — 高级搜索。费用:最多消耗 limit 个积分。筛选条件:segment_codes、segment_standard、legal_forms、address、max_distance_km、countries、status、revenue_min/max、earnings_min/max、limit、pos、approve_high_cost。
  • company — 完整公司档案(1 个积分)。通过 register(例如 HRB 123456/Muenchen)或 name + 可选的 city 进行识别。开关:owners、financials、representatives、extras、sheets、events。
  • person — 人员查询(1 个积分)。返回出生日期和已知职位。接受 first_name、last_name 和可选的 city。
  • publications — 公告查询(1 个积分)。通过 source="Hrb" 查询股东名单等信息。

积分保护

NorthData 按返回的公司数量计费。一次 limit=100 的 search 调用最多消耗 100 个积分。此服务设有两级限额:

层级默认值覆盖设置
审批阈值 — limit 超过此值时,必须设置 approve_high_cost=true25NORTHDATA_APPROVAL_THRESHOLD
绝对上限 — 硬性上限,不受 approve_high_cost 影响100NORTHDATA_ABSOLUTE_MAX(必须由人工显式设置,绝不能由 LLM 设置)

每次计费工具调用都会追加到本地积分日志(JSON 行格式)。local_credit_log 工具可查看该日志。日志仅供参考;billing 才是计费情况的准确信息来源。

对任何计费工具使用 dry_run=true,可在消耗积分前检查请求 URL。


安全注意事项

将会消耗积分的数据源连接到 LLM,既会产生实际费用,也会带来真实风险。恶意或格式错误的提示词可能导致 Agent 消耗大量积分、将结构化公司数据泄露到不可信的聊天中,或以非预期的方式将 NorthData 数据与其他工具结合使用。

建议
  • 严格设置积分保护。 默认值(审批阈值为 25,绝对上限为 100)旨在防止 Agent 一次调用就耗尽积分。只有在经过审慎考虑后才提高限额。
  • 探索时优先使用免费工具。 suggest、reference_* 和 billing 均免费。LLM 应先调用这些工具,再使用 company / person / publications。
  • 尝试新的搜索参数或注册编号时,使用 dry_run=true。
  • 审批前检查工具调用。 大多数 MCP 客户端(Claude Desktop、Cursor)都会要求你审批每次工具调用。请保持此设置开启。
  • 限制每次会话的范围。 将服务交给 Agent 进行开放式工作时,请使用试用 API 密钥,而非主要的生产密钥。
  • 提示词注入。 NorthData 响应包含用户生成的文本(公司描述、公告),攻击者可能会在其中塞入指令。应将工具输出视为不可信数据,而非可信的 LLM 指令。

开发

cd northdata-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e "../northdata-cli"   # local editable CLI
pip install -e ".[dev]"
pytest

测试使用 FastMCP 的内存传输方式,无需子进程,也无需网络。底层的 NorthDataClient 通过基于 httpx.MockTransport 的模拟工厂注入。


资源


许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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