Product integration

Ship the official MCP server for your product

A remote, OAuth-secured MCP server for your product's public API, so your customers use your SaaS inside Claude, ChatGPT and Cursor. Up to 15 curated tools, multi-tenant, listed in the registry under your brand. $4,500 to build in three weeks, $700/mo to maintain, including migration when the spec revises. The point is not endpoint coverage; it is a curated tool surface a model can actually choose from without guessing.

Get a tool list for your API

Who this is for, and who it is not

This is for a B2B SaaS with a public or partner API whose customers already live in an AI client. It is not for a product with no API yet, and it is not for an internal-only tool. If your users would never think to ask an assistant about your product, a server is premature, and we will say so.

Your competitor may already be in the client. Check.

The fastest way to know whether this matters yet: search the official registry and the main aggregators for your category. If a competitor is listed and you are not, their product is one sentence away inside the assistant and yours is a browser tab. If nobody in your category is listed, you have a first-mover window that closes the month someone takes it.

What gets built

  • Up to 15 curated tools, named for what a user asks, not for your endpoints.
  • OAuth 2.1 with PKCE, multi-tenant, per-customer authorisation.
  • An audit log for every call, and dry-runs on every write.
  • A server.json registry listing under your brand.

Eight tools beat eighty

How it fits together

Sequence: the AI client authorises with OAuth 2.1, the MCP server validates the audience claim at the auth boundary, then calls your API and returns a scoped, audited result.AI clientMCP serverscope · dry-run · audityour APIOAuth 2.1auth boundary
The auth boundary sits at the server. Client tokens are validated for audience and never forwarded to your API.

The timeline

Day-by-day for a three-week product build
DaysWhat happens
D0–D3Tool manifest written and signed
D4–D14Build against the manifest and acceptance script
D15–D18Automated checks, founder diff review
D19–D21Deploy, registry listing, handover

What "done" means

Done is not our opinion. It is a ten-prompt acceptance script you approve up front, run against every client you support. If a prompt fails, it is not done.

acceptance.txt
1. "Find my three most recent invoices" -> invoices.search returns 3
2. "Void invoice INV-4021 (dry run)" -> dry_run response, no write
3. "Who is the billing contact for Acme?" -> customers.lookup
...

Product integration questions

How is this different from an auto-generated server?
An auto-generator maps every endpoint to a tool, which produces a worse AI interface, not a better one. Thoughtworks placed naive API-to-MCP conversion in the Hold ring of its Technology Radar, and Cloudflare collapsed 2,500-plus endpoints behind two tools. We design a curated surface of up to fifteen tools with names and error messages a model can act on.
What auth do you use?
OAuth 2.1 with PKCE, multi-tenant, so each of your customers authorises against their own account. Client tokens are never passed downstream, and we validate the audience claim. The 2026-07-28 revision changed the authorization model and every server we ship negotiates the current revision.
How long does it take?
Three weeks from a signed manifest to a deployed server, with a ten-prompt acceptance script defining "done". The bottleneck is almost always your side: getting us API docs, a test tenant and sign-off on the tool list. We tell you the honest client-effort estimate in hours before we start.
Do you list it in the registries?
Yes, under your brand, in the official MCP registry via a server.json record, plus the main aggregators. Being listed is how a client discovers the server exists; it is not a ranking play. We prepare the metadata once and reuse it.
What can it do to our data?
By default, read only. Any write tool is scoped, dry-runnable and audited, and there are no destructive deletes ever. A server cannot fix a model that reads a poisoned input; it can bound the blast radius. The full posture is on the security page.
What happens when the spec changes again?
We migrate it on the retainer before the deprecation window closes. That is not hypothetical: the 2026-07-28 revision put Roots, Sampling and Logging on a twelve-month clock, and every server built earlier is already behind.

Send us your API docs. We'll sketch the tool list before any call.

Get a tool list for your API