- Home
- Documentation
- Docs Home
- Advanced tool curation
Advanced tool curation
Effective API design does not automatically create effective MCP servers. When uploading a source with hundreds of tools to Gram, such as an OpenAPI document with many endpoints or a Gram Function bundle, avoid placing all tools into a single toolset. This approach overwhelms agents and reduces their effectiveness.
Tool curation involves thinking like an agent-UX designer. It requires understanding how AI agents navigate complex workflows, make decisions, and discover what they need to accomplish goals. Traditional APIs are flat and expose every endpoint equally. Effective MCP servers use multilayered approaches with progressive disclosure to surface the right tools at the right time.
Understanding tools and toolsets
Section titled “Understanding tools and toolsets”Tools are individual callable actions. When uploading a source to Gram, API operations and function bundles become tool definitions - a single action that an agent can invoke. For example, a CRM API’s OpenAPI document might generate tools like search_users, create_deal, and list_pipelines, while a Gram Function could define custom workflow tools.
Toolsets are curated bundles of tools organized around specific use cases or workflows. Rather than giving an agent access to every available tool, select only the ones needed to accomplish particular tasks. Think of toolsets as specialized toolkits — bring only the necessary tools for each job.
The tool curation challenge
Section titled “The tool curation challenge”When connecting a large API like Slack’s to Gram, over 150 tools become available for operations from sending messages to managing workspace settings. Including all tools in a single toolset risks choice paralysis for the agent.
Consider this task: “Send a summary of today’s GitHub pull requests to the #engineering channel.” An agent facing 200 Slack tools might waste time considering irrelevant options, like admin.conversations.setTeams or admin.usergroups.addChannels instead of focusing on the core workflow:
- Discover → Find the #engineering channel
- Compose → Format the message with PR data
- Send → Post to the channel
The curation challenge involves identifying these workflows and building toolsets that make them easier for agents to use.
How agents approach tasks
Section titled “How agents approach tasks”Agents follow a progressive discovery pattern when handling requests. For example, when asked to “Create a new deal for George’s Test Deal worth $25,000,” an agent doesn’t immediately call a create_deal tool. Instead, it follows this pattern:
Step 1: Discover prerequisites
Section titled “Step 1: Discover prerequisites”The agent realizes it needs specific IDs and calls search_users to find the SDR and Solution Engineer. It cannot create a deal without knowing who is responsible for it.
Step 2: Understand structure
Section titled “Step 2: Understand structure”Next, the agent calls list_pipelines to understand the available sales pipelines and find the correct stage. The deal needs to be placed in the correct workflow stage.
Step 3: Execute action
Section titled “Step 3: Execute action”Only after gathering all prerequisites does the agent call create_deal with complete, validated information.
Key curation principles
Section titled “Key curation principles”This workflow demonstrates three key principles:
- Discovery tools come first → Agents can find what they need
- Validation tools provide context → Agents understand the system structure
- Action tools complete workflows → Agents can accomplish their goals
Workflow-based design
Section titled “Workflow-based design”The best toolsets are designed around agent workflows, not API structures. Here’s how to shift thinking:
Traditional API approach (avoid)
Section titled “Traditional API approach (avoid)”✗ Include every endpoint: - create_deal, update_deal, delete_deal - create_contact, update_contact, delete_contact - create_company, update_company, delete_company - create_task, update_task, delete_task - list_pipelines, list_stages, list_users - get_deal_by_id, get_contact_by_id, get_company_by_id - ... 50+ more toolsWorkflow-based approach (recommended)
Section titled “Workflow-based approach (recommended)”✓ "Deal Creation" toolset: - search_users (find responsible parties) - list_pipelines (understand deal stages) - create_deal (complete the action) - get_deal_by_id (verify creation)
✓ "Deal Management" toolset: - search_deals (find existing deals) - update_deal_stage (move through pipeline) - add_deal_note (record interactions) - list_deal_activities (see history)Each toolset supports a complete workflow with only essential tools. An agent working on deal creation does not need deal deletion tools cluttering its context.
Curation strategies
Section titled “Curation strategies”Map tool dependencies
Section titled “Map tool dependencies”Start by identifying tool dependencies. Some tools rely on information from other tools to function properly. Map these relationships:
create_deal depends on:├── User IDs (from search_users)├── Pipeline info (from list_pipelines)└── Company ID (from search_companies)
update_deal_stage depends on:├── Deal ID (from search_deals)└── Valid stage ID (from list_pipelines)Include the dependency tools in toolsets, or agents will be blocked by incomplete information.
Group tools for specific use cases
Section titled “Group tools for specific use cases”Create different toolsets for different personas and goals.
Sales rep toolset: Focus: deal progression
search_deals,update_deal_stage,add_deal_notesearch_contacts,log_call_activitylist_pipelines,get_pipeline_metrics
Sales manager toolset: Focus: oversight
list_team_deals,get_pipeline_reportsearch_deals_by_rep,get_deal_forecastlist_pipeline_stages,update_deal_owner
Support toolset: Focus: customer issues
search_contacts,get_contact_dealscreate_support_ticket,update_ticket_statussearch_companies,get_account_health
Provide rich context
Section titled “Provide rich context”Use Gram’s x-gram extension directly in OpenAPI documents to provide agents with workflow context:
x-gram: name: create_deal description: | <context> Creates a new sales opportunity in the CRM system. Deals must be associated with a valid pipeline and stage. </context> <prerequisites> - Use search_users to find the responsible SDR and Solution Engineer - Use list_pipelines to identify the correct pipeline and stage IDs - Ensure deal amount is provided as a number, not a string </prerequisites>Embedding context and prerequisites helps agents understand not just what a tool does, but when and how to use it effectively.
Anti-patterns to avoid
Section titled “Anti-patterns to avoid”The everything toolset
Section titled “The everything toolset”Avoid creating a single toolset with every available tool. This overwhelms agents and defeats the purpose of curation.
The mirror-API approach
Section titled “The mirror-API approach”Avoid simply copying API structure into toolsets. APIs are organized for developers; toolsets should be organized for agent workflows.
The missing-dependencies trap
Section titled “The missing-dependencies trap”Avoid including action tools without their required discovery tools. An agent that can create_deal but cannot search_users will struggle to complete workflows.
The inconsistent-naming problem
Section titled “The inconsistent-naming problem”Avoid mixing naming conventions within a toolset. If using search_users, stick with search_* patterns rather than mixing in list_contacts or find_companies.
Testing curation decisions
Section titled “Testing curation decisions”The Gram playground is ideal for validating curation decisions. For a CRM toolset, test it with various agent prompts:
- End-to-end workflows: “Create a new deal for Acme Corp worth $50k in the Enterprise pipeline”
- Discovery scenarios: “Find all deals assigned to Sarah in the Discovery stage”
- Error recovery: “Update the deal amount to $75k” (without providing a deal ID)
Watch how the agent navigates the toolset. Does it get stuck? Does it waste time with irrelevant tools? Does it complete workflows smoothly? Use these insights to refine the toolset.
Implementation approach
Section titled “Implementation approach”Tool curation is both an art and a science. It requires understanding agent workflows, mapping tool dependencies, and designing progressive disclosure experiences that feel natural and efficient.
The goal is not to restrict agents but to empower them. A well-curated toolset gives agents exactly what they need to succeed without overwhelming them with unnecessary choices.
Start with agent goals, work backward to identify essential tools and dependencies, and build toolsets that support complete workflows.