Labsco
MCP SERVER

Point it at a URL, a database DSN or another MCP server and it works out the interface itself — discovery, auth, pagination and typed records, with no connector to write.

MCP Plumbing: Proxies, Registries & Inspectors
Summary
Read-only until you say otherwise, and it tells you the cost before it spends it.

Two decisions make this usable in an agent loop rather than just impressive: writes are gated behind an environment variable, and every adapter can be asked what a call would cost in tokens before the call happens. Errors carry a structured recovery with a next action — a 401 points at storing credentials, a 404 at repairing the adapter — so an agent can respond without parsing error prose.

What it is

An adapter layer between an agent and everything it might need to reach. Given an endpoint, Liquid discovers the interface, maps it to the fields you asked for, and hands back typed records — the same small API whether the target is a REST or GraphQL API, a Postgres or MongoDB database, another MCP server, or an industrial protocol. An LLM does the learning once at setup and again when the upstream drifts; the data path itself makes no model call.

What you get
  • An interface discovered and mapped to your target model, then reusable as an adapter — `liquid_connect`, `liquid_discover`
  • Typed records fetched from that adapter, with pagination envelopes flattened and timestamps and IDs normalised across sources — `liquid_fetch`
  • Server-side search and aggregation so filtering happens upstream instead of after a full fetch — `liquid_query`
  • Expected item count and token size for a call before you make it, so a request that would not fit the budget can be skipped — `liquid_estimate`
  • The adapters already stored, which persist under `~/.liquid` along with credentials — `liquid_list_adapters`
  • Database insert, update and delete, exposed only when the server is started with `LIQUID_ALLOW_WRITES=1` — `liquid_execute`
Requirements

Python 3.12+ and `pip install liquid-api`, which brings the `liquid-mcp` command; the package is `liquid-api` (0.67.0). The tool surface is read-only unless you set `LIQUID_ALLOW_WRITES`. An LLM key is needed only for discovering a REST API with no machine-readable spec and for field mapping — `OPENAI_API_KEY` with an optional `OPENAI_BASE_URL`, or `GEMINI_API_KEY`, or `ANTHROPIC_API_KEY`, installed as `pip install 'liquid-api[discovery]'`. Self-describing interfaces (OpenAPI, GraphQL, gRPC, MCP, A2A, WSDL) and all databases discover with no LLM at all.

Setup effort

One command plus a key — uvx liquid-mcp, then supply credentials