tool-restraint

Restricts agent tool and MCP server exposure to reduce failure modes and context overhead.

Updated Nov 25, 2024
One-click install
npx skills add https://github.com/cbrostrom/dotfiles --skill tool-restraint-cbrostrom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: tool-restraint
Source: https://github.com/cbrostrom/dotfiles/tree/main/stow/agents/.agents/skills/tool-restraint
Command: npx skills add https://github.com/cbrostrom/dotfiles --skill tool-restraint-cbrostrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Agents loaded with too many MCP servers and tools become slower, more error-prone, and more likely to pick the wrong tool, because every tool description consumes context on every turn and raises cognitive load. ## Core Features & Use Cases - Minimal Tool Enablement: Enable only the MCP servers the current work actually uses and remove the rest, preferring official servers for credentialed tools. - MCPorter-Based Access: Route MCP access through MCPorter (search/describe/call with index exposure) instead of registering every server as native agent tools, with a canonical config at ~/.mcporter/mcporter.json shared across Pi, Cursor, and shell agents. - Guardrails for Write Access: Add logging hooks before enabling write-scoped servers, and never expose mega-servers like dockhand (300+ tools) natively. - Use Case: When an agent thrashes between tools or underperforms, trim its toolset to a few sharply-described tools rather than switching to a smarter model. ## Quick Start Review my agent's configured MCP servers and tools, then remove everything not needed for the current task and route the rest through MCPorter.

Frequently Asked Questions about tool-restraint

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure MCP servers for an AI coding agent?▼

Define servers once in ~/.mcporter/mcporter.json as the canonical config shared by all agents, then expose them through MCPorter's search, describe, and call tools with defaultExposure set to index. Avoid registering every server as native agent tools.

Why does my agent pick the wrong tool or thrash between tools?▼

Tool thrashing usually comes from too many tools with overlapping or vague descriptions, not a weak model. Each tool description consumes context every turn, so reducing the toolset to a few sharply-described tools typically fixes the behavior.

Should I expose all MCP servers as native tools in Cursor or Pi?▼

No. Reserve native or direct tools for high-frequency local servers like higgins or deja with directTools enabled. Route everything else through MCPorter, and never natively expose mega-servers like dockhand with 300+ tools.

When should I add a new MCP server to an agent?▼

Add a server only when the current work actually uses it, preferring official servers for credentialed tools and never installing speculatively. Before enabling a write-scoped server, add a hook that logs every call.

What are the limits of giving an agent more tools?▼

More tools increase cognitive load and context consumption on every turn, and tool-use agents hit sharp capability cliffs as tool counts grow. A smaller set of well-described tools outperforms a large junk-drawer toolset.