Code generation from JSON recipes, linked type graphs, and API schemas across 11 languages.
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.
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.
Seven tools. One call each. Plain text back.
| Tool | What it does |
|---|---|
generate_openapi | Typed HTTP client from an OpenAPI 3.x document, passed inline or by URL — 10 frameworks |
generate_graphql | Typed client from a GraphQL SDL schema, optionally with reusable named fragments — 10 frameworks |
generate_protobuf | Typed client from Protocol Buffers (.proto) definitions — 10 frameworks |
generate_sql | Typed model classes from SQL DDL (CREATE TABLE), parsed dialect-agnostically — 11 languages |
generate_code | Arbitrary type graphs (classes, interfaces, enums, generics) from one structured spec, with imports and cross-references resolved — 11 languages |
load_spec_from_file | Runs a generate_code spec from disk, so multi-file architectures stay version-controlled and context usage drops to a file path |
metaengine_initialize | Primes 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.
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.
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.
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.
In long-running sessions where context may be summarized (compaction), MetaEngine survives in three ways:
Write — see benchmark for measurements).metaengine_initialize, which returns the guide content directly. If compaction wipes the guide, the breadcrumb is enough to reload it.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.The AI guide is automatically embedded in the tool description on first use — no manual reading required. For reference:
npx; the package is MIT licensedcustomCode content explicitly included in a generation request is part of that request and is sent to the hosted MetaEngine APIMIT License - see LICENSE file for details.
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.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @metaengine/mcp-serverMerge 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.
{
"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 referenceMetaEngine 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.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..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.