IPRATE Free Public MCP

MCP serverDatabases & data

This integration lets your AI pull free, anonymous selections from released European IP profiles, rankings, and market statistics. Once added, your AI can answer questions about European IP activity using this data. Access is anonymous and free.

Available today. Use it from your connected AI after setup.

After adding it, ask your AI to look up a European IP profile, ranking, or market statistic and it will fetch the data for you.

Then ask your AI: use IPRATE Free Public MCP to find ip representatives

What your AI can do with it

  • Look up released European IP profiles
  • Retrieve European IP rankings
  • Pull European IP market statistics
  • Query the data anonymously
  • Get data selections at no cost

From the project's README

As published by mkiskis/iprate-free-mcp in README.md.

Open-source adapter for IPRATE's four-tool, anonymous, read-only MCP endpoint:

https://mcp.iprate.eu/mcp

The adapter exposes bounded selections from one completed IPRATE static release:

  • find_ip_representatives
  • get_ip_representative_profile
  • get_ip_market_snapshot
  • get_iprate_coverage

It has no database, ORM, SQL, database credential, application-API fallback, or private IPRATE package dependency. Ratings and statistics are copied from released JSON assets; they are never recomputed by the MCP service. Anonymous calls are rate limited in memory (HTTP 429 with Retry-After; results are never silently truncated), and GET /healthz reports whether one internally consistent release is servable.

Static input

Set IPRATE_MCP_ASSET_ROOT to a completed /data/v1-shaped release directory containing manifest.json, the released cohort and global assets, and mcp/v0.1/catalog.json. Set IPRATE_MCP_ASSET_BASE_URL to the public URL used in source citations.

The catalogue is derived only from static profile assets:

iprate-free-mcp-build-catalog /path/to/data/v1

The builder fails if required indexes are missing, checksums differ, profile counts do not match the release manifest, or a profile asset is unreadable. It never imports or connects to IPRATE's database, API, models, or pipeline.

Release snapshots

In production the adapter never reads the live, mutating export tree. A refresher (iprate-free-mcp-refresh-release) watches the live manifest.json and, when a new release_id appears, copies every manifest-declared asset into an immutable per-release snapshot (checksum-verified against the manifest), builds the catalogue inside that snapshot, and atomically repoints a current symlink. The server keeps serving the previous complete release until the next one is activated; a release that changes while it is being snapshotted is abandoned and retried on the next pass. Snapshots contain no entity profile files — profile data enters only through the derived catalogue — and the catalogue is never written into the publicly served tree.

Development

python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest
.venv/bin/ruff check .

Run the adapter against a compatible static release:

export IPRATE_MCP_ASSET_ROOT=/path/to/data/v1
export IPRATE_MCP_ASSET_BASE_URL=https://iprate.eu/data/v1
iprate-free-mcp

The local endpoint is http://127.0.0.1:8000/mcp; liveness is GET /healthz.

Production containers

compose.yaml runs two hardened services built from the same image:

  • mcp — the server, unprivileged and read-only, mounting only the snapshot directory (read-only) and serving IPRATE_MCP_ASSET_ROOT=/data/current. It joins the existing runtime_default network for Cloudflare Tunnel routing and publishes no host port.
  • refresher — the snapshot builder, with network_mode: none, mounting the live export tree read-only and the snapshot directory read-write.
docker compose up -d --build

Environment overrides: IPRATE_STATIC_ROOT (live export tree), IPRATE_MCP_RELEASES_ROOT (snapshot directory), IPRATE_MCP_REFRESH_UID/GID (owner of the snapshot directory), IPRATE_MCP_RATE_LIMIT_PER_MINUTE (default 120), IPRATE_MCP_STALE_AFTER_DAYS (default 21). Neither service receives a database or application secret.

Documentation: https://iprate.eu/developers/mcp/

Licence

Adapter code is Apache-2.0. IPRATE data and website content have separate terms and licences; this code licence does not grant rights to them or to IPRATE trademarks.

Tools it offers (4)

What this server listed when ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.

  • find_ip_representatives
  • get_ip_representative_profile
  • get_ip_market_snapshot
  • get_iprate_coverage

Signals

Last commit
Aug 2026
Advanced
Delivery
ip-analytics MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
eu-iprate-ip-analytics
Source
github.com/mkiskis/iprate-free-mcp
Hosted endpoint
https://mcp.iprate.eu/mcp