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.84.1
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.84.1.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| interloper_mcp-0.84.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.5 kB
Release files / interloper_mcp-0.84.1.tar.gz
| Download URL | interloper_mcp-0.84.1.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af4e47a649610325580ae1f1ab88d3e413e9bf762d3027e0f062333e3ea5268f
|
|
BLAKE2b-256 checksum How to use checksums |
6e01e4005a3ca39d1e54cea13ab493727bd94be84250a22068a80c8be16aee5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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.84.1-py3-none-any.whl
| Download URL | interloper_mcp-0.84.1-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef13d62d3a646d6641d40cff9a99927ddc3614e785ffed0c8d0b22c3446523dc
|
|
BLAKE2b-256 checksum How to use checksums |
c7bfb1360f3dfedec25adae110322b687a51419d34c9cc42d0ae52969295a6c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","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}
|