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.51.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.51.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: interloper_mcp-0.51.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.51.0.tar.gz
Algorithm Hash digest
SHA256 4ed5efe829f3455b6120731b189c44bfb16162aecb677ae83f880fb85029b6e0
MD5 ba9906373328f39acfbec4b6daf06c67
BLAKE2b-256 d1e1cbba7d94b1299267c041d479f76eb5e58af624e452195084f39dd9bbddfe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: interloper_mcp-0.51.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.51.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6aefeb7a9e9db14ce01047c94a6223c1b20fa0d05c46fa15dc8aa87098e50a2d
MD5 d2976e1858c2c1be8c3b595ff14d02b9
BLAKE2b-256 8ae5e075608346c21e67714e0adfc92d18a70378ce43fa0c919909d01fdd4ae3

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