MetaEngine

Code generation from JSON recipes, linked type graphs, and API schemas across 11 languages.

DatabasesTypeScriptv1.5.0

MetaEngine MCP Server

npm version License: MIT MCP

Code generation, handed to your agent.

MetaEngine exposes its code-generation platform — spec converters for OpenAPI, GraphQL, Protobuf, and SQL, plus a batch type generator — as Model Context Protocol tools. Connect the server to Claude Code, Claude Desktop, Cursor, Cline, or any MCP-aware assistant, and "regenerate my billing client from the new OpenAPI spec" becomes a real, typed, ready-to-commit diff.

Listed on the official MCP Registry as eu.metaengine/mcp-server.


Quick Links


Installation

Claude Code:

claude mcp add metaengine -- npx -y @metaengine/mcp-server

Claude Desktop, Cursor, Cline, or any other MCP client — add to the client's MCP config (claude_desktop_config.json, .cursor/mcp.json, …):

{
  "mcpServers": {
    "metaengine": {
      "command": "npx",
      "args": ["-y", "@metaengine/mcp-server"]
    }
  }
}

That's it. No API key, no signup, free to use.


Tools

Seven tools. One call each. Plain text back.

ToolWhat it does
generate_openapiTyped HTTP client from an OpenAPI 3.x document, passed inline or by URL — 10 frameworks
generate_graphqlTyped client from a GraphQL SDL schema, optionally with reusable named fragments — 10 frameworks
generate_protobufTyped client from Protocol Buffers (.proto) definitions — 10 frameworks
generate_sqlTyped model classes from SQL DDL (CREATE TABLE), parsed dialect-agnostically — 11 languages
generate_codeArbitrary type graphs (classes, interfaces, enums, generics) from one structured spec, with imports and cross-references resolved — 11 languages
load_spec_from_fileRuns a generate_code spec from disk, so multi-file architectures stay version-controlled and context usage drops to a file path
metaengine_initializePrimes the agent before its first generation: patterns, examples, and language-specific rules

Every call is stateless and self-contained: pass the spec inline (or by file path), pick a framework or language, get a write summary back as text. dryRun returns the generated contents inline instead of writing — ready to diff. skipExisting (default) protects files you've already customized.


Spec-first development

Your specs are already the source of truth — the OpenAPI document, the GraphQL schema, the .proto files, the DDL. This server puts them to work inside the agent loop: when a spec changes, the agent regenerates the typed surface instead of hand-editing it.

  • 4 source specs — OpenAPI 3.x, GraphQL SDL, Protocol Buffers, SQL DDL
  • 10 client frameworks — Angular, React, TypeScript Fetch, Go net/http, Java Spring, Python httpx, C# HttpClient, Kotlin Ktor, Rust Reqwest, Swift URLSession
  • 11 languages for type and model generation — TypeScript, Python, Go, C#, Java, Kotlin, Groovy, Scala, Swift, PHP, Rust — each emitted idiomatically (data classes in Kotlin, case classes in Scala, structs in Swift and Rust)
  • Deterministic — generation is byte-reproducible at a fixed engine version, so agents can retry without drift

The converters surfaced through MCP are the same compiler pipeline that powers the MetaEngine Playground: a spec is parsed, normalized to MetaEngine's intermediate representation, and emitted through a language-specific target. Versions stay in lockstep across surfaces.

For small tasks — a handful of files, exploratory code, one-off scripts — an agent's direct generation is simpler, and agents are told exactly that. The server earns its place when the work is spec-driven, polyglot, or structurally repetitive.


Measured behavior in agent loops

Agents that batch through this MCP run with substantially fewer turns and lower cumulative context re-reads than a file-by-file Write loop (~5 turns vs ~75 for the same DDD codebase).

For reproducible measurements across languages, models, and spec shapes, see benchmark/ — a self-contained harness with the prompts, judging tools, and 15 canonical result folders. Numbers there are illustrations from one author's runs at N=5 per cell; reproduce in your own environment to see what holds for you.


Context Durability

In long-running sessions where context may be summarized (compaction), MetaEngine survives in three ways:

  • Short loop by design — the MCP returns many files per call rather than per turn, so the conversation stays small enough that compaction is rarely triggered (~5 turns vs ~75 for file-by-file Write — see benchmark for measurements).
  • Recovery path — the full AI guide is embedded in the tool description on first use; after a successful call, the description swaps to a short directive that points the assistant back at metaengine_initialize, which returns the guide content directly. If compaction wipes the guide, the breadcrumb is enough to reload it.
  • Disk-backed state — when the spec is loaded via load_spec_from_file, it lives outside the conversation. A compacted (or fully reset) session can re-run the producing script and pick up without re-reading anything.

Documentation

The AI guide is automatically embedded in the tool description on first use — no manual reading required. For reference:

  • METAENGINE_AI_GUIDE.md — Critical rules, patterns, language notes, and common mistakes
  • EXAMPLES.md — Real-world usage with input/output across all languages

Privacy & Pricing

  • Local adapter — the local MCP server runs on your machine over stdio, started via npx; the package is MIT licensed
  • Hosted generation — every generation payload is sent over HTTPS to the hosted MetaEngine API for ephemeral processing, then generated files return to the local adapter
  • Explicit payload boundary — the server does not automatically scan or upload existing project source files; source or customCode content explicitly included in a generation request is part of that request and is sent to the hosted MetaEngine API
  • Content privacy — submitted generation content and generated file contents are not persisted or logged; anonymous operational metadata is retained through the application-level allowlists, with Azure's standard telemetry-record, service-resource, and SDK envelope disclosed separately in the Privacy Policy
  • Free access — no API key or account is required
  • Terms — See TERMS.md for usage terms

Support


License

MIT License - see LICENSE file for details.


About This Repository

This is the documentation and issue tracking repository for MetaEngine MCP Server. The compiled NPM package is available at @metaengine/mcp-server.

Source code is proprietary, but the MCP server is free to use under MIT license.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @metaengine/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "eu-metaengine-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@metaengine/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@metaengine/mcp-servernpm

Compatible MCP Clients

MetaEngine works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More