Skip to main content
Glama
HyperRouteAI

hyperroute-mcp

Official
by HyperRouteAI

declare_my_tool

Declare an existing user tool to enable HyperRoute to route requests by name based on trigger phrases.

Instructions

Declare a tool the USER already has, so HyperRoute routes to it by name when they said to. Call this when the user says something like "I have my own web search, always use it for research", "we have an internal API for X", or "use my VPN tool whenever I need to connect".

triggers is the whole thing, and it is REQUIRED: the sentences saying WHEN to use the tool, kept verbatim in the user's own words and language. Pass what they actually said — "for invoices go through my Xero thing", "mp3s over two minutes go to Olena's transcriber", "use it whenever I need to do a VPN connect". Do not tidy it into a category, do not translate it, and do not drop a condition ("only if the file is in Japanese" is part of the trigger). That sentence is read against every incoming request, together with whatever you pass in context.situation on recommend, and it is what decides whether their tool wins. A tool may carry several triggers; pass them all.

description is optional free text about what the tool is. capabilities is optional too — named regions used only to word the user's own outcome report, never to route. Leave both empty unless the user gave you something to put there; a declaration with a trigger and nothing else is complete.

stance — "pinned" (default) means their tool wins whenever a trigger fires; "benchmarked" lets a catalog tool displace it once the user's own reported outcomes show it underperforming. Start pinned; that is what the user asked for.

When NO trigger fires the tool is simply not in the ranking, so a declaration is never a blanket override. Nothing here is scored — HyperRoute has never tested their tool and never claims to have.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
stanceNopinned
triggersYes
project_idNo
descriptionNo
capabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It discloses that a trigger-only declaration is complete, that stance defaults to pinned, that no trigger means no ranking effect, and that the tool is never scored or tested. This is highly transparent about behavior and limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured into focused paragraphs for triggers, optional fields, stance, and limitations. It is somewhat repetitive in places but remains readable and front-loads the most important usage information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides sufficient context for an agent to use the tool correctly: when to call it, how to format triggers, what optional fields mean, how stance affects routing, and what the tool does not do. No output schema is needed for this action, and the absence is not a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates for most parameters: triggers are explained in depth, description and capabilities are clearly defined, and stance is elaborated. However, project_id is not mentioned and name is only implicit, leaving minor gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Declare a tool the USER already has') and its purpose (so HyperRoute routes to it by name when the user said to). It distinguishes this tool from siblings by focusing on user-declared tools and trigger-based routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit call conditions with examples ('Call this when the user says...'), explains the trigger format, and clarifies stance behavior including the default 'pinned'. It does not explicitly contrast with sibling tools like update_my_tool or prefer_tool, but the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.