LabscoMCP early access ↗
ertad-familyMCP SERVER

Liquid

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.

by ertad-family ↗MCP Plumbing: Proxies, Registries & InspectorsCommunity

LABSCO 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 — uvx liquid-mcp