<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: David Golverdingen</title>
    <description>The latest articles on Forem by David Golverdingen (@david_golverdingen_b133a5).</description>
    <link>https://forem.com/david_golverdingen_b133a5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3477803%2Fa52d6707-979b-4dcf-bdd7-5b95dce7be23.jpg</url>
      <title>Forem: David Golverdingen</title>
      <link>https://forem.com/david_golverdingen_b133a5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/david_golverdingen_b133a5"/>
    <language>en</language>
    <item>
      <title>Enterprise AI Without an Enterprise Budget</title>
      <dc:creator>David Golverdingen</dc:creator>
      <pubDate>Tue, 26 May 2026 07:27:06 +0000</pubDate>
      <link>https://forem.com/david_golverdingen_b133a5/enterprise-ai-without-an-enterprise-budget-2ja8</link>
      <guid>https://forem.com/david_golverdingen_b133a5/enterprise-ai-without-an-enterprise-budget-2ja8</guid>
      <description>&lt;p&gt;Most mid-market companies trying to ship AI are doing it the expensive way: build a custom chat UI, run on per-token API billing, freeze on a specific model version, hire a platform team. At Warmtebouw — a mid-sized engineering and installations firm, not a software company — we did the opposite. The result is the same business capability at a fraction of the cost, with every frontier model upgrade arriving for free on the day it ships.&lt;/p&gt;

&lt;p&gt;This piece is about the architecture that made that reachable, and why it's reachable for small and mid-sized companies that have been told enterprise AI is out of their league.&lt;/p&gt;




&lt;h2&gt;
  
  
  The standard path is expensive
&lt;/h2&gt;

&lt;p&gt;When a mid-market or smaller company decides to bring AI in, the path they're usually pointed toward looks the same: build a branded chat UI on the API, wire it to internal auth, manage prompts in-house, maybe add a RAG pipeline against company documents, optionally an orchestration framework for &lt;em&gt;"agent workflows,"&lt;/em&gt; and increasingly an observability platform to monitor it all. That path is real, and at sufficient scale it may be the right call. I haven't run this architecture at the scale of a large multinational with hundreds of heterogeneous systems and complex tenancy requirements, so I can't tell you whether the same posture holds there. My guess is that the MCP layer itself stretches further than the framework industry assumes (more servers, deeper hierarchies of tools, more careful schemas) rather than needing a different architecture entirely. But that's a hypothesis from one scale, not a report from another.&lt;/p&gt;

&lt;p&gt;For a company with twenty important systems and a few hundred employees, the standard path doesn't pay back. It's expensive in three coupled ways, and pulling the three apart reveals a simpler architecture underneath.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The chat client.&lt;/strong&gt; A branded chat UI is a frontend team, a design effort, conversation history infrastructure, attachment handling, multi-modal input support, an admin panel, model routing, prompt management. The vendor (Anthropic, OpenAI, Google) ships all of this as part of the subscription and continues to ship new affordances every quarter. Building it in-house means investing engineering hours into a commodity layer where the vendor has structural advantages no internal team can match.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model.&lt;/strong&gt; A custom chat UI almost always pins to a specific model version for stability. Six months later the frontier moves, and the pinned model is now a generation behind. Upgrading means re-validating every prompt and every tool, so most teams don't. Meanwhile every Claude Team subscriber got Opus 4.7 the morning it shipped, with zero engineering work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The billing.&lt;/strong&gt; API billing is per-token, which means the cost is a function of user behaviour that hasn't happened yet. In a workforce of 50-500 people, roughly 20% of users drive 80% of consumption once adoption stabilises. Published analyses of heavy usage put the API-vs-subscription cost ratio at 15-30x; for average users the multiple is smaller (3-10x), and for light users API can come out ahead. The relevant number isn't the average. It's the variance.&lt;/p&gt;

&lt;p&gt;These three costs aren't independent. They flow from the same root decision: build our own chat UI, or use the vendor's. Building locks all three together. The standard path commits a smaller company to a build budget, a maintenance team, an aging model, and an unpredictable bill, all at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  The simpler path
&lt;/h2&gt;

&lt;p&gt;Use the vendor's chat client. Pay per seat. Connect your existing identity provider. Then put your engineering hours where the value compounds: in MCP servers that &lt;a href="https://davidgolverdingen.nl/en/insights/97-percent-mcp-tool-descriptions-broken" rel="noopener noreferrer"&gt;encode your domain&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is the architecture in production. Employees use Claude through the standard client (web, desktop, mobile). The client authenticates against the corporate identity provider, same as every other corporate system. Through that client, employees have access to nine MCP servers covering the full operational chain. Each MCP tool is RBAC-gated against the same IdP roles that govern every other system. A field engineer sees their own time bookings; a controller sees aggregated financials; a guest user sees nothing.&lt;/p&gt;

&lt;p&gt;What I didn't build: a chat UI. A model gateway. A prompt management platform. A vector database. A retrieval pipeline. An agent observability stack. An &lt;a href="https://davidgolverdingen.nl/en/insights/mcp-is-the-ai-platform" rel="noopener noreferrer"&gt;&lt;em&gt;"AI platform"&lt;/em&gt;&lt;/a&gt; of any kind. None of those layers exist in the stack, because the subscription client provides everything above the MCP layer, and the IdP provides everything around it.&lt;/p&gt;

&lt;p&gt;A concrete example. The most common AI project a mid-sized company is pitched is &lt;em&gt;"RAG over our documents":&lt;/em&gt; chunk all the SharePoint or Google Drive content, embed it, build a vector store, wire it to a retrieval layer, host and maintain the whole pipeline. Even when that pipeline is cheap to build, it's a layer you have to keep alive. Re-index when documents change, re-tune when retrieval quality drops, re-permission when access rules shift, re-host when the embedding model is deprecated. Meanwhile, the Microsoft 365 and Google Workspace integrations that ship with Claude, ChatGPT, and Gemini are themselves MCP servers, published by the vendors, maintained by the vendors, with permissions inherited from the existing IdP and freshness handled upstream. The &lt;em&gt;"document search"&lt;/em&gt; capability that makes a custom RAG pipeline sound necessary is already an MCP server you can turn on in your admin console. The choice isn't cheap vs. expensive. It's an extra layer you maintain vs. no extra layer at all. And once you stop blaming the data and &lt;a href="https://davidgolverdingen.nl/en/insights/your-data-is-fine" rel="noopener noreferrer"&gt;start fixing the meaning layer&lt;/a&gt;, the case for a custom RAG pipeline gets thinner still.&lt;/p&gt;

&lt;p&gt;That sharpens the architectural rule. MCP isn't a category that lives only inside your perimeter; it's the protocol the entire ecosystem speaks, and vendors are already publishing servers for the commodity layer: productivity suites, code hosts, ticketing systems, design tools. Your engineering investment goes into the MCP servers that &lt;em&gt;only you&lt;/em&gt; can write: your ERP, your BIM data, your operational logs, your calculation history. The systems unique to your business that no vendor has, or will ever have, a connector for. Everything else, you consume. That's where the investment compounds, and where it doesn't.&lt;/p&gt;

&lt;p&gt;The cost picture inverts. Claude Team is about €19/seat/month on the annual plan; ChatGPT Enterprise and Gemini for Workspace are in similar territory. The vendor eats the billing variance. Every seat gets the latest frontier model the day it ships. No frontend to maintain, no platform team to staff, no orchestration platform to buy.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this opens up
&lt;/h2&gt;

&lt;p&gt;The interesting part of this architecture, and the part that makes it reachable for small companies, is the shape of &lt;a href="https://davidgolverdingen.nl/en/insights/six-levels-of-mcp-servers" rel="noopener noreferrer"&gt;the MCP layer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The domain layer is model-agnostic.&lt;/strong&gt; MCP servers are typed interfaces with tool descriptions and schemas. The same servers work with Claude today, Gemini tomorrow, GPT next quarter. None of the domain logic is locked to a model vendor. The engineering investment is portable across the entire frontier-model market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Identity lives at the tool boundary.&lt;/strong&gt; RBAC is enforced inside the MCP server, against your existing IdP. A model that's been prompt-injected can only call tools the authenticated user is already authorised to call. The security model is the same one your company already runs for every other system. No AI-specific identity layer, no prompt firewall, no model gateway. The tool boundary is the trust boundary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The engineering shape is small.&lt;/strong&gt; An MCP server, in my experience, is one engineer working with one domain expert for a few weeks per domain. That's the whole staffing model. Nine production servers over three months, no platform team, no specialists. The people who own the underlying business systems can do most of the work themselves, with engineering support.&lt;/p&gt;

&lt;p&gt;This is what makes the approach reachable. A small or mid-sized company doesn't need to hire an AI platform team to run this stack. The chat client is rented from a vendor at a price comparable to a productivity-suite seat. The MCP layer is built incrementally by the engineers and domain experts already on the payroll. There's no procurement cycle for an &lt;em&gt;"AI platform,"&lt;/em&gt; no consulting engagement to size the rollout, no infrastructure to provision.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you rent, what you own
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you rent&lt;/th&gt;
&lt;th&gt;What you own&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;The chat client (Claude, ChatGPT, Gemini, your choice)&lt;/td&gt;
&lt;td&gt;The MCP servers that encode your domain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Conversation history, attachments, multi-modal UI&lt;/td&gt;
&lt;td&gt;Tool descriptions, query strategies, business logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise SSO, audit logs, retention policies&lt;/td&gt;
&lt;td&gt;Identity-gated tool access through your existing IdP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend updates, model upgrades, security patches&lt;/td&gt;
&lt;td&gt;Domain knowledge written into schemas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The model itself, latest version on day one&lt;/td&gt;
&lt;td&gt;The integration with ERP, BIM, fleet, energy, calc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Predictable per-seat billing&lt;/td&gt;
&lt;td&gt;One engineer, one domain expert, per server&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;What you rent is the commodity layer: the stuff vendors compete on and ship continuously. What you own is the part no vendor can build for you, because no vendor knows what your data means.&lt;/p&gt;

&lt;h2&gt;
  
  
  The same pattern, one floor down
&lt;/h2&gt;

&lt;p&gt;The reason this is reachable goes one layer deeper than the chat client. The same logic applies to the framework layer underneath: LangChain, LangGraph, CrewAI, RAG pipelines, vector DBs, agent observability stacks. Building on top of those is one shape of architecture; building MCP servers directly against a frontier model is the same architectural posture without the additional layer.&lt;/p&gt;

&lt;p&gt;Each MCP spec release closes another category of problem that previously required a framework layer. Tool calling, resource management, prompts, sampling, elicitation, UI primitives via MCP Apps, and enterprise identity integration on the 2026 roadmap. Each one used to live in a framework above MCP, and each one is now in the protocol itself. The framework layer isn't being argued against; it's being absorbed. Companies building on top of frameworks today are building on top of a layer the protocol is in the process of swallowing.&lt;/p&gt;

&lt;p&gt;Both layers reward the same answer: rent the surface, own the domain. Use the vendor's client. Use the vendor's identity integrations. Use the vendor's model upgrades. Skip the framework layer. Spend your engineering on the part that's actually yours: the MCP servers that turn your operational data into something an agent can reason about.&lt;/p&gt;

&lt;p&gt;That's what &lt;em&gt;"MCP is the platform"&lt;/em&gt; actually looks like in practice. Not a stack you build, a perimeter you draw. Inside the perimeter: your domain, your tools, your IdP, your data. Outside: the model, the client, the vendor. The line between them is MCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you're starting
&lt;/h2&gt;

&lt;p&gt;Subscribe to Claude Team, ChatGPT Enterprise, or Gemini for Workspace. Connect your existing identity provider. Then pick the one system whose data your colleagues most want to query in natural language, and write one MCP server against it. Ship that. Watch them use it. Build the next one. The &lt;a href="https://davidgolverdingen.nl/en/insights/production-mcp-practitioners-guide" rel="noopener noreferrer"&gt;practitioner's guide&lt;/a&gt; walks the full seven-step recipe.&lt;/p&gt;

&lt;p&gt;That's the entire starting move. No vendor selection process for an AI platform. No headcount plan for a platform team. No procurement cycle for orchestration software. A subscription, an identity wire-up, and one MCP server is enough to be in production with real users by the end of a month.&lt;/p&gt;

&lt;p&gt;Three months of that across a real business produces what I have now: nine production servers, no framework dependencies, no custom chat UI, no API bill, no platform team, and a company that gets every frontier model upgrade for free the day it ships.&lt;/p&gt;

&lt;p&gt;This architecture isn't a clever workaround for the moment. It's an early version of what enterprise AI is going to look like once the protocol layer finishes absorbing the platform layer above it. The companies that build this way now are getting a head start on a stack that won't look unusual in two years. It will look obvious.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This piece is part of a series on shipping MCP to production in mid-market companies. The maturity ladder I see across MCP servers is in &lt;a href="https://dev.to/david_golverdingen_b133a5/six-levels-of-mcp-servers-2b25"&gt;Six Levels of MCP Servers&lt;/a&gt;, and the architectural argument for why MCP replaces the rest of the AI platform stack is in &lt;a href="https://dev.to/david_golverdingen_b133a5/mcp-is-the-ai-platform-2koo"&gt;MCP Is the AI Platform&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://davidgolverdingen.nl/en/insights/[your-slug]" rel="noopener noreferrer"&gt;davidgolverdingen.nl&lt;/a&gt;. I write about MCP architecture, agent design, and what it takes to ship AI to non-technical users in mid-market companies.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>architecture</category>
      <category>enterprise</category>
      <category>business</category>
    </item>
    <item>
      <title>MCP Is the AI Platform</title>
      <dc:creator>David Golverdingen</dc:creator>
      <pubDate>Tue, 26 May 2026 07:11:26 +0000</pubDate>
      <link>https://forem.com/david_golverdingen_b133a5/mcp-is-the-ai-platform-2koo</link>
      <guid>https://forem.com/david_golverdingen_b133a5/mcp-is-the-ai-platform-2koo</guid>
      <description>&lt;p&gt;Most teams shipping AI to production are still building on a stack designed for 2023. Custom chat UIs. Orchestration frameworks. RAG pipelines. Vector databases. Agent observability layers. An AI platform team to keep it all running. At Warmtebouw we skipped all of it and shipped nine MCP servers in three months for non-technical business users across ERP, BIM, fleet, energy, and operational systems.&lt;/p&gt;

&lt;p&gt;This is the case that MCP isn't a piece of your AI platform — it is your AI platform, and most of the layers above it are overhead you don't need at mid-market scale.&lt;/p&gt;




&lt;h2&gt;
  
  
  The model is the agent. The framework is overhead.
&lt;/h2&gt;

&lt;p&gt;The framing &lt;em&gt;"you need an agent framework"&lt;/em&gt; obscures a simpler truth: the model &lt;em&gt;is&lt;/em&gt; the agent. It reads tool descriptions. It chooses which tool to call. It sequences the calls. It interprets the results. That's textbook agentic behaviour, built into every frontier model that speaks MCP.&lt;/p&gt;

&lt;p&gt;What companies sell you on top of that is &lt;em&gt;framework around the agent&lt;/em&gt;: orchestration logic, retrieval pipelines, prompt managers, observability layers. Each of those products is solving a real problem in some context. But in a mid-sized business with a knowable set of important data sources, those contexts mostly don't apply.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What I use&lt;/th&gt;
&lt;th&gt;What I skip&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A frontier model (Claude in my case; swap as needed)&lt;/td&gt;
&lt;td&gt;LangChain + LangGraph + LangSmith stack&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP servers (custom, well-typed)&lt;/td&gt;
&lt;td&gt;Multi-agent orchestration (CrewAI, Microsoft Agent Framework, OpenAI Agents SDK)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tool descriptions as the interface&lt;/td&gt;
&lt;td&gt;Vector DBs, embedding pipelines, agentic-retrieval frameworks (LlamaIndex)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Domain knowledge written into schemas&lt;/td&gt;
&lt;td&gt;Hand-curated knowledge graphs sitting next to the tool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-source composition through tool design&lt;/td&gt;
&lt;td&gt;Workflow orchestration platforms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Production telemetry as the feedback loop&lt;/td&gt;
&lt;td&gt;Agent observability stacks (LangSmith, LangFuse, Arize Phoenix)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each row on the right is a paid product category. Each row on the left is the model, the protocol, or work I did once and reuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "build for MCP" looks like in practice
&lt;/h2&gt;

&lt;p&gt;A well-designed MCP server doesn't ask the model to &lt;em&gt;figure out&lt;/em&gt; what the data means. It tells the model what the data means &lt;a href="https://davidgolverdingen.nl/en/insights/six-levels-of-mcp-servers" rel="noopener noreferrer"&gt;in the tool description itself&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The contrast plays out at every level. A bad tool says: &lt;em&gt;"query data from the ERP."&lt;/em&gt; A good tool says: &lt;em&gt;"always start with &lt;code&gt;summaryOnly=true&lt;/code&gt;. Active projects accumulate thousands of records. Type codes determine which fields are populated. Use &lt;code&gt;get_budget&lt;/code&gt; for planned costs, this tool for actuals."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The first version forces the model to invent a query strategy on every call. The second hands the model a query strategy on every call. The difference between those two servers, in production, is whether business users actually use the result.&lt;/p&gt;

&lt;p&gt;This is the work teams skip when they reach for frameworks. The complexity is mostly self-inflicted. It exists because nobody wrote down what the tools mean. The same gap is why &lt;a href="https://davidgolverdingen.nl/en/insights/97-percent-mcp-tool-descriptions-broken" rel="noopener noreferrer"&gt;97% of MCP tool descriptions analysed in production contain at least one critical smell&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  One server can compose many sources
&lt;/h2&gt;

&lt;p&gt;The most common objection (&lt;em&gt;"but you need orchestration to combine data from multiple systems"&lt;/em&gt;) assumes orchestration has to live in a separate framework. It doesn't.&lt;/p&gt;

&lt;p&gt;One of my MCP servers combines five heterogeneous sources behind one interface: a third-party meter-data aggregator, a public weather API, a government building registry, the company ERP, and an IoT building-automation platform. No agent dance. No retrieval pipeline. Just typed tools with descriptions explaining when each source applies and how they relate.&lt;/p&gt;

&lt;p&gt;The model figures out the composition because the tool descriptions tell it the relationships. The pattern works across nine production servers covering ERP, BIM, fleet, calculations, building automation, energy, and operational logs. Effectively the entire operational surface of one business, addressable through tool descriptions, consumable by any MCP-speaking model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools abstract everything below them
&lt;/h2&gt;

&lt;p&gt;The model never sees how the data is fetched. Inside one MCP server, individual tools call whatever the underlying system speaks: REST for SaaS products, GraphQL for internal APIs, direct SQL against the data warehouse, JSON files on disk, SOAP envelopes for legacy systems. The tool returns typed records; the protocol heterogeneity stays inside the tool.&lt;/p&gt;

&lt;p&gt;That's the abstraction layer the data-fabric and iPaaS industries charge premium prices to build. MCP tools already do it, one tool at a time, in whatever language the data actually lives in, with no central pipeline. The choice of backend doesn't propagate; pick whatever fits the underlying system, and the model interface stays identical.&lt;/p&gt;

&lt;p&gt;Even SQL becomes tractable. Direct SQL from an LLM is dangerous because the model can be tricked into destructive queries. But SQL inside a typed MCP tool (where the server builds SQL from schema-validated parameters, the connection runs as a read-only role, and the corporate IdP gates who can call it) is just a regular function call. Any value that doesn't match the tool's JSON schema is rejected at the protocol boundary before the tool's code runs at all.&lt;/p&gt;

&lt;p&gt;This isn't theoretical. One of my servers is 100% SQL behind a query endpoint, covering calculation data. Every tool translates a typed agent request into a SQL query: the model passes schema-validated parameters in, the server constructs and runs the query, typed records come back out. The model never sees SQL. The connection runs as a read-only role, and access is gated by the same IdP roles that govern every other system.&lt;/p&gt;

&lt;p&gt;I built it in one day. The calculation expert who owns the underlying data validated it, and it already exposes every dataset that team needs. Once you've internalised the pattern, applying it to a new domain is a day's work, not a quarter's project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why mid-market is the sweet spot
&lt;/h2&gt;

&lt;p&gt;This argument has bounds. At Fortune 500 scale (hundreds of heterogeneous systems, multi-tenant SaaS, mountains of unstructured documents) you might need retrieval pipelines and orchestration. The complexity is real because the scope is real.&lt;/p&gt;

&lt;p&gt;But mid-sized businesses have something Fortune 500 doesn't: a knowable set of important data sources. Five to twenty key systems. A handful of domain experts who can sit with you for an afternoon and tell you what the data actually means. That's the entire prerequisite for a well-built MCP server.&lt;/p&gt;

&lt;p&gt;If your company fits in one office building and has fewer than twenty important systems, you're who this is for. You almost certainly don't need most of what the AI industry is trying to sell you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "the platform" actually is
&lt;/h2&gt;

&lt;p&gt;Notice what's missing from the table above: a platform. There's no "AI platform" in the stack. Just a frontier model, MCP servers, and the corporate identity layer the business already pays for. Swap the model (Claude today, Gemini tomorrow, GPT next quarter) and the rest of the stack stays identical.&lt;/p&gt;

&lt;p&gt;That last piece is what turns nine MCP servers into something an enterprise can run. Not an AI-specific identity layer. The one the company already operates. In a Microsoft shop, that's Entra ID with RBAC. In other shops, Okta, Google Cloud Identity, or any OAuth 2.1 provider. MCP servers authenticate against the existing IdP, scope tool access by role, and log every call to the same audit trail every other corporate system already uses.&lt;/p&gt;

&lt;p&gt;The implications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A field engineer sees only their own time bookings and assigned projects.&lt;/li&gt;
&lt;li&gt;A controller sees aggregated financials, not raw payroll.&lt;/li&gt;
&lt;li&gt;A guest user sees nothing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every action is attributable to a named identity in the same audit log as every other system. That's the entire enterprise AI security model. No prompt-firewall vendor. No AI-specific governance platform. No model gateway. Just the access-control infrastructure the company already runs, enforced at the MCP-tool boundary. Even prompt injection becomes bounded. A tricked model can only call tools the authenticated user is already authorised to call.&lt;/p&gt;

&lt;p&gt;Anthropic's 2026 MCP roadmap leads with enterprise authentication and identity-provider integration. The protocol is moving in this direction because the pattern works: tool-level RBAC against the corporate IdP turns &lt;em&gt;"the AI security problem"&lt;/em&gt; into a solved authentication problem. Which it always was.&lt;/p&gt;

&lt;p&gt;Wire MCP servers through enterprise identity and MCP isn't &lt;em&gt;connected to&lt;/em&gt; the platform. MCP &lt;em&gt;is&lt;/em&gt; the platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  The work that matters
&lt;/h2&gt;

&lt;p&gt;What the framework industry sells is scaffolding. What actually moves outcomes is the specific, domain-bound work of writing good tool descriptions: choosing the right granularity, documenting which tool fits which question, adding query strategies, capturing failure modes from production usage and feeding them back.&lt;/p&gt;

&lt;p&gt;None of that can be outsourced to a vendor, because &lt;a href="https://dev.to/en/insights/your-data-is-fine"&gt;nobody outside your business knows what your data means&lt;/a&gt;. But all of it is reachable in a few weeks per domain, with one engineer and one domain expert. That's the trade you're being told doesn't exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question that replaces "which framework should I pick?"
&lt;/h2&gt;

&lt;p&gt;If you're starting MCP work today, the most useful question isn't &lt;em&gt;"which framework do I need?"&lt;/em&gt; It's &lt;em&gt;"what's the smallest useful tool I can write for the one person whose week would get better tomorrow if it worked?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Build that. Watch them use it. Write down what they tried that didn't work. Update the tool description. Ship the next one.&lt;/p&gt;

&lt;p&gt;Three months of that across a real business produces nine production servers and zero framework dependencies. That's the story: not that frameworks are bad, but that for most mid-sized companies, they're the wrong problem to be solving first.&lt;/p&gt;

&lt;p&gt;The model is the agent. The IdP is the security boundary. MCP is the platform. Build for the platform, not around it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This piece is part of a series on shipping MCP to production in mid-market companies. If you want the practical case for why this architecture is reachable for smaller companies, see &lt;a href="https://dev.to/david_golverdingen_b133a5/enterprise-ai-without-an-enterprise-budget-2ja8"&gt;Enterprise AI Without an Enterprise Budget&lt;/a&gt;. For the maturity ladder I see across MCP servers in production, see &lt;a href="https://dev.to/david_golverdingen_b133a5/six-levels-of-mcp-servers-2b25"&gt;Six Levels of MCP Servers&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://davidgolverdingen.nl/en/insights/mcp-is-the-ai-platform" rel="noopener noreferrer"&gt;davidgolverdingen.nl&lt;/a&gt;. I write about MCP architecture, agent design, and what it takes to ship AI to non-technical users in mid-market companies.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>architecture</category>
      <category>ai</category>
      <category>aiengineering</category>
    </item>
    <item>
      <title>Six Levels of MCP Servers</title>
      <dc:creator>David Golverdingen</dc:creator>
      <pubDate>Mon, 25 May 2026 20:25:32 +0000</pubDate>
      <link>https://forem.com/david_golverdingen_b133a5/six-levels-of-mcp-servers-2b25</link>
      <guid>https://forem.com/david_golverdingen_b133a5/six-levels-of-mcp-servers-2b25</guid>
      <description>&lt;p&gt;Most MCP servers I see in production are stuck at Level 1 or 2. They wrap an API, expose some tools, and stop there. The result: an agent that can technically call your systems but doesn't actually understand your domain.&lt;/p&gt;

&lt;p&gt;After shipping nine MCP servers across ERP, BIM, fleet, energy, and operational systems at a mid-sized engineering firm, a pattern emerged. There are six distinct levels of sophistication an MCP server can reach, and the gap between Level 2 (the default most teams ship) and Level 4 (where the agent actually understands your domain) is where most of the value lives.&lt;/p&gt;

&lt;p&gt;Here's the ladder.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Six Levels of MCP Servers
&lt;/h1&gt;

&lt;p&gt;Most MCP servers do the same thing: wrap an API, expose tools with one-sentence descriptions, and hope the model figures out the rest. In &lt;a href="https://davidgolverdingen.nl/en/insights/your-data-is-fine" rel="noopener noreferrer"&gt;a previous post&lt;/a&gt; I described why this fails for enterprise data. Here's the maturity ladder that emerged after building nine production servers with 52 tools across nine APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 1: API Mapper (~70% of servers)
&lt;/h2&gt;

&lt;p&gt;One tool per endpoint. One-sentence descriptions. No domain context. The model figures everything out alone from the tool name. Ask &lt;em&gt;"which projects are running over budget?"&lt;/em&gt; and it will happily invent a filter, hit an empty endpoint, and tell you everything is fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 2: Functional (~20%)
&lt;/h2&gt;

&lt;p&gt;Tools are grouped sensibly. Descriptions are longer. Someone thought about how a human would use this. Still no domain knowledge, no cross-tool references, no query strategies. This is the ceiling most commercial MCP implementations aim for today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 3: Metadata-Rich (~8%)
&lt;/h2&gt;

&lt;p&gt;Knowledge graphs, glossaries, data catalogs. The metadata is real, but it lives next to the tool rather than inside it, and it was typically curated by hand over weeks or months. In practice, manual curation doesn't scale, and the agent only reads it if it happens to call the right meta-tool. I built two of these layers (MCP Resources and a parameterless "guide" tool) and removed both after testing. No Claude client ever requested them unprompted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 4: Self-Teaching (&amp;lt;2%)
&lt;/h2&gt;

&lt;p&gt;The domain knowledge is &lt;em&gt;in the tool description and the input/output schemas&lt;/em&gt;, the only channels the agent reads reliably on every call. And that knowledge wasn't written by humans scanning documentation; it was discovered by an AI examining real data, flagged with confidence levels, then validated by domain experts. I called the pattern &lt;strong&gt;Introspective Context Engineering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The difference is not subtle. A Level 1 server says &lt;em&gt;"query data from the ERP."&lt;/em&gt; A Level 4 server says &lt;em&gt;"always start with &lt;code&gt;summaryOnly=true&lt;/code&gt;, active projects accumulate thousands of records. Type codes determine which fields are populated. Use &lt;code&gt;get_budget&lt;/code&gt; for planned costs, this tool for actuals. Report friction via &lt;code&gt;report_problem&lt;/code&gt;."&lt;/em&gt; Not the same product. Not the same category.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 5: Interactive App (emerging)
&lt;/h2&gt;

&lt;p&gt;The server doesn't just return data. It returns &lt;strong&gt;rendered UI&lt;/strong&gt;. Interactive charts, sortable tables, clickable maps, typed forms, all drawn by the server and displayed inline in the conversation. The agent coordinates; the server controls presentation.&lt;/p&gt;

&lt;p&gt;A table of 400 rows in a markdown code block is unreadable. A rendered, sortable, filterable table is a tool a business user can actually use. Level 5 is where the interface meets the user where they are.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 6: Secure Write App (frontier)
&lt;/h2&gt;

&lt;p&gt;The server doesn't just read, it writes. Carefully. Two patterns: &lt;strong&gt;agent-initiated bounded writes&lt;/strong&gt; for low-risk mutations (feedback, scores) through standard tools, and &lt;strong&gt;user-initiated secure writes&lt;/strong&gt; for business-critical data through validated MCP App interactions. I call this the &lt;strong&gt;WriteIntent pattern&lt;/strong&gt;: agent opens the door, user walks through it, server checks every step.&lt;/p&gt;

&lt;p&gt;Almost nobody is here yet. Most builders are still nervous about giving MCP servers write access at all, and until Level 6 patterns exist, they should be.&lt;/p&gt;

&lt;h2&gt;
  
  
  The progression
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Expose data (1) → organize tools (2) → understand the domain (3) → learn from data and feedback (4) → present through interactive apps (5) → act through secure writes (6).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of the public MCP ecosystem is stuck between 1 and 2. MCP isn't dead. Most MCP servers are empty. A different transport doesn't fix that; filling the tool interface with real domain knowledge does.&lt;/p&gt;

&lt;p&gt;If you're building an MCP server today, the most useful question isn't &lt;em&gt;"which framework should I pick?"&lt;/em&gt; It's &lt;em&gt;"what level is mine, and what does Level N+1 look like?"&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This piece was originally published on &lt;a href="https://davidgolverdingen.nl/en/insights/six-levels-of-mcp-servers" rel="noopener noreferrer"&gt;davidgolverdingen.nl&lt;/a&gt;. I write about MCP architecture, agent design, and what it takes to ship AI to non-technical users in mid-market companies. If you're hitting similar patterns, I'd love to hear from you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>architecture</category>
      <category>aiengineering</category>
    </item>
  </channel>
</rss>
