ARES MCP Server
A Model Context Protocol (MCP) server that provides access to the Czech ARES (Administrativní registr ekonomických subjektů) API - the official business registry of the Czech Republic.
Demo
See the ARES MCP Server in action within Claude Desktop:
The demo shows:
- 🔍 Searching for companies by name (e.g., "AiMingle")
- 📋 Getting detailed company information by IČO
- ✅ Validating IČO numbers
- 🏢 Searching in specific registries
- 📊 Using advanced filters (legal form, CZ-NACE codes, etc.)
Quick Start
-
Install the server:
git clone https://github.com/yourusername/ares-mcp-server.git cd ares-mcp-server pip install -e .
-
Add to Claude Desktop config:
{ "mcpServers": { "ares": { "command": "python3", "args": ["-m", "ares_mcp_server.server"], "cwd": "/path/to/ares-mcp-server" } } }
-
Restart Claude Desktop and start searching Czech companies!
Features
- Full implementation of ARES API endpoints
- Complex search with multiple filters (IČO, name, address, legal form, CZ-NACE, etc.)
- Registry-specific searches (Public Registry, Trade Registry, Schools, etc.)
- Built-in rate limiting
- Optional authentication support
- Proper Czech naming following the API documentation
Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
Installation
Quick Install
# Clone the repository
git clone https://github.com/yourusername/ares-mcp-server.git
cd ares-mcp-server
# Run automated setup
./run.sh # macOS/Linux
# or
run.bat # Windows
Manual Installation
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create configuration
cp .env.example .env
Configuration
Configure the server using environment variables in .env:
# Rate limiting (default: 100 requests per 60 seconds)
ARES_RATE_LIMIT_REQUESTS=100
ARES_RATE_LIMIT_WINDOW=60
# Optional authentication token
ARES_AUTH_TOKEN=your_token_here
# Logging level
LOG_LEVEL=INFO
Claude Desktop Configuration
Add to your Claude Desktop configuration file:
macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ares": {
"command": "python3",
"args": ["-m", "ares_mcp_server.server"],
"cwd": "/path/to/ares-mcp-server"
}
}
}
Available Tools
1. vyhledat_ekonomicke_subjekty
Main search tool - Search economic entities using complex filters
Parameters:
start(optional): Starting position (default: 0)pocet(optional): Number of results (default: 20, max: 200)razeni(optional): Sort order array ["ICO", "OBCHODNI_JMENO_DESC", etc.]ico(optional): Array of IČO numbers to searchobchodniJmeno(optional): Business namesidlo(optional): Address filter objectkodCastiObce: District codekodObce: Municipality codetextovaAdresa: Text address search- etc.
pravniForma(optional): Array of legal form codesfinancniUrad(optional): Array of tax office codesczNace(optional): Array of CZ-NACE activity codes (max 5)
2. najit_ekonomicky_subjekt
Get detailed information about a specific economic entity
Parameters:
ico(required): IČO number (8 digits)
3. vyhledat_v_registru
Search in a specific registry
Parameters:
registry(required): Registry codevr: Veřejné rejstříky (Public Registers)res: Registr ekonomických subjektů (Economic Entities)rzp: Registr živnostenského podnikání (Trade Licensing)nrpzs: Národní registr poskytovatelů zdravotních služeb (Healthcare)rpsh: Registr politických stran a hnutí (Political Parties)rcns: Registr církví a náboženských společenství (Churches)szr: Společný zemědělský registr (Agricultural)rs: Registr škol (Schools)ceu: Centrální evidence úpadců (Bankrupts)
- Plus same search parameters as main search
4. najit_v_registru
Get entity from specific registry by IČO
Parameters:
registry(required): Registry codeico(required): IČO number
5. validovat_ico
Validate IČO format and check existence
Parameters:
ico(required): IČO to validate
6. vyhledat_ciselniky
Search codebooks and nomenclatures
7. vyhledat_adresy
Search standardized addresses
8. vyhledat_notifikace
Search notification batches
Example Usage in Claude Desktop
Once configured, you can interact with ARES data directly in Claude Desktop. Here are some common use cases:
🔍 Basic Company Search
Ask Claude: "Search for companies with name containing 'Microsoft' in ARES"
Claude will use:
vyhledat_ekonomicke_subjekty with:
- obchodniJmeno: "Microsoft"
- pocet: 10
📊 Get Company Details
Ask Claude: "Get details for company with IČO 26168685"
Claude will use:
najit_ekonomicky_subjekt with:
- ico: "26168685"
✅ Validate IČO
Ask Claude: "Is IČO 26168685 valid?"
Claude will use:
validovat_ico with:
- ico: "26168685"
🏭 Industry-Specific Search
Ask Claude: "Find all restaurants in Prague"
Claude will use:
vyhledat_ekonomicke_subjekty with:
- czNace: ["56"] # Restaurants and food service
- sidlo: { "nazevObce": "Praha" }
- pocet: 50
📋 Search Multiple Companies
Ask Claude: "Get info for companies with IČO 26168685 and 00000019"
Claude will use:
vyhledat_ekonomicke_subjekty with:
- ico: ["26168685", "00000019"]
🏢 Registry-Specific Search
Ask Claude: "Search for software companies in the trade registry"
Claude will use:
vyhledat_v_registru with:
- registry: "rzp"
- obchodniJmeno: "software"
Development
Project Structure
ares-mcp-server/
├── ares_mcp_server/
│ ├── __init__.py
│ ├── server.py # Entry point
│ ├── server_v3.py # Main server implementation
│ ├── api_client_v3.py # ARES API v3 client
│ └── tools_v3.py # Tool definitions
├── tests/
├── examples/
├── requirements.txt
├── pyproject.toml
└── README.md
Running Tests
source venv/bin/activate
pytest tests/
API Documentation
This server implements the official ARES API. For detailed API documentation, see:
- ARES Swagger UI
- ARES Website
- API Base URL:
https://ares.gov.cz/ekonomicke-subjekty-v-be/rest
Changelog
v0.3.0 (2025-07-04)
- Complete rebuild based on ARES API v3 specification
- Tool names now match API endpoints (Czech names)
- Proper parameter structure matching API documentation
- Support for all search filters including address components
- Added registry-specific search endpoints
- Added utility endpoints (codebooks, addresses, notifications)
License
MIT License
Support
For issues or questions:
- Create an issue on GitHub
- Check the ARES API documentation
Acknowledgments
This server integrates with the Czech ARES API provided by the Ministry of Finance of the Czech Republic.
Metadata
Release files for ares-mcp-server 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ares_mcp_server-0.3.2.tar.gz | 1.1 MB | Without provenance | Details for ares_mcp_server-0.3.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ares_mcp_server-0.3.2-py3-none-any.whl | Python 3 | none | any | Details for ares_mcp_server-0.3.2-py3-none-any.whl |
Total release size: 1.1 MB
Release files / ares_mcp_server-0.3.2.tar.gz
| Download URL | ares_mcp_server-0.3.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b5a743bfa4a05bb97c9be1454e335a4b7db0c619ab994982ceabe17bb5c8c69
|
|
BLAKE2b-256 checksum How to use checksums |
194bf679eec1e97ec9cd2d5176d9db04d688fc35412e261b48378a014ea45f1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / ares_mcp_server-0.3.2-py3-none-any.whl
| Download URL | ares_mcp_server-0.3.2-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e47076f1b4e42d84fed43a2ad917b71eabe8024efab919f6469a9ae7ee9521a2
|
|
BLAKE2b-256 checksum How to use checksums |
a74229eb3f9c4e542111bca4ea8add100c629eab5858e80d1a8f73eacffca177
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Security for ares-mcp-server 0.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.