Your product is invisible to the AI your customers already use.

Your customers are moving their work into Claude, ChatGPT, Copilot and agents that run on their own. We build the MCP server that lets all of them use your product: designed for models, secured to spec, proven with evals.

  • 30 minutes, with an engineer
  • Built to spec 2026-07-28
no way inMCP serverYour productinvisible to agentsused by every agentClaudeChatGPTCopilotGeminiCursorn8nYour agent← 7 accounts · €184,200

The interface moved. Your product didn't.

Work that used to happen in your UI is now asked of an agent. If the agent can't reach your product, your user leaves the conversation, or leaves you.

Every major AI
Claude, ChatGPT, Copilot, Gemini, Cursor and VS Code all speak MCP.
MCP blog, Dec 2025 ↗
Linux Foundation
Governs MCP since December 2025, co-founded by Anthropic, OpenAI and Block.
Linux Foundation, Dec 2025 ↗
~500M
downloads a month of the official MCP SDKs.
MCP blog, Jul 2026 ↗

One protocol, instead of an integration per agent.

Six agents and six systems used to mean 36 integrations. With MCP it's one server, and every client that speaks the protocol can use it.

Write it once. It works in all of them.

The same tool answers a person in Claude, a developer in their IDE and an agent that runs at 7:00 with nobody watching.

Who needs an MCP server first

  • Legacy software vendors

    A modern front end, without rewriting twenty years of business logic.

  • Vertical and B2B SaaS

    Your product inside ChatGPT, Claude and Copilot, not in another tab.

  • Companies with internal systems

    Staff agents on your ERP and CRM, under your auth, scopes and audit trail.

  • New products

    No dashboard to build. The conversation is the interface.

The catch: an MCP server is not an API with a new name.

An API is read once, by a developer. An MCP server is read on every request, by a model deciding what to call.

Who reads it

REST APIA developer, once, while writing an integration

MCP serverA model, on every request, choosing between tools

Unit of design

REST APIResources and endpoints

MCP serverJobs the user wants done

Documentation

REST APIA docs site for people

MCP serverNames, descriptions and schemas are the prompt

Interaction

REST APIRequest, response

MCP serverThe server can stop and ask the user, then continue; long work runs as a task

Budget

REST APIBandwidth and rate limits

MCP serverTokens: every definition and every result spends the model's context

What most people implementing MCP do wrong

~55K
tokens of tool definitions from five common MCP servers, spent before the user types a word
Anthropic, Nov 2025 ↗
97.1%
of 856 audited MCP tools had at least one defect in their description
arXiv 2602.14878, Feb 2026 ↗
30+ → 2
tools in Block's Linear server after it was redesigned around intents
Block engineering, 2025 ↗
  1. 01

    Wrapping the REST API 1:1

    What most teams ship

    One tool per endpoint.

    A generator turns 200 endpoints into 200 tools. The agent chains six calls to do one job and gets one of them wrong.

    What we ship

    One tool per job.

    We start from what users actually ask for and fold the whole chain into one call that does it.

  2. 02

    Flooding the context window

    What most teams ship

    Every tool, loaded on every turn.

    Definitions eat tens of thousands of tokens before the user types a word. Past a few dozen tools, the model starts picking the wrong one.

    What we ship

    A handful of tools. The rest on demand.

    A small, deliberate surface. For large APIs, progressive discovery or code execution instead of a flat list.

  3. 03

    Returning raw payloads

    What most teams ship

    Whatever the API returns.

    48 KB of JSON, internal IDs, every field. The model loses the thread, and you pay for every byte of it.

    What we ship

    The answer, not the database.

    Filtered, paginated, readable names, structured output with a schema: only what the next decision needs.

  4. 04

    Schemas the model has to guess

    What most teams ship

    Accept object. Reply “400 invalid”.

    The model guesses the shape, fails, and guesses again. Three calls, no progress, and a user watching it flail.

    What we ship

    Typed inputs. Errors that teach.

    Typed schemas, introspection, and errors that state the valid input, so the model fixes itself in one turn.

  5. 05

    Auth and security as plumbing

    What most teams ship

    Pass the user's token straight through.

    One token, every scope, any audience: a confused deputy. And tool output the model reads as instructions.

    What we ship

    Scope every tool. Confirm every write.

    OAuth to the current spec, tokens bound to your server, confirmation before destructive writes, and a prompt-injection review of every data path.

  6. 06

    Shipping without evals

    What most teams ship

    Tried it once in Claude. Shipped it.

    Nobody measures whether the agent picks the right tool with the right arguments, so every change is a guess.

    What we ship

    Proven on every change.

    An eval suite of real tasks, run across models before launch and on every change after it.

What doing it right looks like

One request. The agent asks once, the server does the work across your system, and the model gets the answer, not the payload.

An MCP inspector replaying agent tasks. In the first, Claude asks the MCP server mcp.acme-erp.com to run the tool find_overdue_accounts. The server makes four REST calls to the company's ERP in parallel, receives 48 KB of raw JSON, and returns a compact result of under half a kilobyte to the model, about 99% less context. The agent then posts the summary to Slack through Slack's MCP server and answers in one line. Other tasks show n8n, Copilot, a headless agent, ChatGPT and Cursor calling other tools on the same server.

tool call from the agent
1
API calls, in parallel
4
stays on your server
48 KB
reaches the model
0.4 KB

We learned this on our own product.

To learn where MCP breaks, we built Mailoo: a drip-email campaign engine with no dashboard and no login. You run it only through an AI assistant.

Product
Mailoo, campaign engine
Interface
MCP only
Status
Upheave R&D, not a client project
MCP tools
21
screens
0
agent-first design principles
15
of them made obsolete by spec 2026-07-28
4
A schema is the only documentation an agent has.
The lesson we design every server around
Read the full write-up

Five revisions in twenty months. We build to the latest.

Each one changed how a server is built. A server written in early 2025 is already on deprecated paths; we build to 2026-07-28 and migrate the ones that aren't.

  1. 2024-11-05
    • Tools, resources, prompts
    • stdio and HTTP+SSE transports
  2. 2025-03-26
    • OAuth 2.1 authorization
    • Streamable HTTP, replacing HTTP+SSE
    • Tool annotations
  3. 2025-06-18
    • Servers as OAuth resource servers (RFC 9728)
    • Resource indicators (RFC 8707)
    • Structured tool output
    • Elicitation
    • JSON-RPC batching
  4. 2025-11-25
    • Client ID Metadata Documents
    • URL-mode elicitation
    • Tasks, experimental
    • Validation errors the model can act on
  5. Current · we build here2026-07-28
    • Stateless: no session, discovery per request
    • Multi round-trip requests
    • Tasks as an official extension
    • Gateway routing headers, OpenTelemetry
    • Sessions and the initialize handshake
    • Dynamic Client Registration
    • Sampling, roots and logging
    • HTTP+SSE

Built on an older revision? What we change

Official SDKs we build with: TypeScript · Python · Go · C#
  • Mcp-Session-Id and in-memory session stateExplicit handles, any instance serves any request
  • Dynamic Client RegistrationClient ID Metadata Documents
  • Server-initiated sampling and elicitationMulti round-trip requests
  • HTTP+SSE transportStreamable HTTP

From your product to a server agents use well

Four steps, each ending in something you can check. The core of your product doesn't change.

  1. Map

    Jobs, not endpoints

    We list what your users would ask an agent to do, and what data and permissions each job needs.

    You getJob map
  2. Design

    Tool surface and evals

    Tools, schemas, result shapes and risk levels, plus the eval tasks that will judge them, before any code.

    You getTool spec and eval set
  3. Build

    Remote server, real auth

    Streamable HTTP, OAuth against your identity provider, deployed in your cloud. Gateway and tracing included.

    You getA running server
  4. Prove

    Evals, review, launch

    Evals across models, a security review, and submission to the client directories you want to be in.

    You getEval report

Questions engineers ask us

Short answers. The call is for the long ones.

We already have a REST API. Why an MCP server?

Your API serves developers who write integrations. An MCP server serves the agent your customer already uses, and it works in every MCP client without anyone writing an integration. It usually sits on top of your API rather than replacing it.

Can't we generate it from our OpenAPI spec?

You can, and it will work in a demo. Generated servers mirror endpoints, so the agent chains calls, burns context and picks the wrong tool. A generated list is a useful inventory to design from, not a design.

Which AI clients will it work with?

Any MCP client: Claude, ChatGPT (its apps are built on MCP), Microsoft Copilot Studio and Microsoft 365 Copilot, Cursor, VS Code and Gemini among them. Clients differ in which extensions they support, such as MCP Apps, and we test in the ones that matter to you.

Remote or local server?

Remote, over Streamable HTTP, for almost every product: one deployment, OAuth per user, and it works in web and mobile clients. Local (stdio) only when the server needs the user's machine, such as files or desktop apps.

How do you keep it secure?

Tokens are issued for your server and never passed through. Scopes are per tool, destructive tools ask for confirmation, and every call is traced. We also review where untrusted content meets private data, because tool output is input to a model. See the security best practices we build to.

The spec keeps changing. Will our server go stale?

It changes, but deliberately: 2026-07-28 made the protocol stateless and deprecated Dynamic Client Registration, with a twelve-month window before removal. We build to the current revision, and we migrate servers built on older ones.

We already have an MCP server. Can you help?

Yes. We audit it against real tasks with evals, cut and reshape the tool surface, fix auth, and migrate it to the current spec.

What should an agent be able to do with your product?

Tell us about the product and the jobs your users would hand to an agent. You get an engineer, not a sales call.

  • 30 minutes on your product, your API and your users
  • An honest read on whether MCP is worth it for you yet
  • If it is, a first sketch of the tool surface

Who you will talk to

Mario JurićMario Jurić

Co-founder & Partner

LinkedInEmail

Building software since 2019, from Zagreb, Croatia.

Prefer email? Write to office@upheave.tech.