OpenRegister MCP Server
A unofficial Model Context Protocol (MCP) server for accessing the OpenRegister API, providing tools to search and retrieve company information from the German company register.
Features
- Search for companies based on various criteria (name, register number, type, etc.)
- Get detailed company information including history, financials, and documents
- Retrieve company shareholders information
Requirements
- Python 3.9+
- uv
- OpenRegister API key (which you can get from https://openregister.de after you have created an account)
- Claude Desktop (or another MCP client that understands MCP)
Installation
-
Clone the repository:
git clone https://github.com/Syndicats/openregister-mcp.git cd openregister-mcp -
Create a virtual environment and install dependencies:
uv venv source .venv/bin/activate uv pip install "mcp[cli]" httpx dotenv -
Create a
.envfile based on the example:cp env.example .env -
Add your OpenRegister API key to the
.envfile:OPENREGISTER_API_KEY=your_api_key_here OPENREGISTER_API_URL=https://api.openregister.de/v0
Usage as MCP Server
Run the server within Claude Desktop, e.g. by editing the claude_desktop_config.json from Claude Desktop
{
"mcpServers": {
"openregister": {
"command": "uv",
"args": [
"--directory",
"<Absolute Path to openregister-mcp>/openregister-mcp",
"run",
"server.py"
]
}
}
}
Restart Claude Desktop so that the changes take effect.
Caution
Sometimes it is necessary to use the absolute path for uv. Then the JSON needs to be changed accordingly.
Available Tools
The server provides the following MCP tools:
-
search_companies - Search for companies based on various criteria
- Parameters:
query: Text search query to find companies by nameregister_number: Company register number for exact matchingregister_type: Type of register to filter results (e.g., "HRB", "HRA", "PR", "GnR", "VR")register_court: Court where the company is registeredactive: Filter for active or inactive companies (default: true)legal_form: Legal form of the company (e.g., "gmbh", "ag", "ug")
- Parameters:
-
get_company_info - Get detailed information about a company using its unique ID
- Parameters:
company_id: Unique company identifier (e.g., "DE-HRB-F1103-267645")history: Include historical company data (default: true)financials: Include financial data (default: true)documents: Include document metadata (default: true)
- Parameters:
-
get_company_shareholders - Retrieve the shareholders of a company
- Parameters:
company_id: Unique company identifier (e.g., "DE-HRB-F1103-267645")
- Note: Currently only supports companies with the legal form GmbH
- Parameters: