What is an MCP server? A real one, measured
A program that gives AI apps tools to call through the Model Context Protocol. Alliance Chemical’s has 169; 79% of its 38,328 calls were reads.
Key points
- MCP is “an open-source standard for connecting AI applications to external systems.” A server is “A program that provides context to MCP clients.”
- As of October 2026 the current spec is 2026-07-28. It makes MCP stateless and deprecates Roots, Sampling and the HTTP+SSE transport.
- Alliance Chemical’s sales agent uses one MCP server with 169 tools. Of its 38,328 calls in August and September 2026, 79.2% were reads.
- The spec says a human SHOULD be able to deny tool calls. Alliance’s gateway removes 28 tools, including refunds and voids, for teammates.
169 tools behind one MCP server
90 read data, 29 write only to the agent’s own records and 50 change something outside: an invoice, an order, a shipment or an email to a person.
79.2% of 38,328 calls were reads
30,354 reads, 5,093 internal writes (13.3%) and 2,881 external writes (7.5%).
28 tools removed for teammates
The gateway’s block list for supervised roles includes 10 of the 50 external writes: refunds, voids, cancellations, credit decisions and sending email.
80 calls in six minutes
Between a real quote request arriving and the reply going out on September 14, 2026: 72 reads, 5 internal writes and 3 external writes across 10 systems. The log has no request ID, so some calls belong to other emails worked in the same minutes.
- Agent memory, CRM and send checks 41
- QuickBooks Online 24
- Shopify 23
- Microsoft Graph · Outlook email 14
- eBay 9
- ShipStation 7
- Purchasing records 7
- Amazon 7
- UPS 5
- Card payment gateway 5
- Certificate of analysis archive 4
- Customer credit portal 4
- Multi-step workflows 3
- Cost and margin 3
- Requests for quote 3
- PDF forms 2
- Warehouse pack-failure alerts 2
- Warehouse mis-pick alerts 2
- Phone system 2
- ShipperHQ freight rates 1
- LTL freight tracking 1
- Microsoft Graph · Outlook email4
- Shopify
- Certificate of analysis archive2
- Agent memory, CRM and send checks
- QuickBooks Online3
- ShipStation
- Amazon
- Multi-step workflows1
- Cost and margin
- UPS
- 1 1:58 · Quote workflow · 13.9 s
- 2 2:08 · Certificate of analysis PDF · 8.1 s
- 3 3:13 · QuickBooks estimate · 9.4 s
- 4 6:19 · Email sent · 2.4 s
Hover a tile: one tile is one tool
Show the data as a table
| Domain | Tools | Read / internal / external | Blocked for teammates | Calls |
|---|---|---|---|---|
| Agent memory, CRM and send checks | 41 | 18 / 22 / 1 | 12 | 10,488 |
| QuickBooks Online | 24 | 8 / 0 / 16 | 4 | 4,426 |
| Shopify | 23 | 9 / 0 / 14 | 3 | 3,231 |
| Microsoft Graph · Outlook email | 14 | 10 / 3 / 1 | 5 | 14,001 |
| eBay | 9 | 5 / 0 / 4 | 0 | 88 |
| ShipStation | 7 | 2 / 0 / 5 | 0 | 2,267 |
| Purchasing records | 7 | 6 / 1 / 0 | 0 | 604 |
| Amazon | 7 | 4 / 0 / 3 | 0 | 219 |
| UPS | 5 | 4 / 0 / 1 | 0 | 255 |
| Card payment gateway | 5 | 5 / 0 / 0 | 0 | 144 |
| Certificate of analysis archive | 4 | 2 / 1 / 1 | 0 | 891 |
| Customer credit portal | 4 | 2 / 0 / 2 | 3 | 97 |
| Multi-step workflows | 3 | 2 / 1 / 0 | 0 | 399 |
| Cost and margin | 3 | 3 / 0 / 0 | 0 | 309 |
| Requests for quote | 3 | 3 / 0 / 0 | 0 | 10 |
| PDF forms | 2 | 1 / 1 / 0 | 0 | 70 |
| Warehouse pack-failure alerts | 2 | 1 / 0 / 1 | 0 | 4 |
| Warehouse mis-pick alerts | 2 | 1 / 0 / 1 | 1 | 0 |
| Phone system | 2 | 2 / 0 / 0 | 0 | 0 |
| ShipperHQ freight rates | 1 | 1 / 0 / 0 | 0 | 438 |
| LTL freight tracking | 1 | 1 / 0 / 0 | 0 | 79 |
| Tools retired since | – | – | – | 308 |
| Total | 169 | 90 / 29 / 50 | 28 | 38,328 |
Show the six minutes as a table
| Finished | System | Effect | Took |
|---|---|---|---|
| 0:05 | Microsoft Graph · Outlook email | read | 0.3 s |
| 0:07 | Microsoft Graph · Outlook email | read | 0.2 s |
| 0:26 | Shopify | read | 4.9 s |
| 0:27 | Certificate of analysis archive | read | 0.7 s |
| 0:31 | Agent memory, CRM and send checks | read | 0.9 s |
| 0:32 | QuickBooks Online | read | 0.9 s |
| 0:33 | Certificate of analysis archive | read | 0.4 s |
| 0:35 | Microsoft Graph · Outlook email | read | 3.0 s |
| 0:35 | Agent memory, CRM and send checks | read | 0.0 s |
| 0:45 | QuickBooks Online | read | 1.3 s |
| 0:45 | Microsoft Graph · Outlook email | read | 0.3 s |
| 0:47 | Microsoft Graph · Outlook email | read | 2.1 s |
| 1:03 | QuickBooks Online | read | 1.4 s |
| 1:04 | QuickBooks Online | read | 0.6 s |
| 1:07 | Microsoft Graph · Outlook email | read | 0.5 s |
| 1:08 | Agent memory, CRM and send checks | read | 0.1 s |
| 1:12 | Agent memory, CRM and send checks | read | 0.7 s |
| 1:13 | QuickBooks Online | read | 1.0 s |
| 1:17 | Microsoft Graph · Outlook email | read | 3.3 s |
| 1:17 | Agent memory, CRM and send checks | read | 0.0 s |
| 1:27 | ShipStation | read | 1.1 s |
| 1:28 | Agent memory, CRM and send checks | read | 0.8 s |
| 1:29 | QuickBooks Online | read | 0.9 s |
| 1:30 | Microsoft Graph · Outlook email | read | 4.3 s |
| 1:31 | Microsoft Graph · Outlook email | read | 2.0 s |
| 1:31 | Microsoft Graph · Outlook email | read | 0.5 s |
| 1:31 | Shopify | read | 0.5 s |
| 1:32 | Agent memory, CRM and send checks | read | 0.0 s |
| 1:32 | QuickBooks Online | read | 1.3 s |
| 1:32 | Shopify | read | 0.5 s |
| 1:33 | QuickBooks Online | read | 0.6 s |
| 1:33 | Agent memory, CRM and send checks | read | 1.8 s |
| 1:36 | Microsoft Graph · Outlook email | read | 3.4 s |
| 1:39 | Microsoft Graph · Outlook email | read | 0.3 s |
| 1:51 | Amazon | read | 0.9 s |
| 1:52 | Certificate of analysis archive | read | 0.8 s |
| 1:55 | Microsoft Graph · Outlook email | read | 0.5 s |
| 1:58 | Quote workflow | read | 13.9 s |
| 1:59 | Amazon | read | 0.3 s |
| 2:00 | Certificate of analysis archive | read | 0.5 s |
| 2:00 | Microsoft Graph · Outlook email | read | 2.7 s |
| 2:08 | Certificate of analysis PDF | internal write | 8.1 s |
| 2:10 | Microsoft Graph · Outlook email | read | 1.1 s |
| 2:11 | QuickBooks Online | read | 0.9 s |
| 2:11 | QuickBooks Online | read | 0.6 s |
| 2:12 | Shopify | read | 0.8 s |
| 2:12 | Agent memory, CRM and send checks | read | 0.3 s |
| 2:13 | Microsoft Graph · Outlook email | read | 0.4 s |
| 2:21 | Agent memory, CRM and send checks | internal write | 1.3 s |
| 2:25 | Agent memory, CRM and send checks | read | 0.5 s |
| 2:25 | Cost and margin | read | 0.4 s |
| 2:26 | Cost and margin | read | 0.2 s |
| 2:26 | Agent memory, CRM and send checks | read | 0.1 s |
| 2:27 | Agent memory, CRM and send checks | read | 0.1 s |
| 2:28 | ShipStation | read | 0.6 s |
| 2:56 | Shopify | read | 3.0 s |
| 2:57 | UPS | read | 0.9 s |
| 2:57 | ShipStation | read | 0.6 s |
| 2:57 | Shopify | read | 1.2 s |
| 2:58 | Shopify | read | 0.6 s |
| 3:11 | ShipStation | read | 0.8 s |
| 3:13 | QuickBooks estimate | external write | 9.4 s |
| 3:18 | QuickBooks Online | read | 0.8 s |
| 3:19 | Agent memory, CRM and send checks | read | 0.0 s |
| 3:23 | Microsoft Graph · Outlook email | read | 1.9 s |
| 3:40 | Shopify | read | 0.4 s |
| 3:40 | Shopify | read | 0.3 s |
| 3:40 | ShipStation | read | 0.4 s |
| 3:49 | Shopify | read | 1.8 s |
| 3:49 | Agent memory, CRM and send checks | read | 0.5 s |
| 3:52 | Agent memory, CRM and send checks | internal write | 0.0 s |
| 4:02 | Agent memory, CRM and send checks | read | 0.0 s |
| 4:18 | Agent memory, CRM and send checks | internal write | 1.2 s |
| 4:20 | Agent memory, CRM and send checks | internal write | 1.2 s |
| 4:22 | Agent memory, CRM and send checks | read | 0.4 s |
| 4:24 | Agent memory, CRM and send checks | read | 0.4 s |
| 5:53 | QuickBooks Online | read | 0.7 s |
| 6:09 | ShipStation | external write | 0.5 s |
| 6:11 | ShipStation | read | 0.5 s |
| 6:19 | Email sent | external write | 2.4 s |
Download the data (CSV) · Tools and tool calls on Alliance Chemical’s MCP server, by domain (Aug 3 – Sep 30, 2026) · CC BY 4.0
What is an MCP server?
An MCP server is a program that gives AI applications such as Claude or ChatGPT a set of tools and data they can use, through the Model Context Protocol. MCP is “an open-source standard for connecting AI applications to external systems.” A server usually wraps one or more of your systems, such as accounting or email, and the AI application calls its tools.
MCP’s documentation names three parts. The host is the AI application, such as Claude Code, and it creates “one MCP client for each MCP server.” The server is “A program that provides context to MCP clients,” on your machine or somewhere else.
Anthropic open-sourced MCP on November 25, 2024. On December 9, 2025 it donated the protocol to the Agentic AI Foundation, “a directed fund under the Linux Foundation, co-founded by Anthropic, Block and OpenAI.” As of October 2026 the current version of the spec is 2026-07-28.
How does an MCP server work?
A server offers up to three kinds of things. Tools are “Executable functions that allow models to perform actions or retrieve information.” Resources are “Structured data or content that provides additional context to the model.” Prompts are “Pre-defined templates or instructions that guide language model interactions.”
There are two ways to connect. With stdio, “the client launches the MCP server as a subprocess” on the same machine. With Streamable HTTP, “each message is an HTTP POST to a single MCP endpoint,” so a remote server can handle many clients. The older HTTP+SSE transport is formally deprecated.
The 2026-07-28 revision changed the core. The release post says MCP is “transforming from a bidirectional stateful protocol into a request/response stateless protocol.” The changelog removes the initialize handshake and deprecates Roots, Sampling and Logging, so guides written before July 2026 describe steps the spec no longer has.
What does a real MCP server look like?
Alliance Chemical’s sales agent has run on one since February 2026. The agent works inside Claude Code, which starts the server over stdio. On October 2, 2026 the server answered a tools/list request with 169 tools in 21 domains, including QuickBooks Online, Shopify, Outlook email, ShipStation and UPS. It offers no resources or prompts. Disclosure: Andre Taki, a PHASEKIND founder, is Alliance Chemical’s Chief Commercial Officer and the agent’s main operator.
We sorted the tools by what they do (Figure 1). 90 read data and change nothing. 29 write only to the agent’s own records, such as deals, drafts and generated files. 50 change something outside, such as an invoice, an order, a shipment or a payment, or send a message to a person.
From August 3 to September 30, 2026 the server logged 38,328 successful calls: 30,354 reads (79.2%), 5,093 internal writes (13.3%) and 2,881 external writes (7.5%). That is about ten reads for every external write. The median call took 668 milliseconds.
On September 14, 2026 a quote request arrived at 11:05:14 a.m. and the reply went out at 11:11:36. In those six minutes the server logged 80 calls to 34 tools in 10 systems: 72 reads, 5 internal writes and 3 external writes, including a 13.9-second quote workflow, a QuickBooks estimate and the email send.
How we counted: the tool list comes from the live server and the calls from its own log, queried read-only. We classed each tool by reading what it does. 620 failed calls (1.6%) are left out. Some of the 80 calls belong to other emails worked in the same minutes, and email lookups can include teammates’ agents. This is one company’s server, so read the ratios as an example, not a benchmark.
How do you build an MCP server?
You write a program with one of the official SDKs, register each tool with a name, a description and an input schema, and add the server to your AI application’s settings. Alliance’s is TypeScript, with one module per system. Until March 6, 2026, Claude Code’s config listed 11 separate servers. That day they were merged into one entry point that loads every module, so one failing system doesn’t take the others down.
The model works from what you write in the definition. Here is QuickBooks customer search as the server lists it: the name qbo_search_customer, the description “Search QBO customers by email, company, or name. Returns terms info.” and three optional text fields, email, company and name. Write descriptions the way you would brief a new hire.
Log every call from the start. Alliance added one wrapper on August 3, 2026 that records each call’s tool, result and time, which is where every number above comes from. It doesn’t record a request ID, so the six-minute trace can’t separate one email’s calls from another’s. Add one.
MCP server vs API, AI agent and MCP gateway
An API is how a system exposes functions to programs. An MCP server sits on top of APIs and turns chosen functions into tools a model can find and call; MCP’s documentation lists “API calls” among the things tools do. Alliance’s QuickBooks domain is 24 tools over the QuickBooks API.
An AI agent decides what to do; the server only offers tools. At Alliance, Claude in Claude Code picks a tool from the list and the server runs the call.
The spec doesn’t define an MCP gateway; it mentions gateways only as intermediaries. Docker describes its own as “a centralized proxy between clients and servers, managing configuration, credentials, and access control.” Alliance runs one so teammates’ agents can use the same tools without holding API keys. It is hosted, takes a separate token for each person over Streamable HTTP and filters the tool list by role.
Is an MCP server secure?
An MCP server is as safe as the tools it exposes and the checks around them. The spec says “there SHOULD always be a human in the loop with the ability to deny tool invocations.” Its security guide adds: “MCP servers MUST NOT accept any tokens that were not explicitly issued for the MCP server.”
Alliance puts its checks in code. 36 of the 50 external-write tools take a confirmedWrite field that the schema describes as “Set true after user approval,” and QuickBooks, Shopify, Amazon and eBay writes are refused without it. 37 take an idempotency key, a “Dedupe key for safe retries,” so a repeated call replays the first result instead of writing twice. Email sends have their own checks: the sending address is fixed and the recipient has to match the thread.
The gateway’s block list for supervised roles names 28 of the 169 tools, including 10 external writes: card refunds, invoice voids, order cancellations, credit decisions and sending email. Blocked tools don’t appear in a teammate’s tool list. On the operator’s side the agent is supervised, so a person approves each email before it goes out.
Does your business need an MCP server?
You need one when you want an AI application to work in your own systems, not just answer questions about them. The Linux Foundation says MCP “has been adopted by Claude, Cursor, Microsoft Copilot, Gemini, VS Code, ChatGPT and other popular AI platforms.” Anthropic counted “more than 10,000 active public MCP servers” in December 2025, so check whether your software already has one.
If you build one, plan around the calls. At Alliance there were about ten reads for every external write. Ship the read tools first, add drafts next, and put every external write behind a person, a confirmation field and a role check.
Watch: the 31-second version
A 31-second motion piece of the note’s data: 169 tools rising into columns by call count, 79.2% of 38,328 calls as reads, 80 calls in the six minutes before one quote reply, 28 tools hidden from teammates, and the 2026-07-28 spec. Also on Instagram.
Questions people ask
What does MCP stand for?
Model Context Protocol. Anthropic open-sourced it on November 25, 2024 as “a new standard for connecting AI assistants to the systems where data lives.” Since December 9, 2025 it has belonged to the Agentic AI Foundation, a fund under the Linux Foundation.
What is the difference between a local and a remote MCP server?
A local server runs on your machine over stdio, and the AI application starts it as a subprocess. A remote server runs elsewhere and uses Streamable HTTP. MCP’s docs say local stdio servers “typically serve a single MCP client,” while remote ones “typically serve many MCP clients.”
Is MCP dead?
No. A new version of the spec, 2026-07-28, shipped in July 2026, and the MCP blog reported “close to half-a-billion downloads a month” across its main SDKs. The Agentic AI Foundation, which hosts MCP, had 190 member organizations in May 2026.
Is an MCP server free?
MCP is an open-source standard, so the protocol itself costs nothing to use. A server costs whatever it takes to run it and the systems behind it. Alliance Chemical’s runs as a local process on the operator’s machine, plus one hosted gateway for teammates.