Skip to main content

Loading…

Skip to main content
HomeProjectsPostsContact
Justin Tsugranes LogoJustin Tsugranes Logo

Justin Tsugranes

HomeProjectsPostsContact

Stay in the loop

Occasional notes on what I'm building, lessons earned, and the studio behind it.

By subscribing, you agree to receive No spam. Unsubscribe in one click anytime. from Justin Tsugranes. No spam. Unsubscribe anytime. Privacy Policy

© 2026 Total Ventures LLC. All rights reserved.

Privacy PolicyTerms of ServiceCookie Policy
MCP Servers vs. Skills: A Decision Framework for Operators | Justin Tsugranes | Justin Tsugranes
Xinf

MCP Servers vs. Skills: A Decision Framework for Operators

Most custom integrations don't require a full MCP server. This guide breaks down when to build stateful servers and when to stick to procedural skills for agentic engineering.

Justin Tsugranes·June 22, 2026·4 min read
On this page
  1. The Architecture of Over-Engineering
  2. The Decision Rule: State vs. Procedure
  3. When to build an MCP server
  4. When to write a skill
  5. The Maintenance Tail
  6. Operating the Machine

You are likely looking at the Model Context Protocol (MCP) documentation right now, planning your next three integrations. It is a compelling architecture. The promise of a standardized way to give LLMs access to your data and tools is the right direction for the industry. But as I have integrated these into my own studio’s workflow, I have noticed a trend: developers are over-engineering their agentic stacks by building custom mcp-servers for tasks that should be simple scripts.

In my studio, Total Ventures, I run a fleet of agents that do the work of a full team. To keep this machine running without a massive maintenance tail, I have to be disciplined about what I build. Every custom server is a new point of failure, a new set of dependencies to update, and a new context for the agent to manage.

If you are about to build your fifth custom MCP server, stop. There is a simpler way to handle procedural knowledge.

The Architecture of Over-Engineering

The Model Context Protocol is designed to solve the problem of fragmented tool interfaces. It provides a bridge between the model and the data. However, just because you can wrap a function in a server doesn't mean you should.

When you build a custom MCP server, you are committing to a specific contract. You are setting up a transport layer (usually stdio or HTTP), defining schemas, and managing a persistent process. For complex, stateful service integrations—like connecting to a proprietary CRM or a multi-layered database—this overhead is justified. For everything else, it is usually noise.

In the context of agentic engineering, we need to distinguish between a service and a procedure. A service is an ongoing resource. A procedure is a way to get a specific job done.

The Decision Rule: State vs. Procedure

I use a simple rule of thumb to decide how to extend my agents' capabilities:

Use an MCP server if you need stateful service integration with multiple tools. Use a skill if you need procedural knowledge plus a few shell commands.

When to build an MCP server

An MCP server is the right choice when the integration requires:

  1. Persistent Authentication: If you are managing OAuth flows or complex session tokens across multiple requests.
  2. Shared State: If multiple tools within the server need to share a cache or a database connection.
  3. Broad Surface Area: If you are exposing twenty different endpoints from a single API (e.g., a full GitHub or Slack integration).
  4. Standardization: If you intend for this tool to be used by various different LLM clients (Claude Desktop, a custom IDE, and a web-based agent) without rewriting the logic.

When to write a skill

A "skill" in this context is a combination of a system prompt and a set of executable scripts (Python, Node, or Bash) that the agent can run via a standard shell tool. You should favor skills when:

  1. The Task is Procedural: You need the agent to "run this linting command, then parse the output, then move the file."
  2. The Environment is Local: You are working within a filesystem that the agent already has access to.
  3. The Logic is Volatile: You are still figuring out the workflow. It is much faster to edit a script or a prompt than to rebuild and restart an MCP server.
  4. It is a Single-Purpose Tool: You just need to fetch a specific piece of data from a simple public API.
RecommendedFree

Free download

Get the Launch Checklist →
If this resonated

The studio is where the rest of it lives.

Total Ventures is the umbrella — the products, the resources, the strategy session.

totalventures.io

Studio Notes

How I’m building the studio.

The operator’s log — systems, decisions, and what’s working.

JT

Written by

Justin Tsugranes

Founder, Total Ventures

Solo-founder building a multi-brand product studio with AI agents. Writing about building, operating, and shipping.

ShareXLinkedInFacebook
#mcp-servers#model context protocol#agentic engineering#ai development

On this page

  1. The Architecture of Over-Engineering
  2. The Decision Rule: State vs. Procedure
  3. When to build an MCP server
  4. When to write a skill
  5. The Maintenance Tail
  6. Operating the Machine

Keep reading

Related posts

All posts→
EditorialB
Jun 22, 2026

Building a Shared Operational Substrate with MCP Servers

Stop duplicating service clients across your agent workforce. Learn how VERA uses MCP servers to expose studio financials and approvals to every agent through a single protocol.

mcp-serversmodel context protocolagentic engineering

The Maintenance Tail

As an owner, I think in terms of margins and leverage. Every line of code I write is a liability until it is proven to be an asset. Custom mcp-servers have a longer maintenance tail than simple scripts.

When I build a skill, I am giving the agent a recipe. If the recipe needs to change, the agent can often help me rewrite the script itself. If an MCP server breaks because of a dependency conflict in the transport layer, the agent is often blind to the cause. I have to step in as the human operator to debug the plumbing.

My goal is to work on the business, not in the plumbing. By defaulting to skills for procedural work, I keep the system flexible. I only move a capability into a formal MCP server once it has proven its stability and its need for a stateful connection.

Operating the Machine

In my monorepo, I keep a directory of these procedural scripts. My agents know where they are and how to call them. This setup allows me to ship new capabilities in minutes rather than hours.

When you are building your own agentic workforce, ask yourself if the agent really needs a dedicated server to talk to that one internal API. Could it just as easily run a curl command or a five-line Python script?

Most of the time, the answer is yes. The protocol is powerful, but the goal is the output, not the architecture. Build the simplest thing that allows you to keep shipping.

How are you deciding what to wrap in a formal protocol versus what to leave as a raw script?

Resources

Launch Checklist + the Builder’s Playbook bundle.

  • Strategy session

    A focused hour on your repo, stack, and monetization.

  • The brands

    The portfolio of products I’m building, end to end.

  • digital product studio
    Anthropic Agent SDK vs OpenAI: Production Patterns
    Apr 28, 2026

    Anthropic Agent SDK vs OpenAI: Production Patterns

    A practical comparison of the Anthropic agent SDK and OpenAI's agent tooling — what each does well, where each breaks, and how to pick for production.

    anthropicopenaiagent sdkMCP
    MCP Server Tutorial: When to Build, How to Scope
    Apr 28, 2026

    MCP Server Tutorial: When to Build, How to Scope

    Not every integration needs a custom MCP server. Here's how to decide when to build one, how to scope the tools, and what shipping it actually looks like.

    mcpmodel context protocolagentic engineeringai agents