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

Uploaded Python 3

File details

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

File metadata

  • Download URL: interloper_mcp-0.50.1.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.50.1.tar.gz
Algorithm Hash digest
SHA256 3990957ebbb74acdc10269c2a8f0e7b1be6bfcde9912a7a039a6c9e1b1070fad
MD5 dc8e43e6f9fbc186b33a69e3a91b4765
BLAKE2b-256 ae791d46535a00972dfb1996f2ef17a766e5738d24360199b836fe20d313c9f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: interloper_mcp-0.50.1-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.50.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9de0f14ca5f327dbff155c02a24bef3db7569d299fcafd2ea493840e70e8d95
MD5 3da4c279729a0af250f69e018758fdbf
BLAKE2b-256 81f23c465bc49839fa7e52e61d903721dfa4b2ecef2c8062cd24fdc8f0505ef9

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