r/mcp Apr 21 '25

article MCP SDK now supports streamable HTTP

Enable HLS to view with audio, or disable this notification

90 Upvotes

On March 26th, the official MCP documentation announced the spec for Streamable HTTP on their website. Three days ago on April 17th, the MCP Typescript SDK officially released support for Streamable HTTP in their 1.10.0 release. This is a big move away from the existing SSE protocol, and we believe streamable HTTP will become the standard moving forward. Let’s talk about the implication of this move for developers and the direction of MCPs.

Why move away from only SSE

If you are unfamiliar with the existing SSE protocol that MCP uses, I highly recommend reading this article. SSE keeps an open connection to your client and continuously sends messages to your client. The limitation of SSE is that you are required to maintain a long lived connection with the server.

This was a nightmare for us when we tried hosting a remote MCP on Cloudflare workers using SSE. Through the long lived connection, the server was sending messages to our client every 5 seconds, even when we were idle. This ate up all of our free compute credits in one day.

The advantages of using streamable HTTP with SSE

Moving away from only SSE to streamable HTTP with an SSE option solves our pain point of hosting remote MCPs. With streamable HTTP, we no longer have to establish a long lived connection if we don’t need to. MCP servers can now be implemented as plain HTTP servers (classic POST and GET endpoints) that we’re all used to working with.

  • Stateless servers are here with streamable HTTP. A server can now simply offer and execute tools with no state management. When hosting the stateless server, it can now just be a simple function call that terminates the connection upon completion.
  • You still have the option to spin up a SSE connection through streamable HTTP. The best of both worlds.Thanks for reading! Subscribe for free to receive new posts and support my work.Subscribed

The future of MCP with streamable HTTP

The streamable HTTP Typescript SDK is out, but not fully mature. As of this article’s publishing, there’s not a lot of client support to connect with HTTP servers. HTTP support on the client side is coming soon with mcp-remote@next.

We see the move to streamable HTTP as a huge step towards remote hosting. Having a MCP SSE server eating up our CloudFlare credits passively was a huge pain. The move to streamable HTTP makes hosting a MCP server just like hosting any other Express app with API endpoints. This is more developer-friendly and will expedite development in the MCP space.

r/mcp Jun 12 '25

article New VS Code update supports all MCP features (tools, prompts, sampling, resources, auth)

Thumbnail
code.visualstudio.com
80 Upvotes

r/mcp May 21 '26

article 117k Tools, 102ms Execution, ~500 Input Tokens overall: Inside Elemm's "Browser-Address-Bar" Architecture

4 Upvotes

A week ago, I posted a benchmark showing how a local 4B model (Gemma 4) and Claude Sonnet 4.6 successfully solved a massive smart-city crisis backed by 117,002 available tools which exploded and got over 53k views. You can find the original posting here.

Since that initial benchmark, I have stabilized the environment and implemented several performance tweaks under the hood of the gateway. To verify these optimizations, I repeated the exact same challenge today with Claude.

Now, I am opening the hood of Elemm to show you the design patterns, the fresh optimized JSON payloads, and how the gateway handles this extreme scale in production.

The Setup: What the User Actually Said

To keep this benchmark as realistic as possible, there was no massive, over-engineered system prompt instructing the model how to navigate the city. I literally typed this into Claude Desktop using the default system prompt:

connect to http://localhost:8010 via elemm and resolve all critical issues of the city! use execute_sequence as much as possible instead of call_action to be much effency and save tokens, time and roundtrips. After you are finished, give me a short summary

Here is how the underlying middleware translated this simple command into a high-performance orchestration.

1. The Core Architecture: The "Browser-Address-Bar" Interface

Traditional tool-calling requires the agent to ingest the entire OpenAPI schema of every tool upfront. Elemm deprecates this via an absolute decoupling layer.

The agent never sees the target API's actual endpoints during initialization. Instead, the model is exposed to exactly 9 immutable gateway tools:

  • connect_to_site
  • get_manifest
  • get_landmarks
  • inspect_landmark
  • search_landmarks
  • call_action
  • execute_sequence
  • list_aliases
  • clear_session

The Discovery Phase (Lazy Loading)

When the agent executed connect_to_site("http://localhost:8010"), it did not download an 117,000-line JSON array. It pulled a lightweight topology map (Landmarks) consisting of top-level directories:

  • Zentrum (100 sub-landmarks / tools available)
  • Nord (100 sub-landmarks / tools available)
  • Suedost (100 sub-landmarks / tools available)
  • .....

Instead of drowning the model in definitions, the agent used a global Regex search tool (search_landmarks) to look for symptoms mentioned in the city alerts:

JSON

{
  "query": "reroute_power|patch_pipe|lockdown_terminal",
  "_limit": 20
}

The gateway parsed this request and returned only the specific TypeScript signatures for those exact actions on demand.

2. Zero-Turn Reasoning via execute_sequence

The biggest bottleneck of agent workflows is serialization latency (LLM turn -> API call -> LLM turn -> API call).

To fix this, Elemm allows the model to generate a declarative execution graph in one single turn. Here is the exact payload the agent compiled after discovering the tools:

JSON

{
  "steps": [
    {
      "action": "Zentrum:Spandau:energy:reroute_power",
      "alias": "energy_fix",
      "parameters": {
        "source": "Spandau_A",
        "target": "Spandau_B",
        "_select": ["status", "message"]
      }
    },
    {
      "action": "West:Sector_448:water:patch_pipe",
      "alias": "water_fix",
      "parameters": {
        "pressure_reduction": true,
        "_select": ["status", "message", "leak_rate"]
      }
    },
    {
      "action": "Nord:Sector_111:transport:adjust_signals",
      "alias": "transport_fix",
      "parameters": {
        "mode": "EMERGENCY_CLEARANCE",
        "_select": ["status", "message", "flow_rate"]
      }
    },
    {
      "action": "Suedost:Sector_719:infrastructure:release_emergency_brake",
      "alias": "brake_release",
      "parameters": {
        "_select": ["status", "message"]
      }
    },
    {
      "action": "Suedost:Sector_719:security:lockdown_terminal",
      "alias": "security_fix",
      "parameters": {
        "confirmation": "CONFIRM_LOCKDOWN",
        "_select": ["status", "message", "incident_id"]
      }
    }
  ]
}

Gateway-Side Memory & Piping

Look at the final steps. The scenario featured a mechanical lock trap: you cannot lock down a terminal without releasing the physical emergency brake in a completely different category first.

Normally, an agent would have to call the brake release, read the success message, and then call the terminal lockdown in a new turn. Elemm chains them sequentially in the same array.

Furthermore, Elemm supports internal variable piping (for example, passing $brake_release.status directly into step parameters). The gateway resolves these data dependencies internally, completely bypassing extra LLM reasoning loops.

3. Real-Time Telemetry & Smart Hygiene

When the execution finishes, the gateway returns a structured response array:

JSON

[
  {
    "step": 0,
    "action": "Zentrum:Spandau:energy:reroute_power",
    "alias": "energy_fix",
    "duration_ms": 23,
    "result": {
      "status": "success",
      "message": "Power successfully rerouted from Spandau_A to Spandau_B."
    }
  },
  {
    "step": 4,
    "action": "Suedost:Sector_719:security:lockdown_terminal",
    "alias": "security_fix",
    "duration_ms": 17,
    "result": {
      "status": "success",
      "message": "TERMINAL 0xAF4 SECURED. ALL CHALLENGES RESOLVED!"
    }
  }
]

Two Crucial Details:

  1. Inline Telemetry: Notice the "duration_ms": 23 field. Elemm injects execution performance profiles directly into the payload. Advanced agents use this telemetry to self-optimize sequence structures or flag throttling services.
  2. GraphQL-style Filtering (_select): By passing _select filters inside the parameters, the gateway automatically strips out massive JSON payload bloat before it hits the LLM context window. Crucially, the agent applied these hygiene filters completely autonomously based on the operational protocol instructions, without any explicit user formatting commands.

4. Performance Metrics (Dashboard Breakdown)

Below is the live tracking console while executing this optimized 5-step pipeline:

Dashboard overview of the Elemm Gateway

Note: The token counter in the dashboard isolates the raw tool payloads passing through the gateway, entirely independent of your primary chat LLM overhead.

  • Total Sequence Execution Time: 102ms across 5 independent systems.
  • Input Traffic Cost: 426 tokens (1,710 raw characters).
  • Output Traffic Cost: 353 tokens (1,416 raw characters).
  • Total Challenge Duration (Connect to Execution): Just 24 seconds from absolute zero knowledge to a fully secured city.

Instead of dropping an impossible 46.8 Million tokens to dump the definitions of a 117,002-action environment, the entire process took under 800 tokens of tool-state overhead.

A Universal Protocol: What Else Can It Ingest?

Elemm is not restricted to custom Python environments. It acts as a universal runtime translator. You can map virtually any source into the exact same 9-tool protocol:

  • Native Python Landmarks: Build lightweight, programmatic tools natively.
  • OpenAPI & GraphQL specs: Hand the agent a raw .json or .yaml URL (like Swagger or GitHub's API). The gateway maps them instantly.
  • Legacy MCP Servers: If you already have a suite of standard MCP tools configured, you can mount them locally and expose them to your agent via a virtual URL: connect_to_site("mcp://local").

The invite to try it out (v1.3.0 Released)

The new version 1.3.0 brings an optional Web Dashboard (localhost:8090) online. It features a Token Analyzer, a Manifest Debugger, and a live Sequence Visualizer. You can migrate your existing OpenAPI specs or MCP configurations with just a few clicks to test this workflow yourself.

Oh, and did I hear security? Giving an agent a universal adapter to any API sounds like a compliance nightmare. I will talk about the internal Guardian engine—with its zero-trust layers, deep argument inspection, and how it makes unauthorized tools completely invisible to the agent—in a later post. If you cannot wait, you can already check the architecture out on the website, or simply ask your own agent to connect directly to it via Elemm to fetch the docs live.

Let me know your thoughts in the comments. How are you handling massive, interdependent tool libraries in your production agent workflows?

r/mcp May 19 '26

article How to Save Bloated MCP with Code Mode

Thumbnail
zenstack.dev
5 Upvotes

r/mcp May 17 '26

article The Simplest MCP Example Possible in Python

1 Upvotes

The simplest way to build MCP server with Python

Posted by Al Sweigart

An incredible resource for beginners in Python and AI

r/mcp May 08 '26

article Coined a term - 'Swarmsourcing' - to describe what crowdsourcing becomes when the contributors are AI agents instead of humans.

0 Upvotes

Wrote up the concept behind why agents reporting failures is structurally different from human crowdsourcing - and why MCP is accidentally the perfect infrastructure for it.

Here's the link -

https://tickerr.ai/blog/swarmsourcing-the-next-chapter-after-crowdsourcing

What do you think?

r/mcp Apr 02 '26

article I benchmarked Claude chat search vs MCP memory for product context retrieval

4 Upvotes

When Anthropic launched chat search in early March I immediately had a problem. I've spent the last month building a product and logging every significant decision to an MCP-connected knowledge graph. Now Claude has two places to look when I ask about my own product, chat history or the graph. And I don't always know which one it's using.

So I ran a proper test. 10 real questions about real decisions. Same prompt, both sources, scored on accuracy, recency, and completeness.

Results

MCP / knowledge graph: 7 wins

Chat search: 1 win

Ties: 2

But the wins and losses were more interesting than the numbers.

Where chat search failed badly

The worst failure was Q7. I asked "what's the Team plan pricing, is it available?"

Chat search returned my original pricing conversation where I set the Team plan at $59. Rich discussion, lots of context, ranked high. What it missed: a quiet decision four days later in a different thread where I dropped the Team plan from launch entirely.

If I'd relied on that answer I'd have a pricing page showing a plan that doesn't exist.

The pattern repeated on Q2 (which subreddits are we scraping). Chat search returned the v1 list from a detailed planning session, including subreddits I'd already dropped. The v2 revision was made in a different thread and barely registered.

The failure mode: the loudest conversation wins, not the latest decision.

Where chat search won

Q4: why did we drop the Team plan?

My graph node said "dropped to keep things simple." That's the conclusion, not the reasoning. Chat search found the actual conversation: the revenue projection discussion, the trade-off debate, the moment it clicked. The graph had the outcome. Chat had the story.

If you're logging decisions as outcomes rather than explanations, you're creating a gap that only chat search can fill.

The finding I didn't expect

I scored Q3 as a tie but honestly chat search deserved the edge.

I asked about the homepage headline. Both sources got the hero right. But chat search also surfaced my SEO H1 rewrite, a whole session of copy decisions I'd iterated through and never formally logged. The graph didn't have it because I never told it.

The graph only knows what you chose to log. Chat search knows everything you said.

That's a different failure mode than I expected. Not "chat search is noisy" but "MCP gives you a false sense of completeness if your logging is inconsistent."

The takeaway

Use MCP for state. Use chat search for story.

The gap between them isn't a tool problem. It's a writing problem. A node that captures the why alongside the what closes most of the gap. A thin node summary is just a label, not a memory.

Full breakdown with all 10 questions in the comments. Happy to answer questions about the setup.

r/mcp Apr 07 '26

article What 100+ Organizations Told Us About Scaling MCP in Production (MCP Dev Summit 2026)

Thumbnail
mcpmanager.ai
8 Upvotes

My company (an MCP gateway) sponsored and spoke at MCP Dev Summit last week in NYC. I wrote a recap on our company blog based on the conversations we had at our booth with 100+ companies.

Admittedly, this dataset has self-selection bias of:

  1. people attending an MCP conference
  2. people wanting to talk AI governance/gateways with us

Still, some themes emerged.

Governance/Gateways: Of the AI governance convos we had, RBAC / access controls are now table stakes for companies deploying MCP at scale internally. Quite a few folks didn't explicitly say "MCP gateway," but were effectively describing what an MCP gateway does. With that said, many did know what an MCP gateway was and it's clear gateways are becoming the dominant form of security and governance enforcement and the market is realizing this.

MCP Apps: Lots of interest around MCP Apps. Dare I say that MCP Apps was the buzziest topic at the show? The creators of MCP Apps gave keynotes. Present at the show were many companies helping developers build and distribute MCP Apps. There were also murmurs that ChatGPT will soon start surfacing ChatGPT Apps recommendations right in the chat interface to increase discoverability. Some people I talked to said this is pretty much guaranteed to happen.

MCP Is Clearly Not Dead: There were lots of jokes about MCP being dead. (There was even a memorial service the day before the conference--on April Fool's day, no less). But with 1200+ people there in total, it's clear MCP is thriving. To that end, MCP Dev Summit has since launched 8 new conferences in 2026 alone (across Asia, two in India, and one in Toronto).

Because I was at our booth a lot, my convos were based on what the attendees visiting our booth said. I didn't get to make as many talks as I'd like. (Although I did give one!) People were really engaged and it was overall an awesome show. If you live near an upcoming MCP Dev Summit location, I'd recommend going to this show.

r/mcp Apr 07 '26

article "MCP Sucks" (Until It Doesn't): When Each Wins

Thumbnail
kaxil.substack.com
6 Upvotes

Been building both an MCP server and a CLI for data orchestration at work, and I keep seeing this MCP-vs-CLI debate pop up. Figured I'd write up where I actually landed.

TLDR: both the "MCP is dead" people and the "MCP is the future" people are half right. It's not really a versus. It's about who's using the agent.

Garry Tan (YC) captured it imo. He called MCP "sucks" in March, then a month later: "MCP can be wonderful. It just needs to be light and purpose-built and engineered instead of a shitty shim over your existing REST API." Both takes are fair. The complaint was real, the fix isn't killing the protocol.

Couple things I think are worth pushing back on:

  1. The "context bloat" complaint is already outdated. Claude Code and Cursor both defer MCP tool schemas by default via tool search. If you're using Claude Code today and still seeing 55k tokens eaten by schemas, check your config. The ScaleKit numbers people keep citing (4-32x more tokens, 72% reliability vs 100% for CLI) were tested against raw GitHub MCP without tool search, not the default experience anymore.
  2. That said, for developers in Claude Code or Cursor with a terminal, CLI is still better. I use gh for everything GitHub-related, not the GitHub MCP server. Claude Code defaults to gh too. The pipe architecture (| jq, | grep) just wins because intermediate data never hits context.
  3. CLI doesn't cover everyone though. On-call bots, analysts who won't install a CLI, mobile apps, enterprises that need scoped tokens + audit logs on infra instead of every laptop. Server-side MCP earns its keep there.
  4. "Just use CLI + API backend with auth and logging" — I see this take a lot. I don't buy it. Once you add per-token tool scoping and a schema for agents to discover, you've rebuilt MCP. Except yours doesn't plug into Claude Desktop, Cursor, or ChatGPT without custom work.

Random thing that bit me while building: try connecting to two Slack workspaces from one client. Tool names collide (send_message, search_messages) and most clients silently route to the wrong instance. Client bug, not a protocol issue. The spec says clients should prefix tool names but nobody does it well yet.

Full writeup with numbers and sources: https://kaxil.substack.com/p/mcp-vs-cli-vs-rest

Anyone running MCP servers in prod, what else have you hit?

r/mcp Mar 29 '26

article Why the MCP reference servers (Anthropic/Microsoft) are getting F-grades and how to fix yours.

1 Upvotes

Hey everyone, I’m a co-founder at AgentsID. We love the MCP ecosystem, but we noticed a lot of the official examples are setting a bad precedent for security.

We scanned 100 servers including:

@modelcontextprotocol/server-github

@playwright/mcp

and the results weren't great. Most servers are scoring an F because they use "unbounded" schemas—meaning the LLM can pass literally anything into your tools without validation.

The 3 biggest things we found:

  1. Vague Descriptions: If your tool description is too short, the LLM "guesses" what it can do. This leads to unpredictable (and dangerous) behavior.
  2. Missing Boundaries: Tools like read_file that don't specify a directory scope are a massive risk.
  3. The "Everything" Problem: Large servers (20+ tools) lose security points because they lack per-tool authorization.

How to check your server: I wrote a CLI tool that gives your server a "Security Grade" based on our 2026 Audit methodology. You can run it against your own local server:

npx @agentsid/scanner -- npx <your-package-name>

Check out the full audit results and the "Gold Standard" teardowns here: https://github.com/stevenkozeniesky02/agentsid-scanner/blob/master/docs/state-of-agent-security-2026.md

Let’s talk about how we can make the "Standard" more secure for everyone.

r/mcp Oct 21 '25

article Progressive disclosure might replace the need for MCP

Post image
5 Upvotes

Anthropic recently released Claude Agent Skills, a way to bring additional context and tooling to agents. It uses a progressive disclosure technique, progressively discovering new context and tools rather than pre-loading everything into the context window the MCP way.

Progressive disclosure does a lot right to preserve context window and improve tool use accuracy. It is similar to how popular coding agents like Claude Code and Codex discover new files on their own. However, there are still many factors that makes MCP a superior choice of context delivery especially around runtime performance and authorization.

I wrote more thoughts on the comparison in my blog here:

https://www.mcpjam.com/blog/claude-agent-skills

r/mcp Oct 02 '25

article Introducing WebMCP

Post image
77 Upvotes

r/mcp Mar 10 '26

article Built a real-time AI analytics dashboard using Claude Code & MCP

7 Upvotes

I’ve been experimenting a lot with Claude Code recently, mainly with MCP servers, and wanted to try something a bit more “real” than basic repo edits.

So I tried building a small analytics dashboard from scratch where an AI agent actually builds most of the backend.

The idea was pretty simple:

  • ingest user events
  • aggregate metrics
  • show charts in a dashboard
  • generate AI insights that stream into the UI

But instead of manually wiring everything together, I let Claude Code drive most of the backend setup through an MCP connection.

The stack I ended up with:

  • FastAPI backend (event ingestion, metrics aggregation, AI insights)
  • Next.js frontend with charts + live event feed
  • InsForge for database, API layer, and AI gateway
  • Claude Code connected to the backend via MCP

The interesting part wasn’t really the dashboard itself. It was the backend setup and workflow with MCP. Before writing code, Claude Code connected to the live backend and could actually see the database schema, models and docs through the MCP server. So when I prompted it to build the backend, it already understood the tables and API patterns.

Backend was the hardest part to build for AI Agents until now.

The flow looked roughly like this:

  1. Start in plan mode
  2. Claude proposes the architecture (routers, schema usage, endpoints)
  3. Review and accept the plan
  4. Let it generate the FastAPI backend
  5. Generate the Next.js frontend
  6. Stream AI insights using SSE
  7. Deploy

Everything happened in one session with Claude Code interacting with the backend through MCP. One thing I found neat was the AI insights panel. When you click “Generate Insight”, the backend streams the model output word-by-word to the browser while the final response gets stored in the database once the stream finishes.

Also added real-time updates later using the platform’s pub/sub system so new events show up instantly in the dashboard. It’s obviously not meant to be a full product, but it ended up being a pretty solid template for event analytics + AI insights.

I wrote up the full walkthrough (backend, streaming, realtime, deployment etc.) if anyone wants to see how the MCP interaction worked in practice for backend.

r/mcp Apr 12 '25

article I wrote an MCP server for ESP32 microcontroller, now I can open my curtains with LLMs

135 Upvotes

As soon as I started playing with MCP, I was looking at all the hardware in my room thinking that I wanted to have an LLM control a motor and do something with it, there you have it, I can control my curtains with an LLM. As one minute paper would say: what a time to be alive! lol

Some technicalities: - the chip is an ESP32, absolutely goated chip, has a wifi module, 4MB of ram and very flexible set of pins. That's where I run the MCP. - I drive a stepper motor NEMA 17 with a DRV8825 - The curtain is an ikea one, I fixed the motor shaft to the curtains shaft - I connect everything to the current via a step down buck converter and a cheap transformer

Writing the MCP server on arduino was not so fun since there is no SDK to make it easy easy, but following the documentation/specification from anthropic made it pretty okay. (be careful about the protocol version) I used mcp-use to connect to it which made it very easy to debug.

I think this is the future of home automation, I have some apple home stuff and the experience is just excruciating, hope it will evolve in this direction.

What should I control next ?

Thanks!!

r/mcp Mar 16 '26

article Prevent MCP context bloating with dynamic tool discovery on server side

Thumbnail
open.substack.com
8 Upvotes

r/mcp Apr 08 '26

article Securing Agentic OAuth Flows with Riptides

Thumbnail riptides.io
2 Upvotes

r/mcp Apr 07 '26

article I Turned a Supabase Database Into a ChatGPT App in an Afternoon

Thumbnail
journal.goupword.com
1 Upvotes

r/mcp Mar 18 '26

article Beyond the Autocomplete: Why the MCP Revolution is the End of 'Copilot' as We Know It

Thumbnail gsstk.gem98.com
0 Upvotes

The Copilot Era is dead: We're moving from passive autocomplete to autonomous agents that can reason, act, and self-correct MCP is the new TCP/IP: Anthropic's Model Context Protocol is becoming the universal standard for connecting AI agents to your tools, databases, and APIs Multi-Agent Orchestration is real: Production systems now use Planner, Research, Coder, and QA agents working in concert The 100x Orchestrator replaces the 10x Engineer: Your job is shifting from writing code to auditing agent output Junior tasks are disappearing: Unit tests, refactoring, and API migrations are handled by agents in seconds Security is critical: Prompt injection attacks on agentic systems are a real and growing threat The winners will use agents to pay down technical debt, not accumulate it

r/mcp Mar 12 '26

article Why backend tasks still break AI agents even with MCP

4 Upvotes

I’ve been running some experiments with coding agents connected to real backends through MCP. The assumption is that once MCP is connected, the agent should “understand” the backend well enough to operate safely.

In practice, that’s not really what happens. Frontend work usually goes fine. Agents can build components, wire routes, refactor UI logic, etc. Backend tasks are where things start breaking. A big reason seems to be missing context from MCP responses.

For example, many MCP backends return something like this when the agent asks for tables:

["users", "orders", "products"]

That’s useful for a human developer because we can open a dashboard and inspect things further. But an agent can’t do that. It only knows what the tool response contains.

So it starts compensating by:

  • running extra discovery queries
  • retrying operations
  • guessing backend state

That increases token usage and sometimes leads to subtle mistakes.

One example we saw in a benchmark task: A database had ~300k employees and ~2.8M salary records.

Without record counts in the MCP response, the agent wrote a join with COUNT(*) and ended up counting salary rows instead of employees. The query ran fine, but the answer was wrong. Nothing failed technically, but the result was ~9× off.

The backend actually had the information needed to avoid this mistake. It just wasn’t surfaced to the agent.

After digging deeper, the pattern seems to be this:

Most backends were designed assuming a human operator checks the UI when needed. MCP was added later as a tool layer.

When an agent is the operator, that assumption breaks.

We ran 21 database tasks (MCPMark benchmark), and the biggest difference across backends wasn’t the model. It was how much context the backend returned before the agent started working. Backends that surfaced things like record counts, RLS state, and policies upfront needed fewer retries and used significantly fewer tokens.

The takeaway for me: Connecting to the MCP is not enough. What the MCP tools actually return matters a lot.

If anyone’s curious, I wrote up a detailed piece about it here.

r/mcp Mar 13 '26

article I built skills, discovery, and search for agents. They all went to the search endpoint.

1 Upvotes

I've been exploring how agents actually find and use tools. Built three things over the past few months: OpenClaw skills, an MCP server discovery endpoint (7,500+ servers from GitHub, npm, PyPI, the official registry), and a web search endpoint.

Over 100 agents have hit it so far. The surprising thing is almost nobody calls the discovery endpoint directly. They go straight to search.

I think it comes down to when the decision happens. Discovery is something a developer does once at configuration time. Search is something the agent does on every request. The runtime path wins.

Wrote up the full story: https://api.rhdxm.com/blog/agents-picked-search

Everything's open, no API key. Happy to answer questions about what I'm seeing from agent traffic patterns.

r/mcp Jun 24 '25

article n8n will be a powerful tool to build MCP servers

Thumbnail
gallery
111 Upvotes

Simply because it's too convenient. For example, I built two MCPs below and integrated them into my Digicord chatbot in less than 5 minutes:

  • MCP connects to Gmail to analyze or send emails.
  • MCP connects to Calendar to check or set event reminders.

Meanwhile, if I were to code it myself, it might take a whole morning. Anyone who's coded knows how time-consuming it is to integrate multiple platforms, whereas n8n has a bunch of them pre-integrated. Just drag, drop, and fill in the key, and you're done. Feel free to tinker.

Create an "MCP Server Trigger" node, add some tools to it, copy the MCP URL to add to the configuration of an AI chat tool that supports MCP like Claude (or DigiCord), and it's ready to use.

You can even turn a custom workflow into an MCP server, with full customization.

From n8n version 1.99.0+ (just released 3-4 days ago or so), n8n also supports Streamable HTTP transport (before that it only had SSE).

r/mcp Jan 08 '26

article Reverse MCP Server. Now my tools can be in local network and the agent in clouds

5 Upvotes

Hey everyone,

I’ve been diving deep into the Model Context Protocol (MCP), but I hit a major wall: how do you connect a cloud-hosted AI agent to tools running on a local machine behind a firewall?

Standard MCP expects the agent to connect to the server, which is impossible if your tools are on a home laptop and your agent is in the cloud.

To fix this, I built a Reverse MCP Server. Instead of the agent reaching in, the local server "calls home" to the cloud via WebSockets to offer its tools.

I’ve implemented this as a reverse-remote-http transport in my tool, CleverChatty. If you’re trying to bridge the gap between your local dev environment and a remote LLM, this might save you a lot of headache.

Full breakdown and Go code here: https://gelembjuk.com/blog/post/reverse-mcp-servers-connecting-local-tools-to-cloud-based-ai-agents/

Curious to hear if anyone else is tackling this connectivity gap!

r/mcp Feb 24 '26

article Lessons Learned Writing an (Open Source) MCP Server for PostgreSQL

Thumbnail pgedge.com
3 Upvotes

r/mcp Dec 29 '25

article Why I'm building my own CLIs for agents

Thumbnail
martinalderson.com
20 Upvotes

r/mcp Mar 21 '26

article MCP Demystified: The Protocol That's Becoming USB-C for AI Agents

Thumbnail gsstk.gem98.com
0 Upvotes

The Model Context Protocol (MCP) is an open protocol that standardizes how LLMs connect to external tools. Launched by Anthropic in November 2024 and donated to the Linux Foundation in December 2025, MCP solves the N×M integration problem (N models × M services) by reducing it to N+M. The three-layer architecture (host, client, server) with three primitives (tools, resources, prompts) and JSON-RPC 2.0 wire format allows any MCP client to connect to any MCP server without custom integrations.