FastMCP runtime — turn GraphQL operations into MCP tools
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"redhat-datalayer-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# datalayer-mcp MCP runtime library for the Datalayer platform. It turns curated GraphQL operation files into [FastMCP](https://gofastmcp.com/) tools backed by a GraphQL **supergraph** via [`datalayer-graphql`](../datalayer-graphql/). Each `.graphql` file in your operations directory becomes one MCP tool. Custom tools can reuse the same supergraph client for computed or aggregated logic. ## Features - **Config-driven bootstrap** — `mcp-config.yaml` for supergraph URL, auth, and paths - **Operation discovery** — scans a directory for `*.graphql` files at startup - **Auto tool registration** — one MCP tool per named GraphQL operation - **Variable schemas** — GraphQL variables mapped to Pydantic models → JSON Schema for MCP clients - **Custom tool support** — `@tool` handlers (from `fastmcp.tools`) with shared `get_client()` - **`.env` loading** — bearer token from a file next to your config (no manual `export`) - **Structured errors** — federation-aware `GraphQLError` wrapped as `OperationError` - **Session-managed client** — reuses HTTP connections via `async with SupergraphClient` ## Requirements - Python 3.13+ - [uv](https://docs.astral.sh/uv/) (recommended) - [`datalayer-graphql`](../datalayer-graphql/) (workspace dependency) - Network access to your GraphQL endpoint - A valid bearer token accepted by that endpoint ## Installation From the monorepo root: ```bash uv sync --package datalayer-mcp ``` With dev dependencies (for running tests): ```bash uv sync --package datalayer-mcp --group dev ``` As a workspace dependency in another package: ```toml dependencies = ["datalayer-mcp"] [tool.uv.sources] datalayer-mcp = { workspace = true } ``` ## Quick start ### 1. Project layout ``` my-mcp-server/ ├── mcp-config.yaml ├── .env # SUPERGRAPH_TOKEN (gitignored) ├── server.py ├── operations/ │ └── Cves.graphql └── tools/ ├── __init__.py └── custom.py # optional ``` A complete working example lives in [`examples/m…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.