MCP Server Development

We build production Model Context Protocol servers that connect your product to Claude, ChatGPT and Copilot. We run one ourselves — Nordsynk, live on the Fortnox Marketplace with paying customers.

Most companies selling MCP development have never operated one. We have. Nordsynk is our own Model Context Protocol server for Fortnox — listed on the Fortnox Marketplace, used by around eighty Swedish companies, billed per seat, running in production every working day. Everything on this page comes from running it, not from reading the specification.

That distinction matters more than it sounds. Building an MCP server that works on your laptop takes an afternoon. Building one that survives real users, three concurrent protocol versions, an OAuth token that expires mid-conversation and a client that silently reinterprets your tool descriptions is a different job entirely.

80+
Companies using our MCP server
90,000+
API calls from its heaviest twelve
95
Named workflows in production
4
Protocol versions live at once

What actually breaks in production

The specification tells you how to expose a tool. It does not tell you what happens next, and what happens next is where projects fail.

Protocol versions fragment immediately. Our own telemetry currently shows four different MCP protocol revisions in active use across our customer base at the same time — clients on 2026-07-28, others still on 2025-11-25, a long tail on 2025-06-18, and one integrator pinned all the way back to 2024-11-05. A server that assumes a single version breaks for a segment of users you cannot see and will not hear from.

Clients interpret your tools differently. The same MCP server behaves differently in Claude, ChatGPT, Cursor and Microsoft Copilot Studio. We have shipped a compatibility fix for how structured responses were packaged for one client family, discovered only because a customer told us their agent kept falling into an escalation loop. Nobody finds this in testing. You find it when a real user is annoyed.

Auth is the whole game. A hosted MCP server needs OAuth that survives token refresh, multi-tenancy that never leaks one customer's data into another's context, and seat enforcement that matches whatever licensing model the upstream platform uses. In our case that meant syncing against a live user roster and reconciling it with our own billing on every call.

Writes need a human. The moment your server can change data rather than read it, the failure mode stops being an error message and becomes a wrong number that looks correct. Our approach is to make every write show exactly what it will change and wait for explicit approval. Customers have made over two hundred approval decisions through that flow; it is the reason a finance team lets an AI near the books at all.

The honest test of a working MCP server

Read operations prove the connection works. Write operations, with approval, prove somebody trusts it. In our production data, reads outnumber writes roughly twenty-five to one — but the writes are where the value is defended.

Case study: Nordsynk

Nordsynk connects a company's Fortnox accounting data to Claude, ChatGPT and other MCP clients. A user asks in plain language which customers are late, what was paid to a supplier over the year, or where margin is leaking, and the server reads the underlying invoices, vouchers and supplier invoices before answering.

The scale of that reading is the point. Across the twelve heaviest customers, the server has served over ninety thousand API calls, including more than thirty-eight thousand individual invoice lookups. One customer alone generated over ten thousand calls in a single month. No human opens thirty-eight thousand invoices to answer a question — which is precisely why the answers are worth paying for.

80+
Companies on the platform
10,700
Calls in one month, single customer
95
Named workflows beyond raw API
100%
Writes gated by human approval

What we built, and what we would build for you:

A single code-mode entry point over the full upstream OpenAPI surface, rather than a hand-curated list of twenty tools that goes stale the moment the API changes. On top of that, named workflows for the operations the raw API models badly — bulk supplier-invoice approval and bookkeeping, customer invoice dispatch, payment registration, SIE export. Then OAuth with per-company token handling, seat licensing synced to the upstream platform, write approvals with previews and batch decisions, and usage telemetry detailed enough to answer "what did this customer actually do" months later.

Searching for things in Fortnox used to take us HOURS. Now we can get the same information in minutes.

Nordsynk customer
verified review on the Fortnox Marketplace, translated from Swedish

How we scope an engagement

We start with a paid scoping week rather than a free proposal. You get your API surface mapped, the tool set specified, the auth model decided and a fixed quote. It costs little, and it means neither of us commits to a number before we understand the work.

FeaturePilotProductionMarketplace-ready
Timeline2–3 weeks6–8 weeks10–12 weeks
API coverageOne domainFull surfaceFull surface
Read operations
Write operations with approval
OAuth & multi-tenancy
Client compatibility testing
Usage telemetry
Licensing & seat enforcement
Marketplace listing support

A pilot is the right choice when you need something working to show internally before anyone will fund the real thing. Production is the right choice when the server is going in front of customers. Marketplace-ready is what Nordsynk itself is: a licensed, billable product with its own listing.

Every build includes ongoing maintenance, and we do not sell one without it. That is not an upsell. With four protocol versions live simultaneously and client behaviour shifting underneath you, an unmaintained MCP server quietly stops working within months — and the customer blames the server, not the client that changed.

TypeScriptModel Context ProtocolOAuth 2.1Cloudflare WorkersOpenAPIClaudeChatGPTCopilot Studio

Who this is for

The companies that get the most from an MCP server are those whose customers already ask "can I get this data into ChatGPT?" — SaaS platforms, marketplaces, vertical software, anything with an API and a support inbox that keeps receiving the same question.

It is also for companies whose competitors have started shipping AI access and who would rather own that layer than have a customer build a fragile scraper around it. We have watched two Swedish IT companies build their own MCP servers rather than wait. That is the market speaking.

A focused pilot covering one API domain ships in two to three weeks. A production server with OAuth, write safety and client compatibility testing takes six to eight weeks. A licensed, marketplace-listed product takes ten to twelve.
Yes. You own the repository and the deployment from day one. We are not building a dependency on us; we are building an asset you keep.
Because the protocol and the clients move. Our production telemetry shows four MCP protocol versions in simultaneous use, and client behaviour changes without notice. An unmaintained server degrades silently rather than failing loudly.
Yes, and we think it is the only responsible way to ship writes. Every write shows exactly what will change and waits for explicit human approval before anything is committed. That pattern is running in production in our own product today.
That is the ideal starting point. We build the MCP layer over your existing OpenAPI surface rather than asking you to rebuild anything, and add named workflows for the operations your API models awkwardly.
Yes. Nordsynk is a Swedish product because Fortnox is a Swedish platform, but MCP work is not market-specific and we take engagements across the Nordics, Germany, the Netherlands and the US.

Tell us what your API does

A short conversation is enough to tell whether an MCP server is worth building for your product, and roughly what it would take. If it isn't worth it, we will say so.

Start a conversation