Spikard MCP
An MCP server and plugin for agents that generate web APIs from OpenAPI, AsyncAPI, GraphQL, gRPC and SQL specs on a Rust core.
- 123 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The agent creates and overwrites project files with code generated from specs.
Install
- Works in
Manual install
cargo install spikard-cliThe first CLI option from the README install table. Then `spikard mcp` starts the MCP server.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent creates and overwrites project files with code generated from specs.
This is third-party code. Review the repository files before installing.
What it does
Spikard, a web toolkit with a Rust core and bindings for 14 languages, ships a CLI with a built-in MCP server. Through it an agent creates a project, generates handlers and validators from OpenAPI 3.0, AsyncAPI 3.0, GraphQL SDL and JSON-RPC 2.0 specs, and validates schemas. The SQL-to-HTTP pipeline reads annotations such as `@http GET /path` in queries and emits routes, an OpenAPI fragment and a typed handler stub. The MCP server exposes 13 tools and runs over stdio by default. A separate plugin for Claude Code, Codex, Cursor, Gemini, OpenCode, Pi, Hermes, Factory and Copilot adds a `spikard` skill with six API references. The plugin connects to the local CLI; to run the server by hand use `spikard mcp`.
Who it is for. Backend developers building HTTP services from a spec across several languages who want an agent to generate code through tool calls.
Good fit when
- An OpenAPI spec exists and an agent must create handlers and validators from it in Python or TypeScript.
- SQL queries with `@http` annotations become routes and an OpenAPI description.
- An AsyncAPI description of WebSocket channels must become a test app.
- A new Spikard project starts from an agent-made scaffold instead of manual setup.
Not a fit when
- The project is heading to production: the framework is experimental and pre-1.0.
- You need a web framework with a stable API: interfaces change between releases.
- There is no spec and code is written by hand in a language without a Spikard binding.
Example request
Use Spikard to generate Python handlers from openapi.yaml and validate the schema, showing the list of routes before writing files.MCP
- Transport
- stdio, http
- Authentication
- not required
Limitations
Spikard is experimental and pre-1.0: the API changes between releases, bindings differ in maturity and the project is not yet recommended for production. HTTP transport for the MCP server needs a build with the `mcp-http` feature, while plugins use stdio. In Pi the plugin installs the skill without MCP. Until packages are first published, plugins install from the repository; paths are in the guide. The plugin does not install language bindings, which come through a package manager.
How to disable. Remove the plugin with client commands (`/plugin` in Claude Code), delete the `spikard` entry from the MCP configuration and run `cargo uninstall spikard-cli`.
FAQ
How do I connect the Spikard MCP server?
Install the CLI with `cargo install spikard-cli` and add `{"command": "spikard", "args": ["mcp"]}` to the client. It runs over stdio and needs no keys.
How do I install the plugin in Claude Code?
Run `/plugin marketplace add Goldziher/spikard`, then `/plugin install spikard@spikard`. The plugin calls the local CLI, so install it first.
What does the MCP server do?
It exposes 13 tools: project init, generation from specs, the SQL-to-HTTP pipeline, AsyncAPI fixture and test-app generation, schema validation and a feature summary.
Is Spikard ready for production?
Not yet: the authors call it experimental and pre-1.0. Check the maturity of the binding for your language before you start.
Which languages have bindings?
Python, TypeScript, Ruby, PHP, Elixir, Go, Java, C#, Kotlin, Dart, Swift, Zig and WASM on top of the Rust core, plus a C FFI. Each installs through its native package manager.
Discussion
No questions or reviews yet.
Related
MCP serversApollo's MCP server: turns chosen GraphQL operations into tools the agent uses to work with your API
A Pingora gateway that turns existing HTTP services into MCP servers from an OpenAPI spec, with no changes to their code
An MCP server that loads a Swagger or OpenAPI spec and turns every API endpoint into a tool the agent can call.
A single Go binary turns a SQL database into a REST API with roles and an MCP server for Claude Code, Cursor and VS Code
mcp-graphql: MCP server for GraphQL APIs
mcp-graphql
Two GraphQL tools for MCP clients: the agent fetches your API schema and runs queries against a single endpoint
A Laravel and Lumen package that adds an MCP endpoint to your app's routes and attaches your own tools to it
README in short
The README opens with the experimental status notice, then shows a per-language install table, Python and TypeScript examples, an MCP section and the SQL-to-HTTP pipeline.