{
  "id": 1142667,
  "title": "From 30 Tools to 3: Designing a Token-Efficient MCP Tool Surface",
  "url": "https://urgent.news/2026/08/15/from-30-tools-to-3-designing-a-token-efficient-mcp-tool-surface",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-15T22:29:14.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/serifcolakel/from-30-tools-to-3-designing-a-token-efficient-mcp-tool-surface-b40"
  },
  "original_language": "en",
  "account": "Large tool surfaces can overwhelm AI agents. Instead of consolidating capabilities, the solution is to consolidate the tool surface. This article describes a pattern to reduce tool surfaces to a few domain-oriented tools while preserving underlying capabilities. The core idea is to introduce an action discriminator that acts as a tool router. Rather than exposing a multitude of top-level tools, the model sees only a few domain tools. Each domain tool internally routes requests to the appropriate capabilities. For example, multiple Jira search operations can be consolidated into a single jira_search action with an action discriminator specifying the search type. This reduces the model's decision space and makes the tool surface more manageable. The grouping of operations into domain tools should follow semantic boundaries rather than arbitrary counts. For a database integration, instead of having separate tools for each operation, tools like db_tables, db_query, and db_advanced can be used. Each tool contains specific actions for the various database operations. By focusing on semantic domains, the tool surface is reduced while maintaining all the necessary functionality.",
  "summary": "Modern agentic applications rarely suffer from a lack of tools. They suffer from too many of them . As an AI agent grows, it is common to connect it to Jira, GitLab, Confluence, Sentry, Elasticsearch, Jaeger, databases, monitoring systems, internal APIs, deployment platforms, and dozens of other services. Each integration can expose many operations: Jira ├── searchIssues ├── getIssue ├──…",
  "key_points": [
    "Introduce action discriminator as tool router",
    "Consolidate domain operations into single tools",
    "Group operations by semantic boundaries"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}