Rejestr.io MCP Server
Provides access to Poland's largest business registry database, enabling company search, beneficiary checks, and financial document retrieval via natural language.
README
Rejestr.io MCP Server
A Model Context Protocol (MCP) server providing access to Poland's largest business registry database - rejestr.io.
š What is this?
This MCP server enables AI assistants and applications to:
- š Search companies by name, NIP (Tax ID), or KRS (Court Register)
- š¢ Retrieve detailed company information
- š„ Check real beneficiaries from CRBR (Central Register of Real Beneficiaries)
- š Analyze connections between companies and individuals
- š Access financial documents and statements
- š Browse KRS (National Court Register) records
šÆ Choose Your Setup
š¤ Are you a Claude Desktop user? ā Jump to Claude Desktop Setup
šØāš» Are you a developer/want local control? ā Jump to Developer Setup
š¤ For Claude Desktop Users
This section is for non-technical users who want to use this MCP server with Claude Desktop app.
Step 1: Get rejestr.io API Key
- Register at rejestr.io
- Purchase an API plan (various options available)
- Copy your API key from the user panel
Step 2: Install Python
- Download Python 3.13 or newer from python.org
- During installation, check "Add Python to PATH"
- Verify installation by opening terminal and typing:
python --version
Step 3: Download and Configure Server
- Download this repository (green "Code" button ā "Download ZIP") and extract it
- Create a
.envfile in the main project folder with your API key:REJESTR_IO_API_KEY=your_api_key_here
Step 4: Configure Claude Desktop
-
Open Claude Desktop config file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
Add this configuration (replace
PATH_TO_PROJECTwith full path to project folder):Windows:
{ "mcpServers": { "rejestr-io": { "command": "python", "args": ["-m", "rejestr_io_mcp"], "cwd": "C:\\Users\\YourName\\rejestr-io-mcp", "env": { "PYTHONPATH": "C:\\Users\\YourName\\rejestr-io-mcp" } } } }macOS/Linux:
{ "mcpServers": { "rejestr-io": { "command": "python3", "args": ["-m", "rejestr_io_mcp"], "cwd": "/home/your_name/rejestr-io-mcp", "env": { "PYTHONPATH": "/home/your_name/rejestr-io-mcp" } } } } -
Save the file and restart Claude Desktop
Step 5: Test It
Open Claude Desktop and ask:
Check my rejestr.io account balance
If everything works correctly, Claude should return your account balance information.
š Troubleshooting (Claude Desktop)
Claude doesn't see the tools:
- Verify paths in
claude_desktop_config.jsonare correct - Make sure
.envfile contains valid API key - Restart Claude Desktop completely
Authorization error:
- Check if API key in
.envis correct - Verify your API plan is active at rejestr.io
- Check account balance
Import errors:
- Ensure Python is installed correctly
- Check Python version:
python --version(requires 3.13+) - Try reinstalling:
pip install httpx python-dotenv mcp
šØāš» For Developers / Local Usage
This section is for developers who want to integrate this MCP server with custom agents, applications, or use it locally.
Quick Start
# Clone the repository
git clone https://github.com/your-user/rejestr-io-mcp.git
cd rejestr-io-mcp
# Create virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# or
.venv\Scripts\Activate.ps1 # Windows PowerShell
# Install dependencies
pip install -e .
# Create .env file with your API key
echo "REJESTR_IO_API_KEY=your_api_key_here" > .env
Local Testing
# Run server in stdio mode
python -m rejestr_io_mcp
# Use MCP Inspector for interactive testing
npx @modelcontextprotocol/inspector python -m rejestr_io_mcp
Integration with Custom Agents
The server communicates via stdio using the Model Context Protocol. Example integration:
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def run_agent():
server_params = StdioServerParameters(
command="python",
args=["-m", "rejestr_io_mcp"],
env={"REJESTR_IO_API_KEY": "your_key_here"}
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# List available tools
tools = await session.list_tools()
print(f"Available tools: {[tool.name for tool in tools.tools]}")
# Call a tool
result = await session.call_tool(
"get_company_info_using_nip",
arguments={"nip": "5252408074"}
)
print(result)
asyncio.run(run_agent())
Project Structure
rejestr-io-mcp/
āāā rejestr_io_mcp.py # Main MCP server implementation
āāā pyproject.toml # Project configuration & dependencies
āāā .gitignore # Git ignore file
āāā README.md # This documentation
Environment Variables
REJESTR_IO_API_KEY(required) - Your rejestr.io API key
Dependencies
- Python 3.13+
- httpx >= 0.28.1 - Async HTTP client
- mcp >= 1.25.0 - Model Context Protocol SDK
- python-dotenv - Environment variable management
API Endpoints Used
All endpoints use https://rejestr.io/api/v2 base URL:
GET /org?nazwa={name}- Search companiesGET /org/{krs}- Get company by KRSGET /org/nip/{nip}- Get company by NIPGET /org/{krs}/crbr- Get beneficiariesGET /org/{krs}/krs-powiazania- Get company connectionsGET /osoby/{id}- Get person dataGET /osoby/{id}/krs-powiazania- Get person connectionsGET /org/{krs}/krs-rozdzialy/{chapter}- Get KRS chapterGET /org/{krs}/krs-dokumenty- List financial documentsGET /org/{krs}/krs-dokumenty/{doc_id}?format=json- Get financial statement (costs 0.50 PLN)GET /konto/stan- Check account balance
Adding to Other MCP Clients
For Cline (VSCode extension): Add to your VSCode settings:
{
"mcp.servers": {
"rejestr-io": {
"command": "python",
"args": ["-m", "rejestr_io_mcp"],
"cwd": "/path/to/rejestr-io-mcp"
}
}
}
For custom applications: Use the MCP SDK to connect to the server via stdio transport.
š ļø Available Tools
Company Search
-
get_company_info_using_name- Search company by nameFind information about "CD Projekt" company -
get_company_info_using_nip- Get company data by NIP (Tax ID)Show company with NIP 5252408074 -
get_company_info_using_krs- Get company data by KRS numberWhat are the details of company KRS 0000012345?
Detailed Information
-
get_company_krs_documentation- Get specific KRS chapter- Available chapters:
ogolny,oddzialy,akcje,wzmianki,zobowiazania,przeksztalcenia
Show general chapter from KRS for company 0000012345 - Available chapters:
-
get_person_data- Get person informationShow data for person ID 123456
Beneficiaries and Connections
-
get_beneficiary- List of real beneficiaries from CRBRWho is the beneficiary of company KRS 0000012345? -
get_connections_by_krs- Company connectionsShow all connections for company KRS 0000012345 -
get_connections_by_person- Person connectionsIn which companies does person ID 123456 operate?
Financial Documents
-
get_financial_documents- List of financial documentsShow available financial statements for KRS 0000012345 -
get_financial_statement_in_json- Download statement (costs 0.50 PLN)Download financial statement document ID 789 for KRS 0000012345
Account Management
get_token_amount- Check account balanceHow much credit do I have on my rejestr.io account?
š” Usage Examples
Company Analysis
Find "Allegro" company and show:
1. Basic information
2. Real beneficiaries
3. All connections with other companies
Due Diligence
For company KRS 0000012345 check:
- Is it in liquidation or bankruptcy
- Who is the real beneficiary
- What connections it has with other entities
- Latest financial statements
Person Analysis
Find Jan Kowalski in company X, then show all companies
where this person holds any position
š Important Notes
- ā ļø Costs: Downloading financial statements in JSON costs 0.50 PLN per document, rest operations are cost per usage.
- š Security: Never share your API key. The
.envfile should be in.gitignore - š Limits: Check your API plan limits at rejestr.io
- š Updates: Data in rejestr.io is regularly updated from official registries
š Additional Resources
š License
MIT License - feel free to use, modify, and distribute this code.
š¤ Contributing
Bug reports and pull requests are welcome!
Made with ā¤ļø for the Polish business data community
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.