npm @metaengine/mcp-serverstdioMITupdated 9d ago
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.
What can you do with MetaEngine?
MetaEngine MCP Server
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
- npm package: @metaengine/mcp-server
- Website & docs: metaengine.eu/mcp
- Playground: metaengine.eu/playground
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.
| 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.
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
customCodecontent 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
- Issues: GitHub Issues
- Email: info@metaengine.eu
- Website: metaengine.eu
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.
Install
Add MetaEngine to your client. Pick the one you use.
claude mcp add mcp-server -- npx -y @metaengine/mcp-servercodex mcp add mcp-server -- npx -y @metaengine/mcp-serveramp mcp add mcp-server -- npx -y @metaengine/mcp-server{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server","command":"npx","args":["-y","@metaengine/mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"@metaengine/mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @metaengine/mcp-serverRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
7 tools
MetaEngine exposes 7 tools to a connected agent.
- 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
Score
78 / 100
Good
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 7 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.4.1Latest | Jul 7, 2026 |