Skip to main content Announcing Tool Policies: AI agent permissions down to the field Read the announcement
Bryce Tozer Bryce Tozer · · 3 min
Three app cards with their marks, StackOne, Pylon and Jira, each listing its tools as rows. One Pylon row and two Jira rows are drawn into a single card tagged Meeting Agent; the StackOne rows stay where they are.

Rethinking MCP: From App to Workflow Servers

Table of Contents

Users don’t care about servers, they care about actions and outcomes. The core insight is decoupling tools from traditional app-based servers to create workflow-specific server bundles.

The Problem

Diagram as text
%% App servers hand all seven tools to every chat and workflow flowchart LR so["StackOne: Get Coverage, OAS Search"] -.->|all tools| cl py["Pylon: Get Pylon Issue, Get Pylon Acct"] -.->|all tools| cl ji["Jira: Get Jira Meta, Get Issue, Create Bug Tix"] -.->|all tools| cl subgraph cl["LLM client"] g["general chat"] p["post meeting agent"] b["bug reporter agent"] n["all 7 tools in every one"] end

Current MCP implementation creates several pain points:

Tool Limits

Platforms like Claude enforce hard limits (40 tools maximum), forcing users to continuously toggle tools on/off. This creates dangerous scenarios where dependency relationships between tools — such as retrieving metadata before creating tickets — remain invisible to both users and AI systems.

Performance Degradation

When an LLM has access to a heap of tools, it performs worse. Symptoms include unnecessary web searches and inability to disambiguate similar concepts (engineering tickets versus support tickets).

Tool Customization

Users lack ability to tailor generic tools for specific workflows without technical expertise. A “Create Jira ticket” tool should behave differently for bug reports versus integration issues.

New Approaches

The post presents three potential directions:

Option 1: Better LLM Clients — Solving tool management within LLM interfaces themselves through improved design.

Option 2: Workflow-Based Tool Servers — The proposed solution enabling users to bundle tools from multiple apps into workflow-specific servers. This approach includes:

Diagram as text
%% A workflow server bundles three tools from two apps for one agent flowchart LR so["StackOne: Get Coverage, OAS Search"] -.->|not bundled| g pi["Pylon: Get Pylon Issue"] ==> ma jm["Jira: Get Jira Meta"] ==> ma jc["Jira: Create Bug Tix"] ==> ma ma["Meeting agent server: 3 tools, its own prompt"] ==> p subgraph cl["LLM client"] g["general chat"] p["post meeting agent"] end
  • Authentication: Controlling tool visibility at the app level
  • Customization: Tailoring generic tools through code customization
  • Bundling: Creating workflow-specific servers with relevant tools only
  • Prompt Management: Including system prompts with bundled tools
  • Portability: Maintaining consistency across different platforms

Option 3: Better Tool Calling — Improving AI decision-making about which tools to invoke through feedback mechanisms.

Conclusion

These approaches work together complementarily, with workflow-based servers better reflecting how people actually work by prioritizing outcomes over infrastructure considerations.

Put your AI agents to work

Connect AI to every company system and control what it can do in each one, down to the field.