Stitchwork.
Sign in Request access
The MCP control plane · Now in private beta

One token.
Every server.
No surprises_

Stitchwork sits between your AI clients and the MCP servers they call. Curate the exact tools each agent gets, rotate credentials in one place, and see every call — the single pane of glass for everything your agents touch.

✓ Self‑hosted available ✓ 200+ MCP servers supported ✓ Every call audited & queryable
localhost  /  live flow
Agents
MCP servers
C
Claude Desktop
prod
Cu
Cursor
chris
W
Worker
ci
Stitchwork
curate ·
rotate ·
audit
1 token_
GH
GitHub
12 tools
PG
Postgres
3 tools
Li
Linear
8 tools
1,284 calls · last 60s p50 28ms · 0 errors

MCP just gave your agents the keys — all of them.

A single MCP server hands your agent every tool it ships with. The agent gets the whole keychain — root on your database, write access to Linear, full Slack — the moment you plug it in. There's no scoping, no rotation, no audit log. That's the world we're shipping into.

01 / Scope creep

Your "read-only" agent can drop a table.

Every MCP server is a take-it-or-leave-it bundle of tools. You wanted query; you also got execute, truncate, and drop_schema.

02 / Credential sprawl

Credentials live in twelve places.

Your Postgres URL is in Claude Desktop's config. Your GitHub PAT is in Cursor's. When the intern leaves, you're not rotating — you're hunting.

03 / No single pane of glass

You can't see what your agents are doing.

An agent ran. Something changed. There's no log, no actor, no chain of custody. Which token called what tool, against which upstream, with what arguments? "What did the AI do?" is a question with no answer.

How it works

Four primitives. One front door.

Stitchwork is a proxy. Connect upstreams. Curate the tools. Issue scoped tokens. Watch every call. Your agents point at one URL instead of twelve — and you finally get to see (and decide) what they do.

01 · CONNECT

Plug in the servers you actually use.

Bring GitHub, Linear, Postgres, Stripe, your own — 200+ servers and growing. OAuth or PAT. Stitchwork stores the credential once, encrypted, and proxies every call through it.

  • OAuth, PAT, IAM, mTLS — whichever the upstream supports
  • Custom MCP servers welcome — we don't gatekeep
  • Egress IPs you can allowlist; secrets you can rotate without changing clients
MCP connections

Connections

6 of 200+ available
GH
GitHub · stitchwork-ioconn_github_main
12 tools
Live
PG
Postgres · productionconn_pg_prod
3 tools
Live
Li
Linear · workspaceconn_linear_blink
8 tools
Live
Sl
Slack · engineeringconn_slack_eng
6 tools
Rotating
St
Stripe · test modeconn_stripe_test
14 tools
Live
Sn
Sentry · orgconn_sentry_blink
5 tools
Live
02 · CURATE

Pick the exact tools each agent can call.

Permission sets are tool-level allowlists. Pick query but not execute. Pick issue.list but not issue.delete. Read‑only is the default. Anything destructive is opt‑in, every time.

  • Tool-level allow / deny — not server-level
  • Reusable sets — define once, attach to many tokens
  • Mix tools from any connected server in a single set
permissions · prod-read-only

prod-read-only

14 of 48 tools allowed
postgres.run_query
read
postgres.describe_schema
read
postgres.execute
write
postgres.drop_schema
destructive
github.list_issues
read
github.get_pull_request
read
github.merge_pull_request
write
Used by 3 tokens Saved 2 min ago
03 · ISSUE

Hand out one token. Revoke it from one place.

An agent token is a scoped, expiring credential. Paste it into Claude Desktop, Cursor, or curl. It only works against the permission set you attached — nothing more. Revoke it and every client loses access in the same heartbeat.

  • TTL-bound — one hour, one week, one year, your call
  • Per-token rate limits and IP allowlists
  • Every call lands in the audit log with the token, tool, args, and outcome
agent token · issued

Claude Desktop · prod

● ISSUED
Scope
prod-read-only
Expires
90 days
Rate
60 / min
Bearer token (shown once)
bb_pat_live_a3f1c8d92b6e4f55_
⚠ This is the only time we'll show this token. Stitchwork never stores it in plaintext.
Paste into Claude Desktop config
# ~/Library/Application Support/Claude/claude_desktop_config.json "mcpServers": { "stitchwork": { "url": "http://localhost:8095/mcp", "headers": { "Authorization": "Bearer bb_pat_live_a3f1c8…" } } }
04 · OBSERVE

See every call. Know who did what.

Stitchwork is a proxy, so every call has to pass through it — which means every call is a row in the log. Token, tool, arguments, response, latency, outcome. Searchable, exportable, queryable. The single pane of glass nobody has today.

  • Live feed of tool calls — filter by token, tool, connection, status
  • Per-token and per-connection consumption breakdowns
  • Stream the audit log to S3, Datadog, or your SIEM — structured JSON, never lossy
audit log · live

Live calls

STREAMING · 23,114 today
Top token
Claude · chris
8,412 calls
Top tool
postgres.run_query
4,901 calls
Denied (24h)
37
12 distinct tokens
200
github.list_issues
Claude Desktop · chris / github-main
28ms 2s ago
200
postgres.run_query
Cursor · workspace / pg-prod
142ms 4s ago
200
linear.list_issues
Triage worker · ci / linear-blink
67ms 8s ago
DENY
postgres.execute
Cursor · workspace / not in prod-read-only
— 12s ago
200
github.get_pull_request
Claude Desktop · chris / github-main
31ms 17s ago
500
stripe.list_charges
Ops bot · prod / stripe-test
2,104ms 22s ago

One screen for everything your agents touch.

Token, tool, connection, latency, outcome — every call lands in a structured feed. The proxy you stand up in five minutes is the same one your auditor asks for at the end of the year.

app.stitchwork.ai / overview
Stitchwork. BStitchwork▾

Overview_

A live snapshot of the proxy. Traffic over the last seven days, what's healthy, what's expiring, and what's running next.

Proxy traffic
265,035 calls / 7d
↓ 7%vs first half of week
Today
23,114
Tools surface
1,253
Active tokens
11
Mon
Tue
Wed
Thu
Fri
Sat
Sun
MCP connections
217
187 healthy
Permission sets
12
4 reused·21 assignments
Agent tokens
21
11 active5 expiring3 expired
Built by Blink Build Studios

We hack AI for a living. So we built the gateway we kept wishing companies had.

Read-only by default.

New permission sets ship with zero tools allowed. Every dangerous tool is opt-in, every time. There is no "convenient" path to handing an agent root.

Every call is a row in the log.

Token, tool, arguments, response, latency, outcome — structured, queryable, exportable to S3 or your SIEM. When something weird happens, you can actually answer "what did the AI do?"

Credentials live once.

Upstream tokens are encrypted at rest, rotated on schedule, and never exposed to clients. When the intern leaves, you rotate one credential — not twelve.

Self-host or we host.

Stand up Stitchwork in your VPC with a single Docker image — nothing leaves your perimeter — or run it on our cloud. Same code either way.

MCP spec compliant

Any client that speaks MCP — Claude Desktop, Cursor, Continue, your own — works without changes.

200+ servers

GitHub, Linear, Postgres, Slack, Stripe, Sentry, AWS, GCP, and counting. Bring your own MCP server.

Self‑hosted

One Docker image. Postgres + Redis. Nothing else. Air-gapped install on request.

Private beta

We're shipping with a small set of design partners while we harden the proxy. Request access and we'll get you in the queue.

Get on the list_

Private beta closes when we hit 50 teams. We pick from the list weekly. Tell us what you're plugging in and we'll get you a key.

No spam. We email once when your account is ready and then never again until you ask.
Copied bb_pat_live_a3f1c8d92b6e4f55