<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>MCP &#183; PiniShv</title><link>https://pinishv.com/tags/mcp/</link><description>Pini Shvartsman leads AI transformation inside a 100+ engineer SaaS org. Field notes on autonomous engineering: AI-powered execution, human accountability.</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Pini Shvartsman</copyright><lastBuildDate>Sun, 22 Mar 2026 19:00:00 +0200</lastBuildDate><atom:link href="https://pinishv.com/tags/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>WordPress Just Let AI Agents Publish to 43% of the Web. Now What?</title><link>https://pinishv.com/articles/wordpress-ai-agents-publish-web/</link><pubDate>Sun, 22 Mar 2026 19:00:00 +0200</pubDate><guid>https://pinishv.com/articles/wordpress-ai-agents-publish-web/</guid><description>WordPress.com added MCP write access. AI agents can now draft, edit, and publish posts across 43% of all websites. Meanwhile, YouTube is deleting AI-generated content and demonetizing channels. Two platforms. Opposite directions. Same question: what&amp;rsquo;s content worth when machines make it free?</description><content:encoded>&lt;p>On March 20, &lt;a
href="https://techcrunch.com/2026/03/20/wordpress-com-now-lets-ai-agents-write-and-publish-posts-and-more"
target="_blank"
>WordPress.com announced&lt;/a> that AI agents can now write, edit, and publish posts on any WordPress.com site through MCP. Not just draft. Publish. The agent can also manage comments, update metadata, fix alt text, organize tags, and read the site&amp;rsquo;s design system to match its visual style.&lt;/p>
&lt;p>WordPress powers 43% of all websites. That&amp;rsquo;s 20 billion pageviews and 409 million unique visitors a month on the hosted platform alone.&lt;/p>
&lt;p>They just gave AI agents a publish button to nearly half the web.&lt;/p>
&lt;h2 class="relative group">What it actually looks like
&lt;div id="what-it-actually-looks-like" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-it-actually-looks-like" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>You connect your preferred AI client (Claude, ChatGPT, Cursor, or anything MCP-enabled) through &lt;a
href="https://developer.wordpress.com/docs/mcp/"
target="_blank"
>wordpress.com/mcp&lt;/a>. Then you tell it what you want in natural language. &amp;ldquo;Write a post about our Q1 product updates, match our brand voice, schedule it for Tuesday.&amp;rdquo; The agent drafts it, formats it to your site&amp;rsquo;s design system, and publishes.&lt;/p>
&lt;p>Posts default to draft status. All actions get tracked in the Activity Log. User role permissions are enforced: Contributors can draft but not publish. There are guardrails. But the core capability is clear: an AI agent can now autonomously manage a publication pipeline end-to-end.&lt;/p>
&lt;p>This builds on MCP support WordPress introduced in October 2025, which was read-only at the time. The jump from &amp;ldquo;read my site&amp;rdquo; to &amp;ldquo;publish to my site&amp;rdquo; happened in five months.&lt;/p>
&lt;h2 class="relative group">Meanwhile, YouTube is going the other direction
&lt;div id="meanwhile-youtube-is-going-the-other-direction" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#meanwhile-youtube-is-going-the-other-direction" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>In January 2026, YouTube &lt;a
href="https://outlierkit.com/resources/youtube-ai-slop-crackdown-2026/"
target="_blank"
>terminated 16 channels&lt;/a> with a combined 4.7 billion views and 35 million subscribers. The reason: mass-produced AI content with little to no human involvement. Channels running AI voiceovers over Wikipedia articles. Fake movie trailers. Repetitive content with minor variations pumped out daily.&lt;/p>
&lt;p>YouTube&amp;rsquo;s updated monetization policy is explicit: content with &amp;ldquo;little to no human involvement&amp;rdquo; doesn&amp;rsquo;t get monetized. YouTube CEO Neal Mohan said the platform &amp;ldquo;welcomes creators using AI tools to enhance storytelling&amp;rdquo; but draws the line at AI replacing storytelling entirely.&lt;/p>
&lt;p>Two of the biggest content platforms on the internet. One just made autonomous AI publishing easier than ever. The other is actively punishing it.&lt;/p>
&lt;h2 class="relative group">What&amp;rsquo;s actually happening here
&lt;div id="whats-actually-happening-here" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#whats-actually-happening-here" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The divergence makes sense when you look at what each platform values.&lt;/p>
&lt;p>WordPress is infrastructure. It doesn&amp;rsquo;t care what you publish. It cares that you use WordPress to publish it. More content, more sites, more hosting revenue. Opening MCP write access makes the platform more useful for the agentic era. If AI agents are going to generate content at scale, WordPress wants to be the rails.&lt;/p>
&lt;p>YouTube is an attention marketplace. It cares deeply about what gets published because its revenue depends on people watching. AI slop that nobody wants to watch degrades the product. YouTube has a direct financial incentive to filter, because advertisers don&amp;rsquo;t pay for content humans skip.&lt;/p>
&lt;p>The difference isn&amp;rsquo;t philosophical. It&amp;rsquo;s economic. WordPress sells picks and shovels. YouTube sells eyeballs.&lt;/p>
&lt;h2 class="relative group">The SaaS connection
&lt;div id="the-saas-connection" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-saas-connection" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I wrote recently about how &lt;a
href="https://pinishv.com/articles/saas-is-dead-we-just-havent-stopped-paying-for-it/">the SaaS bargain is breaking&lt;/a>. The old model was: rent generic software because custom is too expensive. AI collapsed the cost of custom. Same thing is happening with content.&lt;/p>
&lt;p>The old model was: pay for a platform because creating and managing content at scale was hard. WordPress just made it trivially easy. An agent can maintain an entire content pipeline. So what&amp;rsquo;s the platform&amp;rsquo;s value when the hard part disappears?&lt;/p>
&lt;p>WordPress is betting the value shifts from &amp;ldquo;helps you create content&amp;rdquo; to &amp;ldquo;is where content lives.&amp;rdquo; Infrastructure, not interface. That&amp;rsquo;s a defensible position if they&amp;rsquo;re right.&lt;/p>
&lt;p>But the WordPress announcement and the YouTube crackdown point to the same underlying question: when content becomes nearly free to produce, how do you maintain quality? WordPress&amp;rsquo;s answer is &amp;ldquo;that&amp;rsquo;s your problem.&amp;rdquo; YouTube&amp;rsquo;s answer is &amp;ldquo;that&amp;rsquo;s our problem, and we&amp;rsquo;ll enforce it.&amp;rdquo;&lt;/p>
&lt;p>For anyone building on either platform, the lesson is the same one from the SaaS article: the value isn&amp;rsquo;t in the generating anymore. It&amp;rsquo;s in the judgment, curation, and trust layer on top.&lt;/p>
&lt;p>AI can publish to 43% of the web now. The question isn&amp;rsquo;t whether it will. It&amp;rsquo;s whether anyone will want to read what it publishes.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Experimenting with AI-driven content workflows? Seeing the quality shift on platforms you use? I&amp;rsquo;d love to hear what you&amp;rsquo;re noticing. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/wordpress-ai-agents-publish-web/feature.png"/></item><item><title>Open WebUI Isn't a ChatGPT Clone. It's AI Infrastructure.</title><link>https://pinishv.com/articles/open-webui-ai-interface-infrastructure/</link><pubDate>Wed, 18 Mar 2026 10:00:00 +0200</pubDate><guid>https://pinishv.com/articles/open-webui-ai-interface-infrastructure/</guid><description>Everyone keeps calling Open WebUI a self-hosted ChatGPT alternative. They&amp;rsquo;re missing the point. The interesting question isn&amp;rsquo;t whether it can replace ChatGPT. It&amp;rsquo;s what happens when the AI interface layer stops being someone else&amp;rsquo;s product and becomes part of your stack.</description><content:encoded>&lt;p>Here&amp;rsquo;s a question nobody&amp;rsquo;s asking: who owns the layer between your engineers and the AI models they use every day?&lt;/p>
&lt;p>Right now, for most teams, the answer is OpenAI. Or Anthropic. Or Google. Your engineers open ChatGPT, or Claude, or Gemini, and they work inside someone else&amp;rsquo;s product. Someone else&amp;rsquo;s UI. Someone else&amp;rsquo;s data policies. Someone else&amp;rsquo;s feature roadmap.&lt;/p>
&lt;p>That&amp;rsquo;s fine when AI is a nice-to-have. It stops being fine when AI becomes how your team actually works.&lt;/p>
&lt;p>&lt;a
href="https://openwebui.com/"
target="_blank"
>Open WebUI&lt;/a> is the project that makes this question real. Not because it&amp;rsquo;s a better chatbot. Because it turns the AI interface layer into infrastructure you can own, deploy, and control. And once you understand what that means, the conversation about AI tooling changes completely.&lt;/p>
&lt;h2 class="relative group">What Open WebUI actually is
&lt;div id="what-open-webui-actually-is" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-open-webui-actually-is" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Strip away the &lt;a
href="https://github.com/open-webui/open-webui"
target="_blank"
>GitHub stars&lt;/a> (128k+ and counting) and the marketing language about &amp;ldquo;bringing intelligence home.&amp;rdquo; What you&amp;rsquo;re looking at is a self-hosted control plane for AI models.&lt;/p>
&lt;p>It runs in a container. Docker, Kubernetes, Podman, Helm, whatever your infra looks like. First account becomes admin. Later signups need approval. For a solo setup you can disable login entirely. One container, local storage, browser UI. You&amp;rsquo;re up and running.&lt;/p>
&lt;p>But the interesting design decision is that it&amp;rsquo;s &lt;strong>protocol-first, not vendor-first&lt;/strong>. Open WebUI uses OpenAI Chat Completions as the shared language across providers. It has compatibility layers for Anthropic. It supports Ollama for local models. It can route to any OpenAI-compatible backend. That makes it less like &amp;ldquo;an Ollama UI&amp;rdquo; and more like an operations layer sitting above whatever models you choose to run.&lt;/p>
&lt;p>This is the same architectural pattern we&amp;rsquo;ve seen play out in infrastructure before. Think about how Terraform became the control plane above cloud providers, or how Kubernetes became the orchestration layer above compute. Open WebUI is making that same move for the AI interface layer.&lt;/p>
&lt;h2 class="relative group">What it can actually do (beyond chat)
&lt;div id="what-it-can-actually-do-beyond-chat" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-it-can-actually-do-beyond-chat" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Most people discover Open WebUI because they want a local ChatGPT. Then they realize the feature surface is much wider than they expected.&lt;/p>
&lt;p>&lt;strong>RAG and knowledge work.&lt;/strong> Multiple vector databases, document uploads, URL ingestion, web search across 15+ providers, and full-page URL fetching. This isn&amp;rsquo;t a toy retrieval setup. It&amp;rsquo;s a real knowledge pipeline.&lt;/p>
&lt;p>&lt;strong>Agent capabilities.&lt;/strong> Open WebUI distinguishes between Tools, Functions, and Pipelines. It supports &lt;a
href="https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/">MCP&lt;/a> natively. It can attach external actions like search, scraping, image generation, and voice. It can expose MCP through OpenAPI-compatible flows. This is an agent platform, not just a chat box.&lt;/p>
&lt;p>&lt;strong>Code execution.&lt;/strong> Python through Pyodide or Jupyter, Mermaid rendering, interactive artifacts. At the extreme end there&amp;rsquo;s Open Terminal, which gives the model a real OS-level environment in a container. That&amp;rsquo;s powerful and terrifying in equal measure.&lt;/p>
&lt;p>&lt;strong>Team workflows.&lt;/strong> Folders, projects, chat history, shared conversations, channels for multi-user collaboration, RBAC, SCIM provisioning, OpenTelemetry. The admin surface is deeper than most people expect from an open-source project.&lt;/p>
&lt;p>&lt;strong>Media and voice.&lt;/strong> Image generation and editing, speech-to-text and text-to-speech with local, browser, and remote options.&lt;/p>
&lt;p>The feature list is impressive. But feature lists are easy. The real question is what happens when you actually run it.&lt;/p>
&lt;h2 class="relative group">The reality of running it in production
&lt;div id="the-reality-of-running-it-in-production" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-reality-of-running-it-in-production" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>For a hobbyist or solo developer, Open WebUI is deceptively simple. Container up, connect a model, start chatting.&lt;/p>
&lt;p>For production, the defaults are just defaults. Out of the box you get SQLite, embedded ChromaDB, and one Uvicorn worker. That&amp;rsquo;s fine for one person. The moment you want multi-worker or multi-node deployment, the project tells you to move to PostgreSQL with PGVector, Redis for caching, and shared storage. &lt;strong>Easy to start. Not magically &amp;ldquo;no-ops&amp;rdquo; once it matters.&lt;/strong>&lt;/p>
&lt;p>If you use RAG heavily, the reality gets sharper. The project&amp;rsquo;s own scaling guide warns that the default PDF extractor and default embedding path are common causes of memory leaks and RAM blowups at scale. They explicitly recommend externalizing them in production.&lt;/p>
&lt;p>I&amp;rsquo;m not saying this to dismiss the project. I&amp;rsquo;m saying it because this is exactly the kind of detail that separates &amp;ldquo;I read the feature list&amp;rdquo; from &amp;ldquo;I actually deployed it.&amp;rdquo; If you&amp;rsquo;re considering Open WebUI for your team, go in with eyes open. This is infrastructure. Infrastructure requires ops.&lt;/p>
&lt;h2 class="relative group">Who&amp;rsquo;s behind it and why that matters
&lt;div id="whos-behind-it-and-why-that-matters" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#whos-behind-it-and-why-that-matters" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Open WebUI is led by founder Tim J. Baek and backed by Open WebUI, Inc. The team page credits community contributors, but the organization is explicit that it&amp;rsquo;s not looking for outside governance advice. This is founder-led open source, not a neutral foundation-governed commons.&lt;/p>
&lt;p>Why does that matter? Because the business model is visible in the decisions.&lt;/p>
&lt;p>Since version 0.6.6, the project added a branding-protection clause for larger deployments. Code up to v0.6.5 remains under the original BSD-3 terms. Enterprise offerings include theming, SLAs, LTS, and direct support. This is the standard playbook: open core with enterprise upsell.&lt;/p>
&lt;p>The community has opinions about this. Some people on Hacker News get sharp about the licensing change and the fact that a project called &amp;ldquo;Open&amp;rdquo; WebUI has branding restrictions. Others say they don&amp;rsquo;t care because they&amp;rsquo;re not planning to fork it anyway.&lt;/p>
&lt;p>My take: this is a normal and healthy tension. Building sustainable open-source software costs money. Branding protection is one of the less invasive ways to fund it. But if you&amp;rsquo;re betting your team&amp;rsquo;s AI infrastructure on this project, you should understand the governance model you&amp;rsquo;re buying into.&lt;/p>
&lt;h2 class="relative group">The security conversation nobody wants to have
&lt;div id="the-security-conversation-nobody-wants-to-have" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-security-conversation-nobody-wants-to-have" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the uncomfortable part.&lt;/p>
&lt;p>Open WebUI&amp;rsquo;s Tools, Functions, Filters, Pipes, and Pipelines execute arbitrary Python on your server. The docs say &amp;ldquo;only install from trusted sources.&amp;rdquo; That&amp;rsquo;s honest, but it also means the extension system is a real attack surface.&lt;/p>
&lt;p>This isn&amp;rsquo;t theoretical. A code-injection issue in Direct Connections was patched in 0.6.35. An SSRF issue in retrieval processing was patched in 0.6.37. Both are the kind of vulnerabilities that come with running user-extensible systems.&lt;/p>
&lt;p>For your team, this means treating Open WebUI the same way you&amp;rsquo;d treat any infrastructure component: pin versions, review extensions, monitor for CVEs, control who can install what. The freedom to extend the platform comes with the responsibility to secure it.&lt;/p>
&lt;h2 class="relative group">Why teams and orgs actually adopt this
&lt;div id="why-teams-and-orgs-actually-adopt-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-teams-and-orgs-actually-adopt-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Features are nice. But nobody migrates their AI tooling because of a feature checklist. They do it because something about the current setup is broken. I spent time researching the best tools for an internal ChatGPT alternative, talking to other engineering leaders who did the same. Here&amp;rsquo;s what actually drives the decision.&lt;/p>
&lt;p>&lt;strong>Cost visibility and control.&lt;/strong> When your team uses ChatGPT or Claude directly, every person needs a subscription. Or worse, everyone shares credentials. Or worst of all, engineers use their personal accounts and company data flows through consumer products with consumer privacy terms. With Open WebUI in front of your API keys, you get one set of credentials, usage tracking per user, and the ability to route different workloads to different models based on cost. Need a quick answer? Route to a cheap local model. Need deep reasoning? Route to Claude or GPT. Same interface, conscious cost allocation.&lt;/p>
&lt;p>&lt;strong>Data stays where you decide.&lt;/strong> For a lot of orgs this is the whole conversation. Regulated industries, government contracts, security-conscious startups. The moment your engineers paste proprietary code into ChatGPT, you have a data governance problem. Self-hosting the interface layer means the data flows through your infrastructure, your logging, your retention policies. You can run sensitive workloads on local models that never leave your network, and routine tasks on cloud APIs. Same UI for both.&lt;/p>
&lt;p>&lt;strong>No vendor lock-in on the workflow layer.&lt;/strong> This is the one that hits engineering leaders hardest. Today your team builds workflows, prompt libraries, knowledge bases, and habits around ChatGPT. Tomorrow OpenAI changes the pricing, kills a feature, or deprecates a model. Everything you built around their interface is tied to their decisions. When the interface is yours, the models are pluggable. You can switch from GPT to Claude to Gemini to a local model without retraining your team or rebuilding your workflows.&lt;/p>
&lt;p>&lt;strong>Unified AI experience across the org.&lt;/strong> Instead of some engineers using ChatGPT, some using Claude, some using local models, and nobody sharing anything, everyone works through one interface. Shared conversations, shared knowledge bases, shared tools. New team member joins, gets access to the same AI setup as everyone else. That might sound like a small thing until you&amp;rsquo;ve managed an engineering org where every person has their own disconnected AI workflow and none of that institutional knowledge is captured anywhere.&lt;/p>
&lt;p>&lt;strong>A real sandbox for innovation.&lt;/strong> Want to test a new model? Add it as a backend. Want to build a custom agent for your team? Use the extension system. Want to integrate your internal knowledge base? Plug in RAG. Want to give your AI access to your tools via MCP? It&amp;rsquo;s supported. You don&amp;rsquo;t need to wait for OpenAI or Anthropic to ship a feature. If you can build it, you can plug it in. For teams that move fast, that&amp;rsquo;s the difference between waiting for a vendor&amp;rsquo;s roadmap and building what you need right now.&lt;/p>
&lt;p>None of this is free. You trade managed simplicity for operational responsibility. But for teams that are serious about AI being part of how they work, not just a tool they occasionally open, owning the interface layer starts making a lot of sense.&lt;/p>
&lt;h2 class="relative group">How it compares to the incumbents
&lt;div id="how-it-compares-to-the-incumbents" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-the-incumbents" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The comparison isn&amp;rsquo;t really about features. It&amp;rsquo;s about what you&amp;rsquo;re optimizing for.&lt;/p>
&lt;p>&lt;strong>Versus ChatGPT.&lt;/strong> ChatGPT has Projects, Deep Research, Apps, Company Knowledge, and mature business controls. SSO, retention policies, permissions, training defaults. It&amp;rsquo;s zero-ops SaaS. Open WebUI&amp;rsquo;s advantage is that you own the stack. Data stays local. You mix local and remote models. You&amp;rsquo;re not locked to one vendor&amp;rsquo;s interface. If zero-ops matters most, ChatGPT wins. If ownership matters most, Open WebUI wins.&lt;/p>
&lt;p>&lt;strong>Versus Claude.&lt;/strong> Claude has Artifacts, Projects, Skills, Research, and Google Workspace integration. Anthropic also created MCP. Open WebUI can route to Claude&amp;rsquo;s models, but Anthropic&amp;rsquo;s own docs note that their OpenAI-compatible endpoint is mainly for testing, and the native API is recommended for the full feature set including PDF processing, citations, extended thinking, and prompt caching. Protocol compatibility is powerful, but it flattens vendor-specific superpowers.&lt;/p>
&lt;p>&lt;strong>Versus Gemini.&lt;/strong> Gemini is strongest when your work already lives in Google&amp;rsquo;s ecosystem. Deep Research can pull from Search, Gmail, Drive, and NotebookLM. Open WebUI is the better fit if you want one interface above Google models, Anthropic models, OpenAI models, local models, and whatever comes next.&lt;/p>
&lt;p>The pattern is consistent: the SaaS products win on managed experience and vendor-native depth. Open WebUI wins on control and independence. Neither is wrong. They&amp;rsquo;re different bets.&lt;/p>
&lt;h2 class="relative group">How it compares to open-source alternatives
&lt;div id="how-it-compares-to-open-source-alternatives" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-open-source-alternatives" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The open-source landscape is more nuanced.&lt;/p>
&lt;p>&lt;strong>LibreChat&lt;/strong> is probably the closest direct competitor. Agents, MCP, artifacts, code interpreter, broad provider support. It reads like the closest open-source answer to the mainstream chat products. Open WebUI feels more infrastructure-oriented, more invested in deployment patterns, admin controls, and the local/offline story.&lt;/p>
&lt;p>&lt;strong>AnythingLLM&lt;/strong> leads with &amp;ldquo;chat with your docs.&amp;rdquo; Built-in agents, multi-user support, vector databases, document pipelines, no-code agent builder. If your center of gravity is private documents and internal knowledge workflows, AnythingLLM has a clear story. Open WebUI is broader if you want one extensible front end for many kinds of AI workflows.&lt;/p>
&lt;p>&lt;strong>Onyx&lt;/strong> is enterprise-search-heavy. Connectors, synced knowledge sources, deep research, MCP, enterprise knowledge grounding. Compelling when &amp;ldquo;AI over company knowledge&amp;rdquo; is the main requirement. Open WebUI is a general AI workspace. Onyx is sharper as an enterprise retrieval layer.&lt;/p>
&lt;p>&lt;strong>Jan&lt;/strong> is desktop-first and personal. 100% offline, runs on your laptop, turns it into an AI workstation. Great for single-user local AI. Open WebUI becomes more compelling the moment you want browser access, shared workspaces, or team deployment.&lt;/p>
&lt;h2 class="relative group">What this actually means for engineering leaders
&lt;div id="what-this-actually-means-for-engineering-leaders" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-this-actually-means-for-engineering-leaders" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the strategic point that matters more than any feature comparison.&lt;/p>
&lt;p>For the last two years, the AI interface layer has been bundled with the model provider. You use ChatGPT because you want GPT. You use Claude because you want Anthropic&amp;rsquo;s models. The interface and the intelligence came as a package deal.&lt;/p>
&lt;p>Open WebUI (and projects like it) are unbundling that. The model is one layer. The interface is another. And once those layers separate, the dynamics change.&lt;/p>
&lt;p>Your team can switch models without switching workflows. You can run sensitive workloads on local models and routine work on cloud APIs, through the same interface. You can add RAG, agents, and custom tools without waiting for OpenAI to ship them. You can audit, log, and control every interaction.&lt;/p>
&lt;p>The price of that freedom is real. You own deployment. You own patching. You own extension security. You own operational tuning. You inherit everything that SaaS normally hides behind a login page.&lt;/p>
&lt;p>That&amp;rsquo;s not a reason to avoid it. It&amp;rsquo;s a reason to approach it the way you&amp;rsquo;d approach any infrastructure decision: with clear requirements, honest assessment of your ops capacity, and a plan for what happens when things break at 3am.&lt;/p>
&lt;h2 class="relative group">Who should care about this
&lt;div id="who-should-care-about-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#who-should-care-about-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;re a solo developer who wants a better local AI setup, Open WebUI is probably the best option out there right now. Install it, connect your models, enjoy.&lt;/p>
&lt;p>If you&amp;rsquo;re an engineering leader evaluating AI tooling for your team, Open WebUI is worth understanding even if you don&amp;rsquo;t deploy it. It represents where the AI tooling ecosystem is heading: model-agnostic interfaces, self-hosted control planes, protocol-first architectures. The question isn&amp;rsquo;t whether this pattern wins. It&amp;rsquo;s how fast.&lt;/p>
&lt;p>If you&amp;rsquo;re already running AI agents in production (like I am), Open WebUI is interesting as the potential front end for your entire AI operations layer. One interface for your agents, your knowledge base, your model routing, your team&amp;rsquo;s AI workflows. That&amp;rsquo;s a compelling vision. Whether the project can deliver on it at enterprise scale is still an open question.&lt;/p>
&lt;p>Either way, the conversation has shifted. It&amp;rsquo;s no longer just about which model is best. It&amp;rsquo;s about who controls the layer where your team meets the model. Open WebUI is one of the first projects to take that question seriously.&lt;/p>
&lt;p>And that&amp;rsquo;s worth paying attention to.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Running self-hosted AI infrastructure? Thinking about owning the interface layer? I&amp;rsquo;d love to hear what you&amp;rsquo;re using. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/open-webui-ai-interface-infrastructure/feature.png"/></item><item><title>Your AI Agents Are Flying Blind. Here's How to Fix That.</title><link>https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/</link><pubDate>Sun, 15 Mar 2026 10:00:00 +0200</pubDate><guid>https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/</guid><description>Every AI agent in your org starts every session with zero context. No business rules. No architecture decisions. No conventions. The code they generate looks correct but violates assumptions that live in people&amp;rsquo;s heads. The solution isn&amp;rsquo;t better models. It&amp;rsquo;s a knowledge system.</description><content:encoded>&lt;p>Your AI agent just rewrote the authentication flow. The code is clean. Tests pass. The PR looks great.&lt;/p>
&lt;p>One problem: it broke the SSO integration with three enterprise customers because it didn&amp;rsquo;t know the auth service has a contract with the identity provider that requires a specific token format. That contract lives in a Slack thread from 2023 and one engineer&amp;rsquo;s head.&lt;/p>
&lt;p>The agent didn&amp;rsquo;t make a mistake. It made a perfectly reasonable decision with the information it had. &lt;strong>The information it had was almost nothing.&lt;/strong>&lt;/p>
&lt;p>This is happening across your codebase right now. Not just with authentication. With everything. Business rules, API contracts, deployment constraints, database conventions, service boundaries. Your agents write code that compiles, passes tests, and violates assumptions that live nowhere except in people&amp;rsquo;s heads and scattered documents nobody maintains.&lt;/p>
&lt;p>I&amp;rsquo;ve written about &lt;a
href="https://pinishv.com/articles/the-context-problem-why-switching-between-claude-chatgpt-and-grok-feels-like-groundhog-day/">why context is the fundamental problem in AI&lt;/a>. I&amp;rsquo;ve written about &lt;a
href="https://pinishv.com/articles/org-charts-for-ai-agents-mapping-your-human-and-ai-workforce/">putting AI agents on the org chart&lt;/a> and managing them like team members. But none of that matters if the agents start every session blind.&lt;/p>
&lt;p>&lt;strong>If you&amp;rsquo;re running agents in production, this is the problem you need to solve next.&lt;/strong>&lt;/p>
&lt;h2 class="relative group">Two teams, same agents, wildly different results
&lt;div id="two-teams-same-agents-wildly-different-results" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#two-teams-same-agents-wildly-different-results" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Let me describe what I&amp;rsquo;m seeing.&lt;/p>
&lt;p>&lt;strong>Team A&lt;/strong> has agents embedded in their development workflow. An agent picks up a ticket to add a new validation rule to the user registration flow. Before writing a line of code, it queries a knowledge base and gets back: the existing validation rules, the reason the email format check is stricter than RFC 5322 (because of a legacy migration), the API contract with the notification service, and the team&amp;rsquo;s convention for error handling. The agent writes code that fits. The PR gets approved on the first review.&lt;/p>
&lt;p>&lt;strong>Team B&lt;/strong> has the exact same agents, same models, same IDE. Their agent picks up a similar ticket. It reads the code in the repo, sees patterns, generates a solution. The solution uses a different error handling pattern than the rest of the codebase. It changes the validation response format, which breaks the mobile client. It adds a database column without following the team&amp;rsquo;s migration conventions. The PR gets three rounds of review comments and a refactor.&lt;/p>
&lt;p>Same AI. Same capability. Completely different outcomes.&lt;/p>
&lt;p>The difference isn&amp;rsquo;t the model. It&amp;rsquo;s that Team A solved the knowledge problem and Team B didn&amp;rsquo;t.&lt;/p>
&lt;h2 class="relative group">Where knowledge actually lives (and why that&amp;rsquo;s broken)
&lt;div id="where-knowledge-actually-lives-and-why-thats-broken" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-knowledge-actually-lives-and-why-thats-broken" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>In most engineering organizations, critical knowledge is scattered across:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>People&amp;rsquo;s heads.&lt;/strong> The worst possible storage medium.&lt;/li>
&lt;li>&lt;strong>Slack threads.&lt;/strong> Searchable in theory, buried in practice.&lt;/li>
&lt;li>&lt;strong>Confluence pages.&lt;/strong> Written once, updated never.&lt;/li>
&lt;li>&lt;strong>Code comments.&lt;/strong> Spotty at best, misleading at worst.&lt;/li>
&lt;li>&lt;strong>Tribal knowledge.&lt;/strong> &amp;ldquo;Ask Daniel, he built that service.&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>None of this is accessible to AI agents. None of it is structured for retrieval. None of it stays current.&lt;/p>
&lt;p>And here&amp;rsquo;s the compounding problem: as AI agents do more work, the knowledge gap matters more, not less. When humans wrote all the code, at least the person writing it carried the context. When agents write the code, the context has to come from somewhere else. Or it doesn&amp;rsquo;t come at all.&lt;/p>
&lt;p>&lt;strong>Think about it this way:&lt;/strong> a senior developer who&amp;rsquo;s been on your team for three years carries hundreds of micro-decisions in their head. Why the payment service retries exactly three times. Why the user permissions check happens at the API gateway, not the service layer. Why that database query uses a specific index hint. Now imagine replacing that developer with an agent that knows none of this. That&amp;rsquo;s what you&amp;rsquo;re doing every time an agent starts a session.&lt;/p>
&lt;h2 class="relative group">The wrong way to fix this
&lt;div id="the-wrong-way-to-fix-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-wrong-way-to-fix-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The instinct is to throw more code at the agent. Bigger context windows. More files in the prompt. RAG over the entire codebase.&lt;/p>
&lt;p>I&amp;rsquo;ve seen teams try this. Here&amp;rsquo;s what happens:&lt;/p>
&lt;p>They dump the entire repo into the context. The agent drowns in irrelevant code and can&amp;rsquo;t find the signal, and every token costs money, so you&amp;rsquo;re paying premium rates to confuse your own agents. They build RAG over Confluence. The retrieval returns pages from 2021 that contradict how things actually work. They write massive README files. Nobody maintains them. Within three months they&amp;rsquo;re more misleading than helpful.&lt;/p>
&lt;p>And the costs compound. More tokens in the context means higher API bills on every single request. Bad context leads to wrong code, which leads to longer review cycles, which leads to rework, which means more agent sessions with the same bad context. It&amp;rsquo;s compound interest working against you. Every layer of waste multiplies the next.&lt;/p>
&lt;p>&lt;strong>The problem isn&amp;rsquo;t volume of information. It&amp;rsquo;s the right information, maintained, structured, and delivered at the moment the agent needs it.&lt;/strong> Get this wrong and you&amp;rsquo;re not just getting bad code. You&amp;rsquo;re paying more for it with every iteration.&lt;/p>
&lt;h2 class="relative group">What actually works: a developer knowledge hub
&lt;div id="what-actually-works-a-developer-knowledge-hub" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-actually-works-a-developer-knowledge-hub" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>After months of thinking about this problem and looking at how every available solution falls short, I believe the answer is a system with three components that work together.&lt;/p>
&lt;div style="margin:28px 0; background:linear-gradient(135deg, #0f2440, #1e3a5f); border-radius:12px; padding:36px; color:#fff;">
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 1&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Source of Truth&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(34,211,238,0.1); border:1px solid rgba(34,211,238,0.3); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">📁&lt;/span>
&lt;div>&lt;strong>Knowledge Repo&lt;/strong> (Git)&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Developers author markdown: product rules, system docs, architecture specs, skills&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼ &amp;nbsp; CI/CD syncs on every merge &amp;nbsp; ▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 2&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Index &amp; Push&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">🔍&lt;/span>
&lt;div>&lt;strong>Vector Store + Embeddings&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Chunk, embed, index → semantic search&lt;/span>&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">📄&lt;/span>
&lt;div>&lt;strong>AGENTS.md + Skills per repo&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Generated context + reusable workflows&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼ &amp;nbsp; Serves queries at dev time &amp;nbsp; ▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 3&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Universal Bridge&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(34,211,238,0.1); border:1px solid rgba(34,211,238,0.3); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">🔌&lt;/span>
&lt;div>&lt;strong>MCP Server&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">One server → every IDE &amp; agent can query knowledge&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#94a3b8;">Consumers&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">All tools&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">💻&lt;/span>
&lt;div style="display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:#94a3b8;">
&lt;span>Cursor&lt;/span> &lt;span>Claude Code&lt;/span> &lt;span>Copilot&lt;/span> &lt;span>Codex&lt;/span> &lt;span>Kiro&lt;/span> &lt;span style="color:rgba(255,255,255,0.35);">+ any future MCP-compatible tool&lt;/span>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h3 class="relative group">Git for authoring
&lt;div id="git-for-authoring" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#git-for-authoring" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Not Confluence. Not Notion. Not some SaaS product with its own editing UI.&lt;/p>
&lt;p>A Git repository. Markdown files. Pull requests for review. CI/CD for automation. The same workflow developers already use for code.&lt;/p>
&lt;p>Why Git? Because the adoption problem kills every knowledge initiative that requires developers to learn a different tool. PRs already have review workflows. Blame shows who wrote what. History shows when things changed. CODEOWNERS controls who can approve what. Your developers already know all of this. Zero adoption friction.&lt;/p>
&lt;p>The repo holds four types of knowledge:&lt;/p>
&lt;p>&lt;strong>Product knowledge.&lt;/strong> Business rules, domain logic, edge cases, validation requirements. Why the user registration flow requires that specific email format. Why the discount calculation has a different rounding rule for enterprise customers. This changes every sprint.&lt;/p>
&lt;p>&lt;strong>System knowledge.&lt;/strong> Build commands, repo structure, coding conventions, database patterns, module boundaries. Why you always run migrations before the test suite. Why the cache invalidation uses event sourcing instead of TTL. This changes when code changes.&lt;/p>
&lt;p>&lt;strong>Architecture knowledge.&lt;/strong> API contracts, data flows, service boundaries, system invariants. Why the payment service is the only service allowed to write to the transactions table. Why the notification queue has exactly-once delivery semantics. This changes rarely but matters enormously.&lt;/p>
&lt;p>&lt;strong>Operational skills.&lt;/strong> Code review checklists, debugging guides, feature scaffolding patterns, cross-repo change workflows. How to add a new API endpoint. How to set up a feature flag. How to run a database migration across services. How the CI/CD pipeline works, which checks run on PR, which run on merge, what gates production. How linting and formatting are enforced and what to do when a check fails. How to roll back a deployment. How to triage a failing build. These are reusable agent workflows that encode how your team actually works. Not just the code, but the entire delivery process around it.&lt;/p>
&lt;p>One thing you&amp;rsquo;ll notice is missing from this list: the code itself. That&amp;rsquo;s intentional. AI IDEs and coding agents like Cursor, Copilot, and Claude Code already do a solid job indexing your codebase. They understand file structure, imports, function signatures. You don&amp;rsquo;t need to duplicate that work. What they can&amp;rsquo;t index is everything around the code. The why, the rules, the decisions. That&amp;rsquo;s what the knowledge hub is for. That said, the system is designed to be agile. If you want to add code indexing, documentation from other sources, or any other category of data, the architecture supports it. Same Git authoring, same search layer, same MCP delivery.&lt;/p>
&lt;h3 class="relative group">Semantic search for retrieval
&lt;div id="semantic-search-for-retrieval" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#semantic-search-for-retrieval" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Raw markdown is great for humans. Useless for agents that need to find the right three paragraphs out of thousands for a specific task.&lt;/p>
&lt;p>This layer chunks the markdown by section, embeds it into vectors, and indexes it for semantic retrieval. When an agent asks &amp;ldquo;what are the validation rules for the registration flow?&amp;rdquo; it gets the relevant sections, with citations back to the source documents.&lt;/p>
&lt;p>AWS Bedrock Knowledge Bases does this out of the box. So does Pinecone, Weaviate, or any vector store with a decent chunking strategy. The specific tool doesn&amp;rsquo;t matter. What matters is that knowledge becomes semantically searchable, not just keyword-matchable.&lt;/p>
&lt;p>CI/CD syncs markdown to the search index on every merge. Knowledge stays current automatically. No manual re-indexing. No stale embeddings.&lt;/p>
&lt;h3 class="relative group">MCP for delivery
&lt;div id="mcp-for-delivery" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#mcp-for-delivery" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Here&amp;rsquo;s where it comes together.&lt;/p>
&lt;p>Your developers use Cursor, Claude Code, Copilot, Codex, Kiro. Probably several of them. Each one is an island. Each one starts every session without context.&lt;/p>
&lt;p>&lt;a
href="https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/">Model Context Protocol (MCP)&lt;/a> is the open standard that connects all of them. I wrote a deep dive on MCP earlier. If you haven&amp;rsquo;t read it, start there.&lt;/p>
&lt;p>One MCP server wraps your knowledge base and exposes it to every IDE and agent through a standard interface. Build one server. Every tool connects natively. New tools that support MCP work automatically. Zero per-tool maintenance.&lt;/p>
&lt;p>The server exposes three tools: &lt;code>search_knowledge&lt;/code> for semantic search across all knowledge, &lt;code>get_document&lt;/code> to fetch a specific doc by path, and &lt;code>list_knowledge_bases&lt;/code> to discover available sources. Simple interface, massive impact.&lt;/p>
&lt;p>&lt;strong>Without MCP:&lt;/strong> You build a separate integration for each IDE. Maintain six connectors. Each tool gets knowledge differently. Every new tool means new work.&lt;/p>
&lt;p>&lt;strong>With MCP:&lt;/strong> You build one server. Everything connects. When the next AI coding tool launches next month, it just works.&lt;/p>
&lt;h2 class="relative group">The loop that makes it compound
&lt;div id="the-loop-that-makes-it-compound" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-loop-that-makes-it-compound" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s where this gets really powerful. The system doesn&amp;rsquo;t just serve knowledge. It grows.&lt;/p>
&lt;div style="margin:28px 0; background:linear-gradient(135deg, #0f2440, #1e3a5f); border-radius:12px; padding:32px 28px; color:#fff;">
&lt;div style="display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0;">
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">🔍&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Read&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Agent queries KB&lt;br>via MCP&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">💻&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Work&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Develops with&lt;br>full context&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">📝&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Write Back&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Opens PR to&lt;br>knowledge repo&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">✅&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Merge&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Dev reviews&lt;br>CI re-indexes&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">↩&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(34,211,238,0.2); border:2px solid #22d3ee; display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">🔄&lt;/div>
&lt;div style="font-size:14px; font-weight:700; color:#22d3ee;">Updated&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Next session&lt;br>starts smarter&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="margin-top:24px; border-top:1px solid rgba(255,255,255,0.12); padding-top:20px; text-align:center;">
&lt;div style="font-size:14px; color:#cbd5e1;">Fully automated. No manual curation. Knowledge grows as the team develops.&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>The workflow in detail:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Agent reads.&lt;/strong> Before starting work, queries the knowledge base via MCP. Gets business rules, conventions, architecture constraints relevant to the task.&lt;/li>
&lt;li>&lt;strong>Agent works.&lt;/strong> Develops with full context. The code actually follows the patterns and rules.&lt;/li>
&lt;li>&lt;strong>Agent writes back.&lt;/strong> A built-in skill instructs the agent to capture what it learned during development and open a PR to the knowledge repo.&lt;/li>
&lt;li>&lt;strong>Developer reviews.&lt;/strong> Standard PR review. Approves or refines the knowledge doc.&lt;/li>
&lt;li>&lt;strong>CI syncs.&lt;/strong> Merged knowledge is automatically indexed. Next agent session starts smarter.&lt;/li>
&lt;/ol>
&lt;p>Knowledge capture becomes part of development, not a separate chore. The developer just reviews. No separate authoring step.&lt;/p>
&lt;p>There&amp;rsquo;s a sixth step that takes this even further. When new knowledge merges, a CI step can run an LLM over the diff and ask: &amp;ldquo;What else in the entire knowledge base might be affected by this change?&amp;rdquo; Remember, this is a centralized system across all your repos. A change to how one service handles authentication could affect product knowledge for three other services, architecture docs for the API gateway, and operational skills for the deployment pipeline. The system uses embeddings to find related documents across every domain, checks for contradictions or staleness, and opens follow-up issues flagging what might need updating. Ripple effect detection across your entire engineering knowledge. You update the validation rules for user registration, and the system flags that the API contract doc, the mobile client integration guide, and the error handling conventions might all need a second look. It&amp;rsquo;s cheap to run and catches the kind of cross-cutting knowledge drift that humans miss because nobody has visibility into every document across every team.&lt;/p>
&lt;p>&lt;strong>Every feature built makes the next feature easier. Every agent session makes the next session smarter.&lt;/strong> The knowledge compounds.&lt;/p>
&lt;h2 class="relative group">The AGENTS.md safety net
&lt;div id="the-agentsmd-safety-net" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-agentsmd-safety-net" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Not every agent session has MCP access. Sometimes developers work offline. Sometimes a new tool doesn&amp;rsquo;t support MCP yet. Sometimes the knowledge server is down.&lt;/p>
&lt;p>For these cases, CI generates a lightweight &lt;code>AGENTS.md&lt;/code> in each repo. It&amp;rsquo;s a table of contents for the agent: what this repo does, how to build and test it, architecture boundaries, conventions and constraints, and where to find the full knowledge base.&lt;/p>
&lt;p>Think of it as the offline fallback. Agents get essential context even without network access. Push model (always in-repo) complementing the pull model (on-demand via MCP).&lt;/p>
&lt;h2 class="relative group">Why nothing on the market solves this
&lt;div id="why-nothing-on-the-market-solves-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-nothing-on-the-market-solves-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I looked at many solutions out there. Each solves a piece, and the approach I&amp;rsquo;m describing borrows the best parts from all of them.&lt;/p>
&lt;p>&lt;strong>Meta-repos&lt;/strong> (centralized Git docs). Git-native authoring, but no semantic search. Agents can&amp;rsquo;t find what they need.&lt;/p>
&lt;p>&lt;strong>Wiki + RAG&lt;/strong> (Confluence/Notion with retrieval). Searchable, but not Git-native. Developers won&amp;rsquo;t update it. Knowledge rots within months.&lt;/p>
&lt;p>&lt;strong>Code wikis&lt;/strong> (auto-generated from code). Clever, but usually tied to one AI tool. Not universal.&lt;/p>
&lt;p>&lt;strong>Cloud RAG services&lt;/strong> (Bedrock KB, Vertex). Managed search, but no authoring story. Where does the content come from?&lt;/p>
&lt;p>&lt;strong>Agent memory&lt;/strong> (Copilot memory, Letta). Per-tool, per-session. Not centralized. Not shared across the team.&lt;/p>
&lt;p>You need all five capabilities in one system. That&amp;rsquo;s what this approach delivers.&lt;/p>
&lt;h2 class="relative group">How to start (without boiling the ocean)
&lt;div id="how-to-start-without-boiling-the-ocean" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-to-start-without-boiling-the-ocean" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Day 1&lt;/strong>: Create the knowledge repo. Sit with your two or three most senior engineers, the ones who carry the most context in their heads. Ask them: &amp;ldquo;What do you find yourself explaining over and over?&amp;rdquo; That&amp;rsquo;s your first knowledge document.&lt;/p>
&lt;p>&lt;strong>Day 2-3&lt;/strong>: Set up semantic search. Connect your markdown to a vector store. Get retrieval working. This is not a multi-week project. The tooling exists. Use it.&lt;/p>
&lt;p>&lt;strong>Day 4-5&lt;/strong>: Deploy the MCP server. Configure it in your team&amp;rsquo;s primary IDE. Have a developer pair with an agent on a real task and compare the output to what they&amp;rsquo;d get without the knowledge base. That&amp;rsquo;s your first signal.&lt;/p>
&lt;p>&lt;strong>Week 2&lt;/strong>: Add the write-back loop. Build the skill that instructs agents to capture knowledge after completing work. Train your developers on how to review knowledge PRs, not just code PRs. This is where it starts compounding.&lt;/p>
&lt;p>The technology side of this is days of work. The harder part is getting your team to treat knowledge as a first-class deliverable, not an afterthought. That&amp;rsquo;s a leadership problem, not a tooling problem. But once developers see their agents producing better code because someone took 20 minutes to document business rules, the culture shift happens on its own.&lt;/p>
&lt;p>We&amp;rsquo;re in the AI era. If the infrastructure takes you months, you&amp;rsquo;re overengineering it. Get something working in days, iterate from there. The humans will make it great.&lt;/p>
&lt;p>&lt;strong>The key insight: start with the knowledge that hurts most when it&amp;rsquo;s missing.&lt;/strong> That&amp;rsquo;s usually the domain logic, the business rules that experienced developers carry in their heads and that agents get wrong in ways that look correct until they hit production.&lt;/p>
&lt;h2 class="relative group">The uncomfortable question
&lt;div id="the-uncomfortable-question" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-uncomfortable-question" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If your AI agents are generating code without context, how much of that code is actually correct?&lt;/p>
&lt;p>Not &amp;ldquo;does it compile&amp;rdquo; correct. Not &amp;ldquo;does it pass the tests you wrote&amp;rdquo; correct. Actually correct. Follows the business rules, respects the architecture, uses the conventions, handles the edge cases that burned you last quarter.&lt;/p>
&lt;p>If you can&amp;rsquo;t answer that confidently, your agents aren&amp;rsquo;t helping as much as you think. They&amp;rsquo;re generating plausible-looking code that somebody has to review against all the unwritten knowledge that exists only in people&amp;rsquo;s heads. And you&amp;rsquo;re paying for every token of that wrong output, then paying again for the review, again for the rework, and again when the agent generates the same mistake tomorrow because nothing changed.&lt;/p>
&lt;p>That&amp;rsquo;s not an AI problem. That&amp;rsquo;s a knowledge management problem. And it&amp;rsquo;s solvable.&lt;/p>
&lt;p>&lt;strong>The organizations that figure this out first will have AI agents that don&amp;rsquo;t just write code. They write the right code. Every time. From session one.&lt;/strong>&lt;/p>
&lt;p>That&amp;rsquo;s the difference between AI as a novelty and AI as a genuine multiplier. And it&amp;rsquo;s what separates teams that are actually shipping with agents from teams that are just generating code and hoping for the best.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Building knowledge systems for AI agents? Thinking about MCP? I&amp;rsquo;d love to hear how you&amp;rsquo;re approaching it. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/feature.png"/></item><item><title>Model Context Protocol: The Missing Connection Between AI and Your Real Work</title><link>https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><guid>https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/</guid><description>Your AI coding assistant is blind to your company&amp;rsquo;s actual context. MCP fixes that. Here&amp;rsquo;s how to connect Claude, ChatGPT, and Cursor to your databases, documentation, and workflows—and why this changes everything about how we build software.</description><content:encoded>&lt;p>Your AI coding assistant can write impressive code. But it can&amp;rsquo;t read your company&amp;rsquo;s database schema, your internal documentation, or your production logs. It doesn&amp;rsquo;t know your team&amp;rsquo;s conventions, your deployment workflows, or why that weird workaround exists in the payment service.&lt;/p>
&lt;p>&lt;strong>This is the context gap.&lt;/strong> And it&amp;rsquo;s why AI tools feel powerful in demos but limited in real work.&lt;/p>
&lt;p>The Model Context Protocol (MCP) is changing that. Not with better models or smarter prompts, but by standardizing how AI connects to the actual systems where your work lives.&lt;/p>
&lt;p>Here&amp;rsquo;s what you need to know, what you can do today, and why this matters more than most AI announcements.&lt;/p>
&lt;h2 class="relative group">The problem MCP solves
&lt;div id="the-problem-mcp-solves" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-problem-mcp-solves" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>AI assistants live in a bubble. They see what you show them: the current file, maybe the conversation history, perhaps a few documentation snippets you paste in.&lt;/p>
&lt;p>&lt;strong>What they don&amp;rsquo;t see:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Your database tables and relationships&lt;/li>
&lt;li>Your API schemas and internal services&lt;/li>
&lt;li>Your Git history and commit patterns&lt;/li>
&lt;li>Your company&amp;rsquo;s documentation and decision records&lt;/li>
&lt;li>Your production metrics and error logs&lt;/li>
&lt;li>Your team&amp;rsquo;s code conventions and architectural patterns&lt;/li>
&lt;/ul>
&lt;p>Every time you switch contexts, you&amp;rsquo;re starting over. The AI has to relearn. You spend time explaining things it should already know.&lt;/p>
&lt;p>&lt;strong>The traditional solution:&lt;/strong> Build custom integrations. Write a plugin that connects Claude to your database. Write another for ChatGPT. Another for Cursor. Maintain them all as things change.&lt;/p>
&lt;p>&lt;strong>This doesn&amp;rsquo;t scale.&lt;/strong> Three AI tools, five data sources, fifteen custom integrations. Then a new AI tool launches and you start over.&lt;/p>
&lt;p>MCP solves this by standardizing the connection layer. Build once, use everywhere.&lt;/p>
&lt;h2 class="relative group">What MCP actually does
&lt;div id="what-mcp-actually-does" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-mcp-actually-does" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;a
href="https://modelcontextprotocol.io/introduction"
target="_blank"
>MCP is an open protocol&lt;/a> that lets AI applications connect to three types of capabilities:&lt;/p>
&lt;p>&lt;strong>1. Resources (what AI can read)&lt;/strong>&lt;/p>
&lt;p>Your databases, files, documentation, APIs. Anything that provides context the AI needs to understand your work.&lt;/p>
&lt;p>Example: Your database exposes its schema as an MCP resource. Now Claude can see your table structure without you pasting it into the chat.&lt;/p>
&lt;p>&lt;strong>2. Tools (what AI can do)&lt;/strong>&lt;/p>
&lt;p>Search operations, API calls, data queries, workflow triggers. Actions the AI can take on your behalf.&lt;/p>
&lt;p>Example: A search tool lets the AI query your documentation. A database tool lets it run read-only queries. A Git tool lets it analyze commit history.&lt;/p>
&lt;p>&lt;strong>3. Prompts (how AI should think)&lt;/strong>&lt;/p>
&lt;p>Templated workflows for specific tasks. Structured ways to guide AI behavior for your team&amp;rsquo;s common patterns.&lt;/p>
&lt;p>Example: A code review prompt that includes your team&amp;rsquo;s specific conventions. An incident analysis prompt that knows your logging structure.&lt;/p>
&lt;h2 class="relative group">Understanding the architecture (if you&amp;rsquo;ve built APIs, you&amp;rsquo;ll get this)
&lt;div id="understanding-the-architecture-if-youve-built-apis-youll-get-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#understanding-the-architecture-if-youve-built-apis-youll-get-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;ve worked with REST APIs, MCP will feel familiar. It&amp;rsquo;s the same pattern applied to AI integrations.&lt;/p>
&lt;p>&lt;strong>REST API thinking:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Server exposes endpoints (GET /users, POST /orders)&lt;/li>
&lt;li>Client makes requests to those endpoints&lt;/li>
&lt;li>Standard protocol (HTTP) means any client can talk to any server&lt;/li>
&lt;li>Authentication and authorization control access&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>MCP thinking:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Server exposes resources, tools, and prompts&lt;/li>
&lt;li>Client (AI application) discovers and uses those capabilities&lt;/li>
&lt;li>Standard protocol (JSON-RPC) means any MCP client can talk to any MCP server&lt;/li>
&lt;li>Host (container for the AI) enforces permissions and approval&lt;/li>
&lt;/ul>
&lt;h3 class="relative group">The three-layer architecture
&lt;div id="the-three-layer-architecture" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-three-layer-architecture" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>1. Server (your systems)&lt;/strong>&lt;/p>
&lt;p>The MCP server wraps your existing systems and exposes them through a standard interface. This is like building a REST API for your database, except instead of HTTP endpoints, you&amp;rsquo;re exposing MCP resources and tools.&lt;/p>
&lt;p>Example: Your PostgreSQL database gets an MCP server that exposes:&lt;/p>
&lt;ul>
&lt;li>Resources: schema definitions, table structures&lt;/li>
&lt;li>Tools: query execution (read-only to start)&lt;/li>
&lt;li>Prompts: common analysis patterns your team uses&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>2. Client (the connection layer)&lt;/strong>&lt;/p>
&lt;p>The MCP client sits between the AI and the servers. It discovers what&amp;rsquo;s available, routes requests, and handles responses. Think of it like an API gateway, but for AI integrations.&lt;/p>
&lt;p>The client handles:&lt;/p>
&lt;ul>
&lt;li>Connection management to multiple servers&lt;/li>
&lt;li>Capability negotiation (what does this server support?)&lt;/li>
&lt;li>Message routing and response handling&lt;/li>
&lt;li>Security boundaries enforcement&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>3. Host (the orchestrator)&lt;/strong>&lt;/p>
&lt;p>The host is the container that manages everything. It controls which servers the AI can access, enforces approval flows for sensitive operations, and mediates access to the AI model itself.&lt;/p>
&lt;p>This is the security and policy layer. Even if a server offers dangerous tools, the host can require explicit user approval before the AI can invoke them.&lt;/p>
&lt;h3 class="relative group">How it compares to other integration patterns
&lt;div id="how-it-compares-to-other-integration-patterns" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-other-integration-patterns" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Like REST APIs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Standard protocol that anyone can implement&lt;/li>
&lt;li>Server/client architecture with clear separation&lt;/li>
&lt;li>Discoverability (list available endpoints/resources)&lt;/li>
&lt;li>Stateless individual operations, stateful sessions&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Like GraphQL:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Clients can discover the schema (what&amp;rsquo;s available)&lt;/li>
&lt;li>Type-safe interactions with JSON Schema validation&lt;/li>
&lt;li>Flexible queries for exactly what you need&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Like OAuth:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Explicit permission and consent flows&lt;/li>
&lt;li>Scoped access to resources&lt;/li>
&lt;li>User remains in control of what AI can access&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Unlike traditional APIs:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Bidirectional communication (servers can request things from clients)&lt;/li>
&lt;li>Built-in support for streaming responses&lt;/li>
&lt;li>Designed specifically for AI-to-system integration&lt;/li>
&lt;li>Security model assumes untrusted AI behavior&lt;/li>
&lt;/ul>
&lt;h3 class="relative group">The transport layer (how data moves)
&lt;div id="the-transport-layer-how-data-moves" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-transport-layer-how-data-moves" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>MCP uses two primary transports:&lt;/p>
&lt;p>&lt;strong>stdio (standard input/output):&lt;/strong> For local processes. The MCP server runs on your machine, communicates through stdin/stdout. Simplest and most secure for desktop applications. This is how Claude Desktop connects to local servers.&lt;/p>
&lt;p>&lt;strong>Streamable HTTP:&lt;/strong> For remote servers. JSON-RPC over HTTP with server-sent events for streaming. Use this when you need team-wide access to a server or want to deploy servers in the cloud.&lt;/p>
&lt;p>&lt;strong>Why this matters:&lt;/strong> Start with stdio (local, simple, secure). Move to HTTP when you need remote access or horizontal scaling.&lt;/p>
&lt;h3 class="relative group">The protocol is simple (intentionally)
&lt;div id="the-protocol-is-simple-intentionally" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-protocol-is-simple-intentionally" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>MCP uses JSON-RPC 2.0. If you&amp;rsquo;ve worked with JSON APIs, the message format will look familiar:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;jsonrpc&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2.0&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;method&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;resources/list&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The simplicity is deliberate. Easy to implement, easy to debug, easy to extend.&lt;/p>
&lt;h3 class="relative group">Why this architecture works
&lt;div id="why-this-architecture-works" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-this-architecture-works" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Separation of concerns:&lt;/strong> Servers don&amp;rsquo;t need to know about AI models. AI applications don&amp;rsquo;t need to know about your database internals. The protocol is the contract between them.&lt;/p>
&lt;p>&lt;strong>Composability:&lt;/strong> One AI application can connect to multiple servers. One server can serve multiple clients. Mix and match based on needs.&lt;/p>
&lt;p>&lt;strong>Security boundaries:&lt;/strong> Servers are isolated from each other. The host enforces what the AI can access. Sensitive operations require explicit approval.&lt;/p>
&lt;p>&lt;strong>Ecosystem effects:&lt;/strong> When everyone builds to the same protocol, servers become reusable assets. Your PostgreSQL MCP server works with Claude, ChatGPT, and Gemini. Build once, benefit everywhere.&lt;/p>
&lt;h2 class="relative group">How to start using MCP today
&lt;div id="how-to-start-using-mcp-today" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-to-start-using-mcp-today" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>This is the important part.&lt;/strong> You don&amp;rsquo;t need to build MCP servers to benefit from MCP. Start by using what exists.&lt;/p>
&lt;h3 class="relative group">Step 1: Install an MCP-compatible client
&lt;div id="step-1-install-an-mcp-compatible-client" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#step-1-install-an-mcp-compatible-client" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Claude Desktop&lt;/strong> is the easiest starting point. Download it, and you already have an MCP client ready to go.&lt;/p>
&lt;p>&lt;strong>Cursor&lt;/strong> supports MCP through Claude Desktop integration. If you&amp;rsquo;re using Cursor for coding, this path makes sense.&lt;/p>
&lt;p>&lt;strong>Other options:&lt;/strong> Zed, Windsurf, and Sourcegraph Cody all support MCP. Pick the tool you already use.&lt;/p>
&lt;h3 class="relative group">Step 2: Add your first MCP server
&lt;div id="step-2-add-your-first-mcp-server" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#step-2-add-your-first-mcp-server" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Start simple. The &lt;a
href="https://github.com/modelcontextprotocol/servers"
target="_blank"
>filesystem server&lt;/a> lets Claude read your local files.&lt;/p>
&lt;p>&lt;strong>What this gives you:&lt;/strong> Instead of copying and pasting code into Claude, you can say &amp;ldquo;read the authentication module and suggest improvements.&amp;rdquo; Claude accesses the file directly, sees the full context, and gives better answers.&lt;/p>
&lt;p>&lt;strong>Five minute setup:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Install the filesystem MCP server&lt;/li>
&lt;li>Configure Claude Desktop to use it&lt;/li>
&lt;li>Point it at your project directory&lt;/li>
&lt;li>Now Claude can read your actual codebase&lt;/li>
&lt;/ol>
&lt;h3 class="relative group">Step 3: Connect to your databases
&lt;div id="step-3-connect-to-your-databases" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#step-3-connect-to-your-databases" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The &lt;a
href="https://github.com/modelcontextprotocol/servers"
target="_blank"
>PostgreSQL MCP server&lt;/a> (and similar for other databases) exposes your schema and enables read-only queries.&lt;/p>
&lt;p>&lt;strong>What this changes:&lt;/strong> You can ask &amp;ldquo;show me all users who signed up in the last week but haven&amp;rsquo;t completed onboarding&amp;rdquo; and Claude queries your database directly. No copy-paste, no context switching.&lt;/p>
&lt;p>&lt;strong>The right way to do this:&lt;/strong> Start with read-only access. Use environment variables for credentials. Test on development databases first.&lt;/p>
&lt;h3 class="relative group">Step 4: Add Git context
&lt;div id="step-4-add-git-context" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#step-4-add-git-context" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The &lt;a
href="https://github.com/modelcontextprotocol/servers"
target="_blank"
>Git MCP server&lt;/a> exposes repository history, branches, and diffs.&lt;/p>
&lt;p>&lt;strong>What becomes possible:&lt;/strong> &amp;ldquo;Analyze the last ten commits to the payment service and summarize what changed.&amp;rdquo; Claude reads the actual Git log and gives you a coherent summary.&lt;/p>
&lt;h3 class="relative group">Step 5: Connect to your tools
&lt;div id="step-5-connect-to-your-tools" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#step-5-connect-to-your-tools" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;a
href="https://github.com/modelcontextprotocol/servers"
target="_blank"
>Existing MCP servers&lt;/a> cover Google Drive, Slack, GitHub, Postgres, and more. The &lt;a
href="https://blog.modelcontextprotocol.io/"
target="_blank"
>MCP Registry&lt;/a> (in preview) is where you find community servers.&lt;/p>
&lt;p>&lt;strong>Pick what matters to your workflow.&lt;/strong> Documentation? Customer data? Production metrics? Connect the systems where your context lives.&lt;/p>
&lt;h2 class="relative group">What changes when AI has real context
&lt;div id="what-changes-when-ai-has-real-context" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-changes-when-ai-has-real-context" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This isn&amp;rsquo;t just convenience. It&amp;rsquo;s a fundamental shift in how you work with AI.&lt;/p>
&lt;h3 class="relative group">From manual context to automatic context
&lt;div id="from-manual-context-to-automatic-context" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#from-manual-context-to-automatic-context" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Before:&lt;/strong> You spend five minutes explaining your database structure, pasting schema definitions, copying relevant code into the chat.&lt;/p>
&lt;p>&lt;strong>After:&lt;/strong> Claude already sees your schema. You skip straight to the actual question.&lt;/p>
&lt;p>&lt;strong>The compounding effect:&lt;/strong> Over dozens of interactions per day, you save hours of context-gathering work.&lt;/p>
&lt;h3 class="relative group">From shallow answers to deep understanding
&lt;div id="from-shallow-answers-to-deep-understanding" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#from-shallow-answers-to-deep-understanding" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Before:&lt;/strong> AI suggests generic solutions because it doesn&amp;rsquo;t know your actual constraints and patterns.&lt;/p>
&lt;p>&lt;strong>After:&lt;/strong> AI sees how your team actually structures code, what conventions you follow, what trade-offs you&amp;rsquo;ve made. Suggestions are specific to your reality.&lt;/p>
&lt;p>&lt;strong>The quality shift:&lt;/strong> Fewer &amp;ldquo;that won&amp;rsquo;t work here&amp;rdquo; moments. More &amp;ldquo;that actually fits our architecture.&amp;rdquo;&lt;/p>
&lt;h3 class="relative group">From single-turn to multi-step workflows
&lt;div id="from-single-turn-to-multi-step-workflows" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#from-single-turn-to-multi-step-workflows" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Before:&lt;/strong> Every task is a new conversation. AI has no memory of what you&amp;rsquo;re working on or why.&lt;/p>
&lt;p>&lt;strong>After:&lt;/strong> AI can follow multi-step workflows that span files, systems, and contexts. It remembers the goal and carries it forward.&lt;/p>
&lt;p>&lt;strong>Example:&lt;/strong> &amp;ldquo;Analyze the performance metrics for the API, identify the slow endpoints, check the database queries for those endpoints, and suggest optimizations based on our actual schema.&amp;rdquo;&lt;/p>
&lt;p>That&amp;rsquo;s four different context sources (metrics, API code, database, schema) orchestrated into one coherent workflow.&lt;/p>
&lt;h2 class="relative group">When to start building your own MCP servers
&lt;div id="when-to-start-building-your-own-mcp-servers" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#when-to-start-building-your-own-mcp-servers" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Once you&amp;rsquo;ve used MCP and see the value, you&amp;rsquo;ll spot the gaps. Systems specific to your company. Internal tools that don&amp;rsquo;t have public MCP servers. Workflows unique to your team.&lt;/p>
&lt;p>&lt;strong>That&amp;rsquo;s when you build.&lt;/strong>&lt;/p>
&lt;h3 class="relative group">The right first server to build
&lt;div id="the-right-first-server-to-build" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-right-first-server-to-build" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Your internal documentation.&lt;/strong> If you have Confluence, Notion, or internal wikis, an MCP server that exposes them as resources solves an immediate problem.&lt;/p>
&lt;p>&lt;strong>What it enables:&lt;/strong> Developers can ask AI questions about your internal systems and get answers sourced from your actual docs. No more hunting through wiki pages.&lt;/p>
&lt;p>&lt;strong>Technical complexity:&lt;/strong> Low. Resources are read-only, security is straightforward, and the value is immediate.&lt;/p>
&lt;h3 class="relative group">The second server: your APIs
&lt;div id="the-second-server-your-apis" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-second-server-your-apis" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Expose your internal API schemas and enable AI to understand how services connect.&lt;/p>
&lt;p>&lt;strong>What becomes possible:&lt;/strong> &amp;ldquo;Show me how to call the user service to update preferences&amp;rdquo; gets a response based on your actual API, not generic examples.&lt;/p>
&lt;p>&lt;strong>The integration pattern:&lt;/strong> Start with read-only schema exposure. Add safe test operations. Never expose production-write operations without explicit approval flows.&lt;/p>
&lt;h3 class="relative group">Building with the official SDKs
&lt;div id="building-with-the-official-sdks" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#building-with-the-official-sdks" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;a
href="https://github.com/modelcontextprotocol"
target="_blank"
>Official SDKs&lt;/a> exist for TypeScript, Python, Java, Kotlin, C#, Go, PHP, Ruby, Rust, and Swift. Pick your stack and start.&lt;/p>
&lt;p>&lt;strong>The architecture is simple:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Expose resources through &lt;code>resources/list&lt;/code> and &lt;code>resources/read&lt;/code>&lt;/li>
&lt;li>Declare tools through &lt;code>tools/list&lt;/code> and handle calls through &lt;code>tools/call&lt;/code>&lt;/li>
&lt;li>Define prompts that guide AI behavior for your specific use cases&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Use the &lt;a
href="https://github.com/modelcontextprotocol/inspector"
target="_blank"
>MCP Inspector&lt;/a>&lt;/strong> to test your server. Connect to it, browse resources, invoke tools, see what the AI sees. Essential for debugging.&lt;/p>
&lt;h3 class="relative group">Security patterns that matter
&lt;div id="security-patterns-that-matter" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#security-patterns-that-matter" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>1. Start local, go remote carefully&lt;/strong>&lt;/p>
&lt;p>Local servers (stdio transport) are simpler and more secure. They run on the developer&amp;rsquo;s machine with their permissions.&lt;/p>
&lt;p>Remote servers (HTTP transport) enable team-wide access but require proper authentication, authorization, and audit logging.&lt;/p>
&lt;p>&lt;strong>2. Read-only first, mutations later&lt;/strong>&lt;/p>
&lt;p>Resources are safe. Tools that modify data are not. Start with exposure, add write operations only when you have proper approval flows.&lt;/p>
&lt;p>&lt;strong>3. Never trust inputs&lt;/strong>&lt;/p>
&lt;p>Validate everything. Use JSON Schema for tool parameters. Sanitize inputs. Assume the AI might be tricked into sending malicious requests.&lt;/p>
&lt;p>&lt;strong>4. Handle credentials properly&lt;/strong>&lt;/p>
&lt;p>Environment variables for development. OS keychains for local desktop apps. Proper secret management for remote servers. Never in code, never in logs.&lt;/p>
&lt;h2 class="relative group">Why OpenAI and Google adopted this so fast
&lt;div id="why-openai-and-google-adopted-this-so-fast" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-openai-and-google-adopted-this-so-fast" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>MCP launched in November 2024 from Anthropic. By March 2025, &lt;a
href="https://techcrunch.com/2025/03/26/openai-adopts-rival-anthropics-standard-for-connecting-ai-models-to-data/"
target="_blank"
>OpenAI adopted it&lt;/a>. By April, &lt;a
href="https://techcrunch.com/2025/04/09/google-says-itll-embrace-anthropics-standard-for-connecting-ai-models-to-data/"
target="_blank"
>Google announced support&lt;/a>.&lt;/p>
&lt;p>When competing AI companies agree on a standard in months, not years, pay attention.&lt;/p>
&lt;p>&lt;strong>The reason:&lt;/strong> Everyone faces the same integration problem. Claude needs to connect to databases. ChatGPT needs to connect to databases. Gemini needs to connect to databases.&lt;/p>
&lt;p>&lt;strong>The old approach:&lt;/strong> Build custom connectors for each AI tool and each data source. Multiplication of effort.&lt;/p>
&lt;p>&lt;strong>The MCP approach:&lt;/strong> Build one server that exposes your database through a standard protocol. Every MCP-compatible AI tool can use it immediately.&lt;/p>
&lt;p>&lt;strong>The ecosystem effect:&lt;/strong> As more tools adopt MCP, every MCP server you build becomes more valuable. As more servers exist, every AI tool that adopts MCP becomes more useful.&lt;/p>
&lt;p>This is infrastructure-level network effects.&lt;/p>
&lt;h2 class="relative group">What this enables that wasn&amp;rsquo;t possible before
&lt;div id="what-this-enables-that-wasnt-possible-before" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-this-enables-that-wasnt-possible-before" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The real shift isn&amp;rsquo;t about making current work easier. It&amp;rsquo;s about making new patterns possible.&lt;/p>
&lt;h3 class="relative group">Contextual code review
&lt;div id="contextual-code-review" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#contextual-code-review" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>AI that reviews code with full access to:&lt;/p>
&lt;ul>
&lt;li>Your architecture decision records&lt;/li>
&lt;li>Previous similar changes and their outcomes&lt;/li>
&lt;li>Production metrics for affected services&lt;/li>
&lt;li>Team conventions and style guides&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>This isn&amp;rsquo;t generic linting.&lt;/strong> It&amp;rsquo;s review that understands your actual system and suggests improvements based on what you&amp;rsquo;ve learned, not what&amp;rsquo;s theoretically best.&lt;/p>
&lt;h3 class="relative group">Predictive debugging
&lt;div id="predictive-debugging" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#predictive-debugging" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>When an error occurs, AI with MCP access can:&lt;/p>
&lt;ul>
&lt;li>Read the error logs from your monitoring system&lt;/li>
&lt;li>Analyze the relevant code with full repository context&lt;/li>
&lt;li>Check similar past incidents and their resolutions&lt;/li>
&lt;li>Query the database state at the time of the error&lt;/li>
&lt;li>Suggest fixes based on your actual patterns&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>From hours to minutes.&lt;/strong> The context gathering that used to take most of the debugging time happens automatically.&lt;/p>
&lt;h3 class="relative group">Architectural coherence
&lt;div id="architectural-coherence" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#architectural-coherence" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>AI that can enforce architectural patterns by:&lt;/p>
&lt;ul>
&lt;li>Seeing your actual service boundaries and dependencies&lt;/li>
&lt;li>Understanding the intent behind your design decisions&lt;/li>
&lt;li>Catching violations as they&amp;rsquo;re written, not in review&lt;/li>
&lt;li>Suggesting alternatives that fit your established patterns&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>This moves from reactive to proactive.&lt;/strong> Instead of fixing architectural drift, you prevent it.&lt;/p>
&lt;h3 class="relative group">Knowledge continuity
&lt;div id="knowledge-continuity" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#knowledge-continuity" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>When a developer leaves or moves teams, their context doesn&amp;rsquo;t disappear if it&amp;rsquo;s encoded in MCP servers. The AI has the same access to systems, docs, and patterns.&lt;/p>
&lt;p>&lt;strong>Onboarding acceleration:&lt;/strong> New developers get answers sourced from actual systems, not just wikis that might be outdated.&lt;/p>
&lt;h2 class="relative group">For managers: the strategic opportunity
&lt;div id="for-managers-the-strategic-opportunity" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#for-managers-the-strategic-opportunity" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;re leading a team or organization, MCP represents more than a technical standard. It&amp;rsquo;s a forcing function for better infrastructure.&lt;/p>
&lt;h3 class="relative group">The immediate productivity play
&lt;div id="the-immediate-productivity-play" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-immediate-productivity-play" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Week 1:&lt;/strong> Install Claude Desktop for your team. Add filesystem and Git MCP servers. Developers can now ask AI about your actual codebase.&lt;/p>
&lt;p>&lt;strong>Week 2-4:&lt;/strong> Add database MCP servers (read-only, development instances). Connect to internal documentation.&lt;/p>
&lt;p>&lt;strong>Month 2:&lt;/strong> Measure time saved on context gathering, debugging, and code review.&lt;/p>
&lt;p>&lt;strong>The ROI is quick and measurable.&lt;/strong> Developers spend less time hunting for context and more time solving problems.&lt;/p>
&lt;h3 class="relative group">The platform investment
&lt;div id="the-platform-investment" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-platform-investment" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>MCP forces you to think about your systems as APIs. What should be exposed? What&amp;rsquo;s the right level of abstraction? What are the security boundaries?&lt;/p>
&lt;p>&lt;strong>This work pays dividends beyond AI.&lt;/strong> Better-defined interfaces, clearer boundaries, improved documentation. You get organizational clarity whether or not MCP becomes the dominant standard.&lt;/p>
&lt;h3 class="relative group">The competitive positioning
&lt;div id="the-competitive-positioning" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-competitive-positioning" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>AI adoption is uneven across teams. The constraint isn&amp;rsquo;t model quality, it&amp;rsquo;s integration with real work.&lt;/p>
&lt;p>&lt;strong>Teams with good MCP infrastructure can use AI effectively.&lt;/strong> Teams without it are stuck with generic, context-free interactions.&lt;/p>
&lt;p>&lt;strong>This creates meaningful differentiation&lt;/strong> in productivity, quality, and velocity.&lt;/p>
&lt;h3 class="relative group">The talent development angle
&lt;div id="the-talent-development-angle" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-talent-development-angle" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Engineers who understand how to build, secure, and scale MCP integrations are developing valuable skills.&lt;/p>
&lt;p>This is infrastructure-level knowledge that transfers across companies. It&amp;rsquo;s not framework-specific or company-specific. It&amp;rsquo;s fundamental to how AI connects to systems.&lt;/p>
&lt;p>&lt;strong>Investing in team education here compounds.&lt;/strong> These skills become more valuable as the ecosystem matures.&lt;/p>
&lt;h2 class="relative group">The broader pattern: context is infrastructure
&lt;div id="the-broader-pattern-context-is-infrastructure" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-broader-pattern-context-is-infrastructure" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>MCP is part of a larger shift. AI isn&amp;rsquo;t just about better models. It&amp;rsquo;s about better connections between models and the systems where work happens.&lt;/p>
&lt;p>&lt;strong>We&amp;rsquo;re moving from:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Isolated AI interactions to connected workflows&lt;/li>
&lt;li>Generic suggestions to context-specific guidance&lt;/li>
&lt;li>Manual context gathering to automatic context access&lt;/li>
&lt;li>Single-turn conversations to multi-step orchestration&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>This is the infrastructure layer for AI-native development.&lt;/strong> Just like REST APIs became infrastructure for web services, MCP is becoming infrastructure for AI integration.&lt;/p>
&lt;p>The companies and teams that recognize this early and build the right connective tissue will have a sustained advantage.&lt;/p>
&lt;h2 class="relative group">What comes next
&lt;div id="what-comes-next" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-comes-next" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Near-term (Q4 2025):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>MCP 1.0 spec release (November 25, 2025)&lt;/li>
&lt;li>Wider IDE integration as standard feature&lt;/li>
&lt;li>Improved tooling for building and testing servers&lt;/li>
&lt;li>Enterprise adoption at scale&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Medium-term (2026):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>MCP becomes expected, not optional&lt;/li>
&lt;li>Security and compliance frameworks mature&lt;/li>
&lt;li>Performance optimizations and caching patterns&lt;/li>
&lt;li>Vertical-specific server ecosystems emerge&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Long-term trend:&lt;/strong> AI context shifts from &amp;ldquo;what you paste in the chat&amp;rdquo; to &amp;ldquo;what the AI has access to through proper integrations.&amp;rdquo;&lt;/p>
&lt;p>The quality of AI assistance becomes proportional to the quality of your MCP infrastructure.&lt;/p>
&lt;h2 class="relative group">For developers: the career angle
&lt;div id="for-developers-the-career-angle" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#for-developers-the-career-angle" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>What&amp;rsquo;s valuable right now:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Understanding how to use existing MCP servers effectively&lt;/li>
&lt;li>Building servers for gaps in your team&amp;rsquo;s workflow&lt;/li>
&lt;li>Implementing security patterns correctly&lt;/li>
&lt;li>Designing integrations that scale&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What becomes valuable:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Deep expertise in MCP architecture and best practices&lt;/li>
&lt;li>Domain-specific integration knowledge (healthcare, finance, etc.)&lt;/li>
&lt;li>Platform-level thinking about how AI connects to systems&lt;/li>
&lt;li>Security and compliance for AI integrations&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>The skill combination that matters:&lt;/strong> Understanding both AI capabilities and production systems. How to give AI the right context without compromising security. How to design integrations that teams actually use.&lt;/p>
&lt;p>This is infrastructure work. It&amp;rsquo;s less flashy than training models but more durable and more broadly applicable.&lt;/p>
&lt;h2 class="relative group">Start now, build as you go
&lt;div id="start-now-build-as-you-go" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#start-now-build-as-you-go" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>If you&amp;rsquo;re a developer:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Install Claude Desktop this week&lt;/li>
&lt;li>Add filesystem and Git servers to your workflow&lt;/li>
&lt;li>Notice where you still need to manually provide context&lt;/li>
&lt;li>Build MCP servers for those gaps&lt;/li>
&lt;li>Share what you build with your team&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>If you&amp;rsquo;re a manager:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Set up MCP infrastructure for your team this month&lt;/li>
&lt;li>Measure time saved on context gathering&lt;/li>
&lt;li>Identify team-specific systems that need servers&lt;/li>
&lt;li>Invest in building those integrations&lt;/li>
&lt;li>Make MCP literacy part of onboarding&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>The best time to start was six months ago when MCP launched. The second best time is today.&lt;/strong>&lt;/p>
&lt;p>The teams that move now will have compound advantages as the ecosystem matures. Not because they predicted the future, but because they built the infrastructure that makes AI actually useful for real work.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Get started:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;a
href="https://modelcontextprotocol.io/introduction"
target="_blank"
>MCP introduction and documentation&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://github.com/modelcontextprotocol/servers"
target="_blank"
>Official servers repository with examples&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://github.com/modelcontextprotocol/inspector"
target="_blank"
>MCP Inspector for testing&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://claude.ai/download"
target="_blank"
>Claude Desktop download&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The gap between AI demos and AI productivity is context. MCP is how you close it.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/feature.png"/></item></channel></rss>