Skip to main content

Spectr MCP server — turn a screen recording into a production-ready spec.md, from inside Claude Code / Cursor / any MCP client.

Project description

spectr-mcp

MCP server that exposes Spectr's spec-generation pipeline as a tool any MCP client can call. Hand it an App Store URL or a local MP4 of an app, get back a production-ready spec.md precise enough to build a clone from.

See an app. Ship an app.

What it does

One tool, generate_spec(source, ...):

  • source — an App Store URL (e.g. https://apps.apple.com/us/app/doordash/id719972451) or an absolute path to a local MP4 screen recording.
  • Returns a structured 7-section markdown spec covering app overview, navigation, screens, components, design system (with exact hex/px/weight values), implementation notes, and a Claude Code prompt the developer can paste.
  • Targets Expo SDK 54 / React Native / iPhone 15 baseline.

Typical run: 2–5 min for App Store URLs, 5–10 min for MP4 recordings.

Two ways to install

Hosted (recommended) — Claude web app connector

Open Claude → Settings → Connectors → Add a custom connector → paste:

https://mcp.spectr.to

No key, no install, no env vars. The hosted MCP runs on Spectr's Anthropic key; you just paste the URL and start asking Claude to generate specs.

Local (developer install) — stdio via Claude Code

If you have Claude Code installed and logged in (claude login), you can also run the MCP locally as a stdio subprocess. Uses your existing Claude Pro/Max subscription — no API key needed.

Claude Code

claude mcp add spectr -- uvx spectr-mcp

Or for local development against this repo:

claude mcp add spectr -- uvx --from /path/to/spectr spectr-mcp

Other clients (Cursor, Codex, custom MCP hosts)

Any client that supports MCP stdio servers can launch the local version:

uvx spectr-mcp

If you don't have the claude CLI installed and authenticated, the MCP needs an ANTHROPIC_API_KEY instead — set it in the launching process's environment.

Or use the hosted version at https://mcp.spectr.to if your client supports remote MCP connectors over HTTP.

Self-hosting the HTTP server

The same package runs the streamable-http transport for hosted deployments:

spectr-mcp --http --port 8000
# Or with env var
SPECTR_MCP_HTTP=1 PORT=8000 spectr-mcp

Set ANTHROPIC_API_KEY in the process env. See ../mcp_server/README.md for the Dockerfile + Railway deployment recipe used to host mcp.spectr.to.

Requirements

  • Python ≥ 3.10 (installed automatically by uvx).
  • One of:
    • The claude CLI (free path — uses your existing Claude Pro / Max subscription). Install from claude.com/product/claude-code, run claude login once, you're done.
    • ANTHROPIC_API_KEY in env (token-billed path — set it when you want to pay Anthropic directly by token).
  • ffmpeg — only required when passing an MP4 path; not needed for App Store URLs.

The MCP auto-selects: API key wins if both are present (faster than CLI subprocess).

Usage from inside Claude Code

> Generate a spec from https://apps.apple.com/us/app/doordash/id719972451 and write it to ./doordash-spec.md

Claude Code will pick the tool, call it, and write the file. The tool returns a short confirmation summary so your context window stays small.

For MP4 input:

> Generate a spec from /Users/me/Desktop/recording.mp4 for the app "Linear"

The reference_app parameter is required for MP4 input (the tool has no way to detect the app name otherwise).

Cost

With Claude Code subscription (CLI path): specs are billed against your Claude Pro / Max plan's normal usage allowance. No per-spec charge from Spectr or Anthropic beyond your existing subscription.

With ANTHROPIC_API_KEY (SDK path): you pay Anthropic by token. Rough numbers per spec at the default max_frames=20:

  • Vision (20 frames × 2 passes via Haiku): ~$0.10–0.20
  • Spec generation (7 sections via Sonnet, with prompt caching): ~$0.50–1.00
  • Total: typically $0.60–1.20 per spec

Raising max_frames past 20 increases vision cost roughly linearly. max_frames=48 (the old default) runs about $1.40–2.00 per spec.

The hosted version at spectr.to (coming back soon) charges $19 per spec and includes the pipeline, hosting, storage, retries, and the realtime progress UI.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spectr_mcp-0.1.2.tar.gz (51.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spectr_mcp-0.1.2-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file spectr_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: spectr_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for spectr_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f892c2473b3f91e8ce93ce2403915fbe797e4c5a30f582676a4a59bc0bacd1cf
MD5 23873cfc6d7ce9d95dbb88812db21a58
BLAKE2b-256 338f20dd4c4cde7422c2edfd0980ae2a5c25c93df4d0763a0ac60762c62d6704

See more details on using hashes here.

File details

Details for the file spectr_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: spectr_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for spectr_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 92c3bc23076687d6640c632b3659246c5aba9f541c7dc21332b1ed22b9126c2d
MD5 8058d86b62d65e2e3f405aa585c130b5
BLAKE2b-256 6038a08113b11a192e2a610051ce16c92356ddc83c02d1e49a003822c86666c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page