Open source Self-host it, or use it free here

Specify first, and let your agent do the rest

FastSpec is an OpenAPI editor with Spectral linting, version diffs and an MCP server, so your coding agent builds from the same spec your team reviews.

OpenAPI 3.0 and 3.1 · YAML or JSON · No credit card, no trial clock

Built on the standards you already use

  • OpenAPI 3.0 & 3.1
  • Spectral
  • Swagger UI
  • Model Context Protocol
  • OpenID Connect
  • Docker
Design-first, for real

One spec, from first draft to working code

Clear specifications remove ambiguity between teams. FastSpec makes the spec the thing everyone, people and agents alike, works from.

  1. Write or import

    Start from the Petstore example, drop in the spec you already have, or build one path at a time in the form editor.

  2. Lint and review

    Check every change against OpenAPI best practice and your own style guide, then compare it with the version that shipped.

  3. Hand it to your agent

    Connect Claude Code or any MCP client. Your agent reads the spec, saves new versions and lints its own changes.

Features

Everything your API spec needs, in one place

Edit, lint, version and preview, without stitching five tools together.

Editor

Forms when you want them, YAML when you don't

Edit paths, parameters, request bodies, responses, schemas and security in a structured form, or switch to the code editor in YAML or JSON. Both views edit the same document, and a syntax error stops a save instead of losing work.

  • Code editor with lint warnings right on the line
  • Import a spec by dropping, choosing or pasting a file
  • Download as YAML or JSON at any time
The YAML code editor with a lint warning underlining the camelCase path /shipments/{shipmentId}/trackingEvents.
Linting

Your style guide, checked on every spec

FastSpec runs Spectral's OpenAPI rules and scores each spec out of 100. Add your team's own rules with a form or in raw Spectral YAML, make a ruleset the default, or pin one to a single spec.

  • Filter findings by severity, jump to the line
  • Several rulesets, one default
  • Test a rule against the open spec before you save it
Lint results: a score of 91 out of 100 and three warnings, including one from the custom rule paths-kebab-case.
The custom lint ruleset dialog with three rules in a ruleset called Platform API style guide.
Versions

Know exactly what changed

Save a version whenever the API moves on, then compare any two: endpoints, schema fields and info that were added, modified or removed. Compare your unsaved draft too, and copy the result as Markdown for the pull request.

  • Full version history for every spec
  • Diff any two versions, or the draft you're editing
  • One click to a Markdown change summary
Comparing versions 1.3.0 and 1.4.0 of the Shipments API: two added endpoints, POST /webhooks and GET /shipments/{shipmentId}/trackingEvents, one added schema and four modifications.
Preview

See it the way your consumers will

A built-in Swagger UI renders the spec as you edit it, so you can check the documentation your API's users will read. It's bundled with the app, so it works offline on a self-hosted instance too.

  • Live preview next to the editor
  • Preview any saved version
  • No external CDN
Swagger UI preview of Shipments API version 1.4.0 listing its shipments endpoints.
MCP server

Give your coding agent the spec, not a guess

FastSpec includes a Model Context Protocol server. Connect Claude Code, or any client that speaks streamable HTTP, and your agent can read your specs, save new versions, lint its changes and diff them against what shipped.

Every API key is scoped: allow reading, writing, deleting, linting or versioning separately, and revoke a key at any time.

  • Agents work from the reviewed spec, not their memory of it
  • Changes land as versions you can diff and roll back
  • The same tools on the hosted and self-hosted versions
Add FastSpec to Claude Code
$ claude mcp add --transport http fastspec \
    https://fastspec.kaseovo.com/mcp \
    --header "Authorization: Bearer <your API key>"
get_spec_detailsRead a spec's current document
save_spec_versionSave a document as a new version
lint_specLint a version or a draft with your rulesets
compare_spec_versionsMarkdown diff between versions or a draft
validate_specCheck a document is valid OpenAPI 3
create_specStart a spec from YAML or JSON

Plus listing, version history and deletion. See every tool →

Claude Code fixing a spec's lint warnings through FastSpec's MCP server: a real run, replayed.
Self-host

Run it on your own server

FastSpec is open source under the AGPL-3.0. The whole app, with its web UI, API and MCP server, ships as a single Docker image for amd64 and arm64. Your specs never leave your infrastructure.

  • Starts with no configuration: SQLite, single-user, migrations run themselves
  • Postgres and a Docker Compose file for teams
  • Sign-in with any OpenID Connect provider: Google, Keycloak, Authentik, Okta, Microsoft Entra, GitLab
  • Optional allowlist by email address or domain
Read the self-hosting guide
Terminal
$ docker run -d --name fastspec \
    -p 127.0.0.1:8080:8080 \
    -v fastspec-data:/data \
    ghcr.io/kaseovo/fastspec:latest

Then open http://localhost:8080. That's it.

Pricing

Free, either way

Use the hosted version to get going, or run your own. Same features.

Self-hosted

$0 open source

One Docker image on your own server or laptop.

  • Every feature, on your infrastructure
  • SQLite or Postgres
  • No sign-in, or your own OIDC provider
  • AGPL-3.0 licensed
View on GitHub

Your API specs, validated and versioned, all in one place

Start in the browser now, or self-host it in a minute.