
Northdata Mcp
io.github.p-meierPublished by GitHub account p-meierv0.1.1Updated Oct 24, 2026
NorthData API for German company, owner, and financial data — with a built-in credit guard.
Overview
Local MCP server that gives an assistant NorthData's German company, person and financial data, with a built-in credit guard against costly calls.
- What you can do
- Suggest company or person names and look up reference data such as standards, countries, legal forms and segment codes, plus billing usage and the local credit log, all free of credits. Run power searches over companies by segment, legal form, address, country, status and revenue or earnings ranges. Fetch full company profiles by register number or name, including owners, financials, representatives and events. Look up persons with birth date and known roles, and retrieve publications such as shareholder lists. Preview any billed request with a dry run before spending credits.
- When to use it
- Useful when an assistant needs German company, owner or financial research, such as screening companies by size or sector, checking a company profile, or tracing people and shareholder publications. Worth adding if you already have a NorthData API key and want that data inside a chat client.
- Requirements
- Runs locally as a Python package (pipx or uvx) launched over stdio by the MCP client. Requires a NorthData API key supplied in the NORTHDATA_API_KEY environment variable. Optional variables NORTHDATA_APPROVAL_THRESHOLD, NORTHDATA_ABSOLUTE_MAX and NORTHDATA_CREDIT_LOG tune the credit guard and log path. Network access to the NorthData API is needed.
Installation
In SourceWeft
- Open Northdata Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
NorthData MCP Server
Connect the NorthData company-data API to Claude Desktop, Claude Code, Cursor, and other AI assistants.
The Model Context Protocol (MCP) standardizes how Large Language Models (LLMs) talk to external services like NorthData. This server exposes NorthData's suggest, search, company, person, publications, reference, and billing endpoints as MCP tools, with a built-in credit guard that prevents accidental high-cost calls. See the full list of tools.
Built on FastMCP v3. Uses stdio transport — the MCP client launches northdata-mcp as a subprocess.
Setup
1. Read the security notes
Before running the server, skim the security considerations. NorthData costs real money per returned company, and MCP lets LLMs spend those credits autonomously. The credit guard mitigates this, but defence in depth matters.
2. Install the server
This pulls in the sibling northdata-cli package automatically and exposes the northdata-mcp console script globally.
Alternative via uv:
3. Get a NorthData API key
Obtain a key at https://www.northdata.com. You'll put it into the MCP client config in the next step.
Optional credit-guard overrides (set as env vars in the MCP client config):
4. Configure your MCP client
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) — adjust the path on Windows / Linux:
Restart Claude Desktop. The NorthData tools will appear in the tool picker.
Claude Code
Cursor
Add to ~/.cursor/mcp.json:
Any MCP client (generic)
Run northdata-mcp as a subprocess and speak MCP over stdio. The environment must contain NORTHDATA_API_KEY.
Tools
Note: this server is pre-1.0, expect minor breaking changes between versions.
Every tool is a thin wrapper around the equivalent northdata-cli command. Tools are tagged free (no credits spent) or billed (consumes NorthData credits). MCP annotations (readOnlyHint, openWorldHint) are set on every tool so well-behaved clients can surface them in the UI.
Free tools
No NorthData credits are consumed by these tools.
suggest— Autocomplete company or person names. Cheap first step before spending a credit oncompanyorperson.billing— Current remote credit usage for the billing period (numberOfRequests,periodStart,periodEnd).reference_overview— API reference data: standards, countries, legal forms, events.reference_segment_codes— Complete segment-code list for a given standard (defaultNACE2025).local_credit_log— Credit log maintained locally by this server: total, per-month, per-entry breakdown.
Billed tools
Every one of these spends NorthData credits. NorthData charges per returned company, not per request. The credit guard enforces a two-tier ceiling on search (see Credit guard). All billed tools accept dry_run=true to build and return the URL without spending credits.
search— Power search. Cost: up tolimitcredits. Filters:segment_codes,segment_standard,legal_forms,address,max_distance_km,countries,status,revenue_min/max,earnings_min/max,limit,pos,approve_high_cost.company— Full company profile (1 credit). Identify byregister(e.g.HRB 123456/Muenchen) or byname+ optionalcity. Toggles:owners,financials,representatives,extras,sheets,events.person— Person lookup (1 credit). Returns birth date and known roles. Takesfirst_name,last_name, optionalcity.publications— Publications lookup (1 credit). Useful for shareholder lists viasource="Hrb".
Credit guard
NorthData bills per returned company. A single search call with limit=100 costs up to 100 credits. This server enforces two tiers:
Every billed tool call is appended to the local credit log (JSON-lines). The local_credit_log tool surfaces it. The log is informational; billing remains the source of truth.
Use dry_run=true on any billed tool to inspect the request URL before spending anything.
Security considerations
Connecting a credit-consuming data source to an LLM carries real costs and real risks. A malicious or malformed prompt can cause an agent to burn credits, leak structured company data into an untrusted chat, or combine NorthData data with other tools in unintended ways.
Recommendations
- Keep the credit guard strict. The defaults (approval 25, absolute max 100) exist to prevent a runaway agent from draining your credits in a single call. Only raise them deliberately.
- Prefer free tools during exploration.
suggest,reference_*, andbillingare free. LLMs should call these before moving tocompany/person/publications. - Use
dry_run=truewhen experimenting with new search parameters or register identifiers. - Review tool calls before approval. Most MCP clients (Claude Desktop, Cursor) ask you to approve each tool call. Leave that setting on.
- Limit scope per session. Launch the server with a trial API key, not your main production key, when giving it to an agent for open-ended work.
- Prompt injection. NorthData responses contain user-generated text (company descriptions, publications) that an adversary could stuff with instructions. Treat tool output as untrusted data, not as trusted instructions to the LLM.
Development
Tests use FastMCP's in-memory transport — no subprocess, no network. The underlying NorthDataClient is injected via a mock factory backed by httpx.MockTransport.
Resources
- Model Context Protocol: https://modelcontextprotocol.io
- FastMCP v3 docs: https://gofastmcp.com
- NorthData API: https://github.com/northdata/api
- Sibling package:
northdata-cli— same tools, plain command-line
License
MIT. See LICENSE.
Source: northdata-mcp/README.md at commit a9779dd
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.