interloper-mcp
A Model Context Protocol server exposing read-only interloper platform access to AI agents: catalog definitions, collection listings, lineage, run/backfill monitoring, and analytics.
Authentication uses personal access tokens (PATs) minted via the
interloper API (POST /api/tokens, session-authenticated). Tokens are
org-scoped and carry the holder's live role; revocation and membership
removal apply immediately.
Running
Streamable HTTP (default; binds INTERLOPER_MCP_HOST:INTERLOPER_MCP_PORT,
endpoint /mcp):
interloper-mcp
Clients authenticate every request with Authorization: Bearer ilp_....
stdio (single-user, authenticates once at startup):
INTERLOPER_MCP_TOKEN=ilp_... interloper-mcp --transport stdio
For local development without a token, INTERLOPER_MCP_ORG_ID=<uuid> scopes
the stdio server to one organisation directly.
Connecting clients
MCP Inspector:
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP, URL: http://localhost:3001/mcp
# Header: Authorization: Bearer ilp_...
Claude Code:
claude mcp add --transport http interloper http://localhost:3001/mcp \
--header "Authorization: Bearer ilp_..."
Settings
| Env var | Default | Purpose |
|---|---|---|
INTERLOPER_MCP_HOST |
0.0.0.0 |
HTTP bind host |
INTERLOPER_MCP_PORT |
3001 |
HTTP bind port |
INTERLOPER_MCP_EXTERNAL_URL |
— | Public base URL (e.g. https://mcp.interloper.app), used in OAuth protected-resource metadata |
INTERLOPER_MCP_TOKEN |
— | stdio only: PAT to authenticate as |
INTERLOPER_MCP_ORG_ID |
— | stdio only: dev fallback, direct org scope |
Database and catalog configuration is the standard interloper set
(INTERLOPER_POSTGRES_*, INTERLOPER_CATALOG, ...).
Deployment
The mcp dockerfile target ships as interloper-mcp:<version> alongside the
other role images (Makefile ROLES + the publish workflow). The Helm chart
deploys it with mcp.enabled=true — the workload shares the release's
Postgres/catalog configuration, sets INTERLOPER_MCP_EXTERNAL_URL from
mcp.externalUrl, and the chart's HTTPRoute forwards /mcp and
/.well-known/oauth-protected-resource on the app hostnames to it. What
remains for the operator is supplying the environment values and, if it should
not share the app's identity, a database identity of its own.
Metadata
Release files for interloper-mcp 0.89.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| interloper_mcp-0.89.0.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| interloper_mcp-0.89.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.8 kB
Release files / interloper_mcp-0.89.0.tar.gz
| Download URL | interloper_mcp-0.89.0.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba79ab379ca9763f298ab933e54ec3525f2e54662b23a16229321dbe37b4c020
|
|
BLAKE2b-256 checksum How to use checksums |
4a42ec0b52bda60cca516489d21428f6cdc0b13c8cc252486b74dc8067303b41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / interloper_mcp-0.89.0-py3-none-any.whl
| Download URL | interloper_mcp-0.89.0-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca5c4874fb5ce03d5ee4cafe37fd4c3d8d22feb6130d06e095641f65cfe97548
|
|
BLAKE2b-256 checksum How to use checksums |
8349513dc40fc7415f9a465c022f38002a844ff00c46c74c29972ca31b7ad3c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|