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.3.tar.gz (53.5 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.3-py3-none-any.whl (61.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spectr_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 53.5 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.3.tar.gz
Algorithm Hash digest
SHA256 4263441f034415a320e271c046a00d2d0116c3ce1e778455bfc4ff8563a0668d
MD5 e287ae9e2b18499cfd3676578f8fde73
BLAKE2b-256 74cdfee82d4260f36f77807e745359fcbf09c2ad96484e22374f09ef407b10c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spectr_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 61.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b77b0b8471212d83309c469b2d26458a0b8cc3aa07e5be1c61e797ee85be38c0
MD5 4b838e74e53c4c749298d845a2212bbe
BLAKE2b-256 35f10688cc70fc669db6eda806a3f35d5f9f340640feec2d4c85f6fe324f7b52

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