Skip to main content

Interloper MCP server — read-only platform access for AI agents

Project description

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 (not yet wired)

The container target would follow the existing dockerfile pattern:

FROM base AS build-mcp
COPY packages ./packages
RUN docker/uv-sync.sh interloper-core interloper-assets interloper-db interloper-toolkit interloper-mcp

FROM runtime AS mcp
COPY --from=build-mcp /interloper/.venv /interloper/.venv
USER app
EXPOSE 3001
CMD ["interloper-mcp"]

plus a mcp role in the Makefile/publish workflow, a Helm/Flux workload (apps/interloper/mcp/ with an HTTPRoute for mcp.interloper.app — wildcard DNS + TLS already cover it), and its own GSA/IAM DB user in terraform if it should not share the app's identity.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

interloper_mcp-0.52.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

interloper_mcp-0.52.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file interloper_mcp-0.52.0.tar.gz.

File metadata

  • Download URL: interloper_mcp-0.52.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

File hashes

Hashes for interloper_mcp-0.52.0.tar.gz
Algorithm Hash digest
SHA256 24fbbe3a47a356965246797151bc297a5eac5c64204fa0473e826266d453cbc5
MD5 fe5478c0679a8f66e3bc9f6162388a8a
BLAKE2b-256 019392bd3c5d8e3b9578d9ef14a7f287a8cde4461c087821bc5ffe7216ce6902

See more details on using hashes here.

File details

Details for the file interloper_mcp-0.52.0-py3-none-any.whl.

File metadata

  • Download URL: interloper_mcp-0.52.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

File hashes

Hashes for interloper_mcp-0.52.0-py3-none-any.whl
Algorithm Hash digest
SHA256 187a97082b2fa67be54e803d99e1f872936296d2f44e406b0ef5bfc5c0e3a58d
MD5 de74694dbdfbf8aa2ae10195d9fb84fe
BLAKE2b-256 50e72cbf5b197fdf9cebf4d843503311c6c98f812cafecc294e550fe9ee8f558

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page