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
MCP server

Extended access

Why this level

  • The agent creates and overwrites project files with code generated from specs.
All reasons and checks

goldziher/spikard

Install

Manual install

cargo install spikard-cli

The first CLI option from the README install table. Then `spikard mcp` starts the MCP server.

Access and checks

How we review

Extended 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.

Official

Apollo's MCP server: turns chosen GraphQL operations into tools the agent uses to work with your API

MCP serverBroad access318Repository stars

A Pingora gateway that turns existing HTTP services into MCP servers from an OpenAPI spec, with no changes to their code

MCP serverBroad access185Repository stars

An MCP server that loads a Swagger or OpenAPI spec and turns every API endpoint into a tool the agent can call.

MCP serverBroad access115Repository stars

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 serverBroad access170Repository stars

Two GraphQL tools for MCP clients: the agent fetches your API schema and runs queries against a single endpoint

MCP serverExtended access407Repository stars

A Laravel and Lumen package that adds an MCP endpoint to your app's routes and attaches your own tools to it

MCP serverExtended access330Repository stars

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.

README badge

Report a problem

Foxx AISpikard
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.