...
Itential Platform Pricing Explore flexible plans and options for your team
Itential logo
Blog

We Gave Agents a New Protocol & Handed Them the Same Old Plumbing

Headshot of Joksan Flores, Principal Solutions Engineer at Itential, advancing infrastructure automation through AI-driven orchestration with 10+ years of networking architecture experience at Cisco.
Joksan Flores
Principal Solutions Engineer
Last updated October 9, 2026
An image showing an agent being given new mcp tooling

Key Takeaways

    • Design MCP tools around the outcome the agent needs, not the endpoints you happen to have.
    • Most MCP servers for infrastructure and networking aren’t broken or insecure. They just stop short.
    • A 1:1 mapping generated from an OpenAPI spec can turn “who has access to this resource?” into an illustrative eight tool calls and eight agent turns.
    • Semantic search MCPs are a better map, but the agent is still doing the driving.
    • If the most common real question takes more than two tool calls, you’ve found your first outcome tool.

I was playing with tool calling around August 2024, months before the Model Context Protocol (MCP) existed (it was released on November 25, 2024). Back then, there was no shared standard across vendors, so every tool was something you designed by hand, and you felt every wasted turn. We got a standard, and a lot of us skipped the design part, the part MCP server best practices are really about.

Since then, I’ve tried out a lot of MCP servers. Virtually every one that comes out for infrastructure, networking, and related systems, I’ve looked at and used, to see how and where it fits. I keep landing on the same quiet disappointment. Most of them aren’t broken. They aren’t insecure. They just stop short. The industry found a brand-new way to give agents tools, and we mostly used it to hand them the same plumbing we already had.

Let me break down the three types I keep running into, worst to best.

Type 1: The 1:1 API Mapping

This is the most common one, and honestly, it makes me a little sad. Take an existing REST API, point a generator at the OpenAPI spec, and ship whatever falls out. It’s easy to see why. Here’s the whole thing:

Take an existing REST API, point a generator at the OpenAPI spec, and ship whatever falls out.
Take an existing REST API, point a generator at the OpenAPI spec, and ship whatever falls out.
  • 💡 It’s elegant, and that’s the problem.

    It hands the agent our endpoints, not our capabilities, so the agent has to reverse-engineer the business logic one turn at a time.

Picture a simple, hypothetical question: “who has access to this resource?” With a 1:1 mapping, the dance might go like this. Call get_users_with_access, get back a list of groups. Call get_users_in_group, get back a list of user IDs. Call get_username_from_id, over and over, to finally resolve names and emails. The agent wanted names and emails in the first sentence. Instead it spent three different turns, N tool calls, a pile of tokens, and several chances to wander off course. We gave the model our internal data model and hoped for the best.

Here is that sequence, with illustrative numbers (2 groups, 5 users):

schematic of 1 to 1 mcp wrapper calls

Type 2: Semantic Search MCPs

This is better. Instead of exposing every endpoint, you expose a search tool. The agent describes what it needs in plain language, and another model or agent behind the server figures out which tools, API paths, or queries are relevant and hands them back.

I like the intent here. It respects that the agent knows its goal better than your URL structure does. It scales to huge APIs without drowning the context window in tool definitions.

But it’s still multi-turn. The agent asks what’s available, gets pointed at the right call, then makes the call, then interprets the result. You’ve moved the guesswork around rather than removing it. It’s a better map, but the agent is still doing the driving.

Here is the same question, with an illustrative turn count:

flow of mcp tool discovery - how an mcp finds and selects tools for agents

Type 3: Pure Agentic Abstractions

This is the good stuff, and there’s so little of it out there. Here you design tools around outcomes, not endpoints. A single get_users_with_access call returns a clean list of users with their names and emails, because the server did the group-resolving, ID-chasing join work internally and handed back the thing the agent actually asked for.

The win is threefold. You minimize agent turns (each round-trip of tool call and response), so there’s less latency and less room to derail. You minimize tokens, because the agent isn’t wading through intermediate payloads it never cared about. And you return meaningful data, shaped for the decision the agent is trying to make.

Yes, this is more work. You have to think about what agents actually want to accomplish instead of mechanically wrapping your routes. That thinking is the entire job. Without it, what we ship is a proxy, not an agent tool.

Here is the same question again:

mcp server outcome-level tools where 1 tool call = 1 agent turn
The Difference

The difference between the three types isn’t technical sophistication.

It’s whether the design work happens once, up front, or gets handed to the model at runtime, on every single call, forever.

How the three compare on that same question (qualitative, not measured):

Type Tool calls (illustrative) Agent reasoning on intermediate output Tokens wasted on intermediate payloads
1: 1:1 API mapping High (e.g. 8) High High
2: Semantic search Medium (e.g. 3+) Medium Medium
3: Agentic abstraction Low (e.g. 1) Low Low

Where We Go From Here

I don’t think anyone set out to ship Type 1. It’s what happens when generating a server takes four lines and designing a good one takes real thought. Incentives did the rest. “We have an MCP server” is a checkbox, and a generated server checks it.

If we want better, here’s where I’d start.

For Vendors & Platform Teams

  • Start from the question, not the endpoint list. Before you write a tool, write down the five things a user would actually ask an agent to do. Build those tools. Everything else can stay behind the API.
  • Do the joins server-side. If answering a question takes three calls and two ID lookups, that’s your tool’s job, not the agent’s.
  • Measure turns and tokens. Count how many tool calls and how many tokens it takes to answer a real question. If you aren’t measuring it, you won’t improve it.
  • Treat tool descriptions as product surface. The model reads them the way a developer reads docs. Write them like it.
  • Keep the generator, change the role. Auto-generating from OpenAPI is a fine starting point and a fine escape hatch. It shouldn’t be the finished product.

For the Industry

We need a shared vocabulary for this. Something like a maturity model that says “this server maps endpoints,” “this one searches,” “this one exposes outcomes,” so buyers and builders can tell the difference before they’ve burned a week finding out. The same goes for public benchmarks that score a server on turns, tokens, and task success instead of tool count.

Where Open Source Can Help

Open source is well placed to close this gap, because the gap is mostly patterns, not proprietary technology.

  • Composition layers that let you define an outcome-level tool on top of a generated one, so you can start from the OpenAPI output and curate your way up instead of rewriting from scratch.
  • Workflow descriptions that live next to the API spec. The OpenAPI Initiative’s Arazzo spec, which describes multi-step API workflows, looks like a natural fit for deriving outcome tools from a sequence of calls.
  • Reference servers and eval harnesses that show the same system exposed as Type 1, Type 2, and Type 3, with turn counts and token costs side by side. Nothing persuades like a diff.
  • Shared, community-maintained tool designs for common infrastructure and networking systems, so every vendor doesn’t have to rediscover that “who has access?” should be one call.

What You Can Do This Week

Pick one MCP server you use or run. Ask it the most common real question you’d put to it, and count the tool calls. As a rule of thumb, if it takes more than two calls, you’ve found your first outcome tool.

Takeaway: Design MCP tools around the outcome the agent needs, not the endpoints you happen to have.

👉 Explore the guide on 78 Essential MCP Servers for AI-Driven Network Automation

👉 Learn more about the Itential MCP Server

Headshot of Joksan Flores, Principal Solutions Engineer at Itential, advancing infrastructure automation through AI-driven orchestration with 10+ years of networking architecture experience at Cisco.
Joksan Flores is a Principal Solutions Engineer at Itential. Joksan’s passion for putting both systems and software together led him to spend 10 years as a Networking Architect at Cisco prior to Itential. Throughout his career, Joksan has supported enterprises and service providers with massive customer bases to solve their IT challenges, designing cloud peering connectivity, WAN, and data center networks. While helping organizations solve complex network challenges, Joksan has always found ways to leverage automation – either by devising methods to make work more streamlined or by helping customers achieve their project goals faster. Today at Itential, Joksan focuses on advancing infrastructure automation through AI-driven orchestration, helping organizations navigate the journey from experimental AI assistants to autonomous operations.
Keep Learning

The Latest in Agentic Operations

Get Started

Agentic infrastructure operations starts here.

See how Itential connects AI reasoning to governed execution across your entire infrastructure.