KeyKit
← Query Converter

Query Converter, as an MCP server

You have a query library written for your current tool. You are wiring up a new provider, and your agent is doing the implementation work. Point it at this server and it can convert those queries as it goes, instead of you rewriting them by hand.

One active key per email. Requesting again replaces your existing key rather than adding a second one, and the old key stops working immediately.

Endpoint

Streamable HTTP, versioned. Use this exact path everywhere you reference it, the version is a stability commitment: within v1, changes are additive only.

https://keykit.app/api/mcp/v1

Auth is a bearer token: Authorization: Bearer <your key>. For clients that cannot set a header, a path-token form works the same way: POST /api/mcp/v1/u/<your key>.

The seven tools

convert_query
in: query, from_dialect, to_dialect, include_trace?
out: the converted query plus a structured degradation report
convert_query_batch
in: queries (up to 50), from_dialect, to_dialect, include_trace?
out: per-query results plus an aggregate degradation summary
list_dialects
in: direction? (source or target)
out: every dialect: id, aliases, direction, support level, capability summary
explain_capabilities
in: from_dialect, to_dialect?
out: a capability diff between two dialects, or one dialect’s own profile
suggest_dialect
in: query
out: ranked dialect candidates with evidence and a confidence signal
validate_query
in: query, dialect
out: whether it parses, and where and why if not
get_conversion_notes
in: from_dialect, to_dialect
out: prose migration guidance for that pair

Config, once you have a key

The page you land on after confirming your email pre-fills these with your actual key. Shown here with a placeholder so you know the shape in advance.

{
  "mcpServers": {
    "keykit-query-converter": {
      "url": "https://keykit.app/api/mcp/v1",
      "headers": { "Authorization": "Bearer <your key>" }
    }
  }
}
{
  "mcpServers": {
    "keykit-query-converter": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://keykit.app/api/mcp/v1", "--header", "Authorization:Bearer <your key>"]
    }
  }
}

Plain statements

  • Free. No payment, no tiers, no KeyKit account required.
  • Rate limited: 60 conversions per minute, 2,000 per day, per key.
  • A key that is abused gets cut off. You will not be auto-disabled for normal use; sustained or extreme overage gets a human look first.
  • Keys lapse after 90 days of no use. This is stated policy; nothing currently enforces it automatically, so an unused key stays valid past 90 days for now.
  • Queries sent through your key are retained to improve the converter, for up to 12 months, unless you check the opt-out above when you request your key. Either way, usage metadata (which tools you called, which dialects) is kept.

Questions, or something wrong

Email tyler@stonechurchholdings.com.

The converter solves syntax. It does not tell you whether the provider you are wiring up actually holds up. See what that evaluation looks like.