Rocket+ MCP Server
Integrates with Shopify e-commerce platform for order management and workflow triggers.
Enables sending notifications and messages to Slack channels.
Provides payment processing capabilities through Stripe.
Allows database operations and storage integration with Supabase.
Facilitates deployment of projects via Vercel.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rocket+ MCP ServerCreate a workflow: new Shopify order → GHL contact → Slack notify"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rocket+ MCP Server
Multi-MCP Orchestration Hub - Connect GHL, Stripe, Shopify, Supabase, and more through a single AI interface.
What's New in v3.0
Multi-MCP Orchestration - Rocket+ now acts as a central hub that can call other MCP servers:
GHL MCP Integration - Native GoHighLevel MCP support
Workflow Chaining - Create workflows that span multiple services
80+ Tools - Expanded tool set for complete automation
Related MCP server: Agentled MCP Server
What You Can Do
Talk to your CRM and orchestrate multi-service workflows:
"Connect my GHL MCP" - Set up GoHighLevel MCP integration
"Create a workflow: Shopify order → GHL contact → Slack notification" - Chain actions across services
"Get my last 10 leads" - Retrieve contacts instantly
"Run my welcome workflow" - Execute saved multi-step workflows
"Create a course about email marketing" - Generate complete courses with AI
Quick Start
1. Get Your API Key
Sign up at rocketadd.com
Go to Settings → API Keys
Generate a new MCP API key (starts with
rp_)
2. Configure Your MCP Client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"rocket-plus": {
"command": "npx",
"args": ["-y", "rocket-plus-mcp"],
"env": {
"ROCKET_API_KEY": "rp_your_key_here"
}
}
}
}Claude Code (.mcp.json in your project):
{
"mcpServers": {
"rocket-plus": {
"type": "stdio",
"command": "npx",
"args": ["-y", "rocket-plus-mcp"],
"env": {
"ROCKET_API_KEY": "rp_your_key_here"
}
}
}
}3. Restart Your Client
The Rocket+ tools will now be available!
GHL MCP Integration
Rocket+ can connect to GoHighLevel's official MCP server, giving you access to all native GHL tools through Rocket+.
Setting Up GHL MCP
Create a Private Integration Token (PIT) in GHL:
Go to your GHL Sub-Account Settings
Navigate to Integrations → Private Integrations
Click Create Token
Enable scopes: contacts, conversations, workflows, calendars, opportunities
Copy the token (starts with
pit-)
Connect via Rocket+ MCP:
"Connect my GHL MCP with pit-abc123..."Or use the tool directly:
{
"tool": "connect_ghl_mcp",
"args": {
"pit": "pit-your-token-here",
"ghlLocationId": "optional-location-id"
}
}Use GHL MCP Tools:
Once connected, you can call any GHL MCP tool:
"Call GHL MCP to get all contacts"
"Use ghl-mcp to send an SMS to John"Or via mcp_call_server:
{
"tool": "mcp_call_server",
"args": {
"serverId": "ghl-mcp",
"tool": "get_contacts",
"serverArgs": { "limit": 10 }
}
}Multi-MCP Orchestration
Rocket+ acts as a central hub that can route calls to multiple MCP servers:
┌─────────────────────────────────────────────────────────────┐
│ YOUR AI ASSISTANT │
│ (Claude Desktop/Code) │
└──────────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ ROCKET+ MCP (Hub) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ GHL MCP │ │ Stripe │ │ Shopify │ │ Supabase │ │
│ │ (CRM) │ │ (Pay) │ │ (Shop) │ │ (DB) │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Vercel │ │ Slack │ │ MCPFED │ │
│ │ (Deploy) │ │ (Notify) │ │ (More) │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘Supported MCP Servers
Server ID | Name | Status | Description |
| Rocket+ MCP | Built-in | 80+ tools for CRM, content, workflows |
| GoHighLevel MCP | Available | Native GHL CRM tools |
| Supabase MCP | Available | Database operations |
| Stripe MCP | Coming Soon | Payment processing |
| Shopify MCP | Coming Soon | E-commerce |
| Vercel MCP | Coming Soon | Deployment |
| Slack MCP | Coming Soon | Team notifications |
Available Tools (80+)
MCP Orchestration
Tool | What it does |
| Call any connected MCP server |
| List available MCP servers |
| Show your connected servers |
| Connect GoHighLevel MCP |
| Disconnect GHL MCP |
| Check GHL MCP connection |
| List GHL MCP tools |
| Call a GHL MCP tool directly |
Workflow Orchestration
Tool | What it does |
| Execute a saved workflow |
| Create a new workflow from description |
| List your workflows |
| Get workflow details |
CRM & Contacts
Tool | What it does |
| Search and retrieve contacts |
| Add new contacts with tags |
| Update contact information |
| Tag contacts for segmentation |
| Send SMS messages |
| Send emails |
Sales & Pipeline
Tool | What it does |
| View deals in pipelines |
| Create new deals |
AI Course Generator
Tool | What it does |
| Create full courses with modules, lessons, quizzes |
Content Creation
Tool | What it does |
| Write blog posts, emails, social posts |
| Improve existing content |
Workflow Automation
Tool | What it does |
| Deploy workflows, pipelines, tags |
| Validate configurations |
| Browse templates |
AI Agents
Tool | What it does |
| Run AI workflows (lead qual, proposals) |
| Execute AI skills |
Analytics & Insights
Tool | What it does |
| AI-powered data analysis |
| Predictive analytics |
SEO & Marketing
Tool | What it does |
| Audit pages for SEO |
Workflow Examples
Example 1: New Customer Onboarding
{
"name": "New Customer Onboarding",
"trigger": "shopify_order",
"actions": [
{ "toolId": "create_contact", "config": { "source": "Shopify" } },
{ "toolId": "add_tags", "config": { "tags": "customer,new" } },
{ "toolId": "send_sms", "config": { "message": "Welcome! Your order is confirmed." } },
{ "toolId": "mcp_call_server", "config": { "serverId": "slack-mcp", "tool": "send_message", "serverArgs": { "channel": "#sales", "text": "New customer!" } } }
]
}Example 2: Multi-MCP Lead Capture
"Create a workflow: when a Shopify purchase happens, create a contact in GHL, send a Slack notification, and add them to Supabase"Resources
The MCP server exposes these resources for context:
Resource URI | Description |
| Your CRM location info |
| Your saved workflows |
| Available Rocket+ mods |
| Connected MCP servers |
Environment Variables
Variable | Required | Description |
| Yes | Your API key from rocketadd.com/settings |
| No | API URL (default: https://rocketadd.com) |
Pricing
Plan | API Calls/Month | Multi-MCP | Price |
Free | 100 | Limited | $0 |
Starter | 1,000 | Yes | $29/mo |
Growth | 10,000 | Yes | $79/mo |
Scale | Unlimited | Yes | $199/mo |
Troubleshooting
"API key required"
Set ROCKET_API_KEY in your MCP config's env section.
"GHL MCP not configured"
Run connect_ghl_mcp with your GHL PIT token first.
"Authentication failed"
Your API key may be invalid. Generate a new one at rocketadd.com/settings.
Tools not appearing
Restart your MCP client completely
Verify JSON syntax in config file
Check that the command path is correct
Links
Website: rocketadd.com
Documentation: rocketadd.com/docs/integrations/mcp
GHL MCP Docs: marketplace.gohighlevel.com/docs/other/mcp
Support: support@rocketadd.com
Changelog
v3.0.0 (January 2026)
NEW: GHL MCP Integration - Connect to GoHighLevel's official MCP server
NEW: Multi-MCP Orchestration - Call any connected MCP server through Rocket+
NEW:
mcp_call_server- Universal MCP server routingNEW:
connect_ghl_mcp,ghl_mcp_status,ghl_mcp_tools,ghl_mcp_callNEW:
list_mcp_connections- View all connected serversIMPROVED: Workflow engine with cross-MCP action support
IMPROVED: Resources now show actual connection status
Expanded to 80+ tools
v2.2.0
Added workflow orchestration tools
Improved session initialization
Added prompts for common tasks
v2.1.0
Initial public release
56+ tools for CRM, content, and automation
License
MIT - See LICENSE for details.
Made with 🚀 by RocketOpp
Available Tools
30 toolsadd_tagsA
Add tags to a contact for segmentation.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | Yes | Comma-separated tags to add | |
| contactId | Yes | Contact ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the action but does not disclose idempotency (e.g., what happens if the tag already exists), whether tags are appended or replaced, required permissions, or possible side effects. This leaves significant behavioral ambiguity for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that fronts the action and resource, with no unnecessary words or repetition. It earns its place and is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema covers all parameters, but the description lacks behavioral context such as duplicate tag handling or return value, which would be relevant given the absence of an output schema and annotations. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (contactId and tags) with 100% coverage. The tool description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add), resource (tags to a contact), and purpose (segmentation), making it specific and distinguishable from sibling tools like update_contact. It immediately conveys what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for segmentation' implies the intended use case, but there is no explicit mention of when to use this versus alternatives like update_contact, nor any exclusions or prerequisites. Guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_executeC
Execute an AI agent workflow (lead qualification, proposal generation, smart follow-up).
| Name | Required | Description | Default |
|---|---|---|---|
| flowId | Yes | Agent template: proposal-agent, smart-followup-agent, lead-qualifier | |
| triggerData | Yes | Data for the agent (contactId, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining side effects, return behavior, or execution semantics. It only lists workflow examples and does not disclose whether the operation is synchronous, what it returns, or what prerequisites exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource, followed by useful parenthetical examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 params, no output schema, and no annotations, the description is too thin. It leaves ambiguous the relationship to run_workflow, what data is expected in triggerData beyond 'contactId', and what the result of execution looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with descriptions for both flowId and triggerData including example values. The tool description adds no extra parameter detail, but the schema already provides adequate semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes an AI agent workflow and gives concrete examples (lead qualification, proposal generation, smart follow-up). However, it does not distinguish itself from the sibling tool 'run_workflow', which likely has overlapping purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like run_workflow or skillforge_execute. Usage is only implied by the name and examples, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_ghl_mcpA
Connect GoHighLevel MCP server using your Private Integration Token (PIT). This enables direct access to GHL's native MCP tools for contacts, conversations, workflows, calendars, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| pit | Yes | Your GHL Private Integration Token (starts with pit-) | |
| ghlLocationId | No | Your GHL Location ID (optional, defaults to your Rocket+ location) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions requiring a token and enabling access, but does not disclose whether repeated connections are idempotent, overwrite existing connections, or have side effects. This lack of safety/behavioral detail is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear front-loaded verb and resource. The second sentence adds concise value about what the connection enables. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple connection action with few parameters, and the description covers the core purpose. However, with no output schema and no annotations, it does not explain expected return values, persistence, or error scenarios. Acceptable but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description echoes the 'pit' parameter but adds no new semantics beyond the schema. It does give context by explaining that the connection enables access to MCP tools, which is minor added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Connect' and specific resource 'GoHighLevel MCP server', with a clear method (using PIT). It distinguishes from sibling tools like disconnect_ghl_mcp and ghl_mcp_status by focusing on establishing the connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (to enable access to GHL MCP tools), providing clear context. However, it does not explicitly exclude alternatives such as existing connections or reference sibling tools for verification, which would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_generateB
Generate marketing content: blog posts, emails, social posts, landing page copy.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | Tone: professional, casual, persuasive | |
| type | Yes | Content type: blog, email, social, landing, ad | |
| topic | Yes | Topic or subject | |
| length | No | Length: short, medium, long | |
| keywords | No | SEO keywords (comma-separated) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only says 'Generate', giving no hint about AI generation limitations, output format, potential variability, whether calls are expensive/slow, or any side effects. This is a significant gap for a generative tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to the purpose, and the list of content types is specific without being verbose. This is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, a clear schema, and no output schema. The description covers the core purpose but omits behavioral details, usage alternatives, and any sense of what the generated content looks like or how it is returned. For a relatively simple generation tool, it is minimally adequate but has clear gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all 5 parameters, so the baseline is 3. The description adds little beyond what the schema already conveys—it lists output categories but no additional detail about parameter usage or constraints. Thus the description provides no meaningful added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function ('Generate marketing content') and lists concrete content types (blog posts, emails, social posts, landing page copy), which helps distinguish it from sibling tools like content_rewrite. However, it does not explicitly name or contrast itself with these siblings, so it falls just short of a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating various content types, and the examples give some context. However, it provides no explicit guidance on when to use this tool versus alternatives like content_rewrite or course_generate, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_rewriteB
Rewrite or improve existing content.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Goal: improve, shorten, expand, simplify, persuade | |
| tone | No | Desired tone | |
| content | Yes | Content to rewrite |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to state whether the original content is modified in place, whether a new version is returned, or the output format. For a transformation tool, this ambiguity is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant wording. It is concise and to the point, though it could be slightly more informative without becoming verbose. It earns a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations or output schema, the description leaves key context unstated, such as return behavior and prerequisite conditions. However, the tool is relatively simple, and the description plus schema may be sufficient for an agent to select and invoke it. It is minimally complete but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as all parameters have descriptions in the input schema. The description 'Rewrite or improve existing content' adds no additional semantic detail about parameters like goal, tone, or content. Given the high schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Rewrite or improve') and identifies the resource ('existing content'), which differentiates it from generation-focused siblings like content_generate. It is specific about the action and target, though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing content' implies this is for modifying already-created content rather than generating new content, but there is no explicit guidance on when to use this tool over alternatives like content_generate or course_generate. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
course_generateB
Generate a complete course with AI including modules, lessons, and quizzes.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Course topic | |
| modules | No | Number of modules (default: 5) | |
| audience | No | Target audience: beginner, intermediate, advanced | |
| includeQuizzes | No | Include quizzes (default: true) | |
| lessonsPerModule | No | Lessons per module (default: 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool generates a complete course, but omits behavioral details such as expected execution time, cost, whether partial results can be returned, or any side effects. This is insufficient for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It efficiently conveys the tool's core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description is moderately complete. It states the generated content components but doesn't describe the return format, handling of optional parameters, or any limitations. For a relatively complex tool, more context would be helpful, but it's not severely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters. The description mentions modules, lessons, and quizzes which maps to some parameters but adds no additional semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'generate' and identifies the resource 'a complete course' with components (modules, lessons, quizzes), clearly distinguishing it from sibling tools like content_generate which likely handle single content pieces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention exclusions, prerequisites, or comparisons to sibling tools like content_generate or run_workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contactB
Create a new contact in the CRM with optional tags and custom fields.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Comma-separated tags to add | |
| Yes | Email address | ||
| phone | No | Phone number | |
| source | No | Lead source | |
| lastName | No | Last name | |
| firstName | No | First name | |
| customFields | No | Custom field values |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, leaving the description fully responsible for behavioral disclosure. It only mentions optional tags and custom fields, but does not explain the return value, duplicate handling (e.g., what if email exists), permissions required, or whether the operation is reversible. This is a significant gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence of 13 words, front-loading the core purpose. It contains no filler or redundant information and is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, one nested object, no output schema, and no annotations, the description is incomplete. It does not mention what happens on success (e.g., returned contact ID), error conditions, or any prerequisite context. The schema covers parameters, but the broader operational context is missing for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides; it merely restates that tags and custom fields are optional, which is already visible from the required fields list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new contact') and the resource ('CRM'), making the purpose immediately evident. It also distinguishes itself from sibling tools like update_contact and get_contacts by specifying 'new'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this when you want to create a new contact. However, there is no explicit guidance on when to use alternatives like update_contact for existing contacts or add_tags for adding tags later, so it falls to 'implied usage' rather than clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunityB
Create a new deal/opportunity in a pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Deal name | |
| stageId | Yes | Stage ID | |
| contactId | No | Associated contact | |
| pipelineId | Yes | Pipeline ID | |
| monetaryValue | No | Deal value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only restates that the tool creates a deal/opportunity, without mentioning permissions, side effects, idempotency, or return behavior. This falls short of what a mutation tool should disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the essential verb and object, containing no superfluous words. It is an example of efficient, focused writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should provide additional context such as what the tool returns or any prerequisites. It does not, leaving critical gaps for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 5 parameters having a descriptive comment. The description itself adds no extra parameter context beyond what the schema already provides, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Create') and a resource ('deal/opportunity in a pipeline'). It effectively distinguishes this tool from siblings like get_opportunities (read) and create_contact (different entity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. An agent must infer usage solely from the tool's name and generic action, which is inadequate for choosing among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workflowB
Create a new workflow from a description. Describe what should happen and the system will build the workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workflow name | |
| trigger | No | What triggers this workflow: manual, webhook, shopify_order, stripe_payment, contact_created, etc. | |
| description | Yes | Describe what the workflow should do, e.g., "When a new Shopify order comes in, create a contact in GHL, send a welcome SMS, and add to the New Customer pipeline" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that the system builds the workflow from a description, which implies AI generation, but omits key behavioral traits such as permissions required, whether creation is synchronous, return values, or potential side effects beyond creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action, and every word adds value. There is no fluff or repetition, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations or output schema, the description is the only source of context. It does not mention what the tool returns after creation, any constraints on the description input, or when this creation approach is appropriate. The schema covers parameters but not the overall operational context, leaving the description incomplete for an AI agent deciding whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond the schema, but it does align with the 'description' parameter by mentioning 'Describe what should happen.' This meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new workflow from a description, using a specific verb and resource. It distinguishes itself from sibling tools like run_workflow, list_workflows, and get_workflow by emphasizing the creation-from-description behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you have a description of desired workflow behavior but does not explicitly state when to use it versus alternatives, nor does it mention any exclusions. There is no reference to sibling tools or conditions where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_ghl_mcpB
Disconnect GoHighLevel MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to mention side effects, reversibility, idempotency, or what happens to existing MCP connections. The action 'disconnect' implies a state change but does not explain the consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant wording. Every word contributes to stating the action, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description covers the basic operation but lacks context about the connection lifecycle, how it affects other MCP tools, or the ability to reconnect. It is adequate but not fully complete for an agent deciding whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no need for parameter explanation. Per the rubric, a baseline of 4 is appropriate when the schema is empty and no parameters need semantic clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Disconnect' with a clear resource 'GoHighLevel MCP server', which distinguishes it from siblings like connect_ghl_mcp and ghl_mcp_status. However, it lacks detail on what exactly is disconnected (e.g., session, connection), which could lead to minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or the relationship to connect_ghl_mcp. Usage is only implied by the tool name and the action itself, with no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contactsA
Get contacts/leads from the CRM. Search by name, email, or filter by tags.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by comma-separated tags | |
| limit | No | Max contacts to return (default: 20) | |
| query | No | Search query (name, email, phone) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It indicates this is a read operation ('Get') and outlines searchable fields, but it doesn't mention what the response looks like, whether it's paginated, or any default behaviors beyond the limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and contains no wasted words. It efficiently conveys the tool's function and key operations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set and lack of output schema, the description is adequate. It covers the core functionality, though it doesn't mention response format or pagination. The limit parameter in the schema partially compensates for this, making the tool usable without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning by clarifying the distinction between the query parameter (search by name/email) and the tags parameter (filter). It omits 'phone' from the schema's query description, which is a minor inconsistency, but overall it enhances understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves contacts/leads from the CRM with specific search and filter capabilities. It distinguishes itself from sibling tools like create_contact or update_contact by emphasizing retrieval and search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: searching by name, email, or filtering by tags. It doesn't explicitly mention exclusions or alternatives, but the intended usage is evident from the stated search/filter options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_location_infoB
Get current CRM location information including connected services and available mods.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral transparency. It only states the informational content (connected services and mods) but does not disclose whether the operation is read-only, requires special permissions, or has any side effects. As a 'get' operation, read-only is implied, but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the essential purpose without extraneous details. It is appropriately sized for a zero-parameter read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and no output schema, the description is relatively complete in explaining what the tool returns. However, it doesn't describe the output format or how the information might be used, which could leave some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the baseline score is 4. The description correctly implies that no arguments are needed by not mentioning any, which aligns with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves current CRM location information and enumerates what's included (connected services and available mods). It uses a specific verb+resource construction, though it doesn't explicitly differentiate from sibling tools like list_mods, but the focus on 'location information' makes it distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools such as list_mods or ghl_mcp_status. No context or prerequisites are mentioned, so an agent would need to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunitiesA
Get deals/opportunities from sales pipelines.
| Name | Required | Description | Default |
|---|---|---|---|
| stageId | No | Filter by stage | |
| pipelineId | No | Filter by pipeline |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. The verb 'Get' implies a read-only operation, and 'from sales pipelines' scopes the data source. However, it does not mention optional behavior when filters are omitted, pagination, or response format, which are minor gaps for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of six words, immediately front-loading the purpose. It is concise with no filler, earning a top score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with two optional, well-documented filters and no output schema, the description adequately conveys what the tool returns ('deals/opportunities') and their source. It does not explain return structure or pagination, but these are not critical for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('stageId', 'pipelineId') described as filters. The tool description does not add extra meaning beyond the schema, but the baseline of 3 is appropriate since the schema already documents the parameters sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'deals/opportunities' from 'sales pipelines', distinguishing it from sibling tools like get_contacts (contacts) and create_opportunity (create vs. get). It precisely conveys the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving opportunities, but does not explicitly state when to use it versus alternatives like create_opportunity or get_contacts. There is no mention of exclusions or prerequisites, leaving context to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowA
Get details of a specific workflow including all its actions and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow name or ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does indicate the response includes actions and configuration, but does not mention errors, permissions, or other side effects. The verb 'Get' implies a safe read, but explicit context is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that immediately states the action, resource, and what is included. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description provides sufficient context by specifying that it returns all actions and configuration. It lacks details on error behavior, but overall it is adequately complete for a 'get' tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter, with a clear description 'Workflow name or ID'. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'specific workflow', and specifies it returns 'all its actions and configuration'. This distinguishes it from sibling tools like list_workflows (which lists all) and run_workflow (which executes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the phrase 'specific workflow', suggesting it is for retrieving details of one workflow rather than listing or running. However, there is no explicit mention of when to use it vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ghl_mcp_callA
Execute a specific GHL MCP tool directly. Shorthand for mcp_call_server with serverId="ghl-mcp".
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | GHL MCP tool name to execute |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only says 'execute directly' without mentioning potential side effects, permission requirements, idempotency, or error behavior. This is a significant transparency gap for an execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, and no extraneous detail. The shorthand note is useful and efficiently clarifies the relationship to mcp_call_server.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter passthrough tool, the description is adequate but omits how to discover available tool names (e.g., ghl_mcp_tools) or what the return value looks like. The sibling list partially compensates, but the description itself doesn't guide the agent on prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers the parameter name meaning, but the description adds value by clarifying that serverId is fixed to 'ghl-mcp', implying the tool parameter must be a GHL MCP tool name. This context goes beyond the schema's generic 'GHL MCP tool name to execute.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Execute a specific GHL MCP tool directly.' It also distinguishes itself from sibling mcp_call_server by noting it is shorthand with serverId='ghl-mcp', making its role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by positioning itself as a shorthand for mcp_call_server when targeting GHL MCP, which implies when to use it. However, it does not explicitly state when not to use other sibling tools, such as status or listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ghl_mcp_statusA
Check your GHL MCP connection status and available tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. 'Check' implies a read-only operation, but the description does not explicitly state that it has no side effects, what the response contains, or any authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It fully conveys the tool's purpose in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should clarify what the agent can expect. It mentions 'status and available tools' but does not describe the format or structure of the result, which is a modest gap for a simple status-checking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully defines the input. The description adds no parameter information, but none is needed; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Check' and clearly identifies the resource: GHL MCP connection status and available tools. This distinguishes it from siblings like list_mcp_connections and ghl_mcp_tools, which focus separately on connections or tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or when to choose other tools like ghl_mcp_tools or list_mcp_connections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ghl_mcp_toolsA
List all available tools from the GHL MCP server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description merely states a listing action without disclosing any behavioral traits such as authentication requirements, rate limits, or the exact nature of the returned data. The description does not contradict annotations, but it does not add meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and free of unnecessary words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is somewhat adequate but lacks specification of the return format or the scope of 'tools' (e.g., names only vs. detailed definitions). Without an output schema, the description should ideally mention what is returned, making this minimally viable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to clarify. The baseline of 4 applies because no parameter documentation is needed, and the schema is trivially complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource 'all available tools from the GHL MCP server.' This clearly distinguishes it from sibling tools like mcp_list_servers or list_mcp_connections, which list servers or connections, respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. No exclusions or alternatives are mentioned, leaving the agent without context for choosing this over similar listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_analyzeC
Get AI-powered insights from your CRM data.
| Name | Required | Description | Default |
|---|---|---|---|
| dataType | Yes | Data to analyze: contacts, opportunities, campaigns, all | |
| question | No | Specific question to answer | |
| timeframe | No | Timeframe: 7d, 30d, 90d, ytd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions 'AI-powered insights' but does not state whether this is a read-only operation, whether it consumes credits, whether results are deterministic, or what the output format is. This is a significant gap for an AI tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded with the main action and resource. However, it is somewhat under-specified, but that is more a completeness issue than a conciseness issue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema or annotations, and the description is too thin to cover the AI-powered analysis behavior. It does not explain what types of insights can be generated, how to use the 'question' parameter, or what the response will look like. This is inadequate for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters (dataType, question, timeframe), so the baseline is 3. The description itself adds no parameter-specific meaning beyond what the schema already provides, but it does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get AI-powered insights from your CRM data' clearly identifies the domain and general action, but it lacks specificity about what kind of insights (e.g., trends, summaries, answers) and does not differentiate from sibling analysis tools like seo_analyze. It is not a tautology, but it is vague on the exact capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of scenarios like analyzing trends, answering questions, or what to do if direct data retrieval is needed. Sibling tools are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_mcp_connectionsA
List your connected MCP servers with usage stats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. 'List' strongly implies a read-only operation, and the addition of 'usage stats' gives insight into the response payload. While it doesn't explicitly declare side-effect safety, the non-mutating nature is evident and the description is sufficiently transparent for a simple listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise, front-loaded sentence with no superfluous words. It immediately states the action and the object, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description covers the essentials: it lists connected MCP servers and includes usage stats. It doesn't elaborate on what 'usage stats' includes, but given the low complexity, it is adequate for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds meaning beyond the empty schema by specifying what is being listed (connected MCP servers) and that the output includes usage stats, which helps the agent understand the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and clarifies the resource as 'your connected MCP servers' with the added detail 'with usage stats', which conveys scope and outcome. This clearly distinguishes it from the sibling 'mcp_list_servers' which likely lists available servers rather than connections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool or how it differs from alternatives like 'mcp_list_servers' or 'ghl_mcp_status'. The description simply states what it does, leaving the agent to infer use cases without explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modsA
List all available Rocket+ mods and their status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation through the verb 'list' but does not explicitly state side-effect-free behavior, permission requirements, or what 'status' means. This is a minimal acceptable disclosure for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no unnecessary words. It is front-loaded with the action and resource, making it highly concise and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description adequately covers the core purpose. It does not clarify what constitutes 'available' or what statuses are possible, but such detail is not strictly necessary for this tool's simplicity. It is slightly above the minimal viable description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing additional to document. The description adds no parameter info because none exist, and the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all available Rocket+ mods and their status' uses a specific verb ('List'), a clear resource ('Rocket+ mods'), and includes a meaningful attribute ('status'). It distinguishes itself from sibling tools like list_workflows and get_contacts by naming a distinct resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention typical use cases, exclusions, or context. Even for a simple list operation, the absence of any usage direction leaves the agent to infer appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsA
List all available workflows. Shows workflow name, trigger type, and actions.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status: all, active, draft |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action and return fields, but does not mention whether filters apply by default, pagination behavior, or any side effects. There is no additional context about rate limits, permissions, or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. It front-loads the core action ('List all available workflows') and adds relevant output details. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is fairly complete. It states what it does and what fields are shown. However, it does not explain the default behavior of the status filter or potential large result sets, which would be useful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single optional 'status' parameter with a description of valid values ('all, active, draft'). The tool description adds no parameter-specific meaning, but per schema high coverage, baseline is 3. The description does not compensate further, but it is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available workflows, using a specific verb and resource. It distinguishes itself from siblings like get_workflow (single workflow) and run_workflow (execution) by focusing on the listing operation. The mention of fields shown (name, trigger type, actions) adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for browsing workflows but does not explicitly state when to prefer this over get_workflow for details or run_workflow for execution. No alternatives are mentioned, and there are no exclusions or prerequisites. The context is clear but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_call_serverB
Call a tool on any connected MCP server. Rocket+ acts as a hub, routing calls to GHL MCP, Stripe MCP, Shopify MCP, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Tool name on the target server | |
| serverId | Yes | Server ID: ghl-mcp, stripe-mcp, shopify-mcp, supabase, rocket-plus | |
| serverArgs | No | Arguments to pass to the tool |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that Rocket+ routes calls but does not disclose side effects, permissions, rate limits, or error behavior, which is significant for a tool that can invoke arbitrary server actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the tool's purpose and free of fluff. The second sentence adds useful context about the hub role without unnecessary length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool involves a nested serverArgs object and has no output schema, yet the description does not explain how to construct arguments or discover available tools. It also fails to point to sibling tools like mcp_list_servers or ghl_mcp_tools for necessary context, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters, achieving 100% coverage, so the baseline is 3. The description adds no parameter-specific information beyond what the schema already includes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Call' and the resource 'tool on any connected MCP server', establishing it as a generic routing tool. It distinguishes from siblings like ghl_mcp_call, which targets a specific server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'any connected MCP server' implies generic usage, but it does not explicitly state when to prefer this over dedicated tools like ghl_mcp_call. No alternatives or exclusion criteria are mentioned, leaving usage to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_list_serversA
List all available MCP servers and their connection status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of disclosing behavioral traits. The description implies a read-only operation by using 'List,' which is a positive signal, but it does not explicitly state that no modifications are made, whether authentication is required, or if the list reflects real-time status or cached data. For a simple list operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the action ('List') and resource ('MCP servers'), with no unnecessary words. It is perfectly sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (no parameters, no output schema, simple list operation), the description sufficiently covers what the tool does. It names the primary output (servers and their connection status). It does not explain return format in detail, but the description implies a list of items, which is adequate for this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (vacuously). The baseline for a zero-parameter tool is 4, and the description adds no extra parameter information beyond what the schema provides. There is nothing further needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List all available MCP servers and their connection status.' It uses a specific verb ('List'), a specific resource ('MCP servers'), and includes the scope ('connection status'). However, it does not explicitly distinguish itself from sibling tools like list_mcp_connections, leaving some potential ambiguity about which tool to use for listing connections vs. servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as list_mcp_connections, ghl_mcp_status, or any other listing/status tools. There are no prerequisites, recommended scenarios, or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rocketflow_deployB
Deploy a RocketFlow configuration to the CRM. Deploys contacts, custom fields, tags, pipelines, or workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| json | Yes | RocketFlow JSON configuration | |
| dryRun | No | Validate only, do not deploy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention the dryRun validation option or potential side effects like overwriting existing data, leaving the deployment impact unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence states the primary purpose, and the second clarifies scope, making it well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, but the description omits the dryRun behavior, return values, and effects on existing CRM data. Given the tool's complexity, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both 'json' and 'dryRun'. The description adds only the general context of deploying a configuration, which is baseline value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deploys a RocketFlow configuration to the CRM and enumerates deployable entities (contacts, custom fields, tags, pipelines, workflows), distinguishing it from sibling workflow run/create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies deployment context but does not explicitly compare to run_workflow or create_workflow, nor does it mention when dryRun should be used. It only lists what can be deployed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_workflowA
Execute a saved workflow by name or ID. Workflows can chain multiple actions across different services (Stripe, Shopify, GHL, etc.) into a single automated sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow name or ID to execute | |
| triggerData | No | Data to pass to the workflow (e.g., contact info, order data) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions that workflows 'chain multiple actions across different services,' hinting at side effects, but it fails to disclose potential impacts (e.g., mutating data, sending emails, charging customers), lack of reversibility, auth requirements, or failure modes. This is insufficient for a tool that can trigger cross-service actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with the main verb and resource front-loaded. Every clause adds useful context about what workflows are, with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an execution tool with cross-service side effects and no output schema. The description does not explain what the tool returns (e.g., run ID, status), what happens if the workflow fails, or the need for prior workflow creation. It only provides high-level purpose, leaving major gaps for an agent to invoke it safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters. The tool description adds no new parameter-level meaning beyond what the schema gives (e.g., 'workflow' is already described as a name or ID). Therefore, the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Execute a saved workflow by name or ID.' It uses a specific verb and resource, and the additional explanation of workflows as chained actions across services distinguishes it from sibling tools like create_workflow or list_workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool to execute a saved workflow. It implies that the workflow must already exist, distinguishing it from creation tools. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_emailB
Send an email to a contact.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Email body (HTML supported) | |
| subject | Yes | Email subject | |
| contactId | Yes | Contact ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action 'Send' which implies mutation, but omits details such as whether the email is actually sent, any required permissions, or error handling behavior. This minimal disclosure is insufficient for a tool with side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no unnecessary words. It efficiently conveys the tool's core action without redundancy, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with full schema coverage, and the description is minimally adequate for basic identification. However, it lacks usage context and behavioral transparency that would be valuable given the absence of annotations and output schema, leaving some gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with clear descriptions for all three parameters (contactId, subject, body). The tool description adds no additional parameter meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Send an email to a contact' uses a specific verb 'send' and resource 'email' with a clear recipient. It distinguishes the tool from the sibling send_sms tool by specifying email, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that send_sms is the SMS counterpart, nor does it specify prerequisites like the contact existing, so the agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_smsB
Send an SMS message to a contact.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | SMS message content | |
| contactId | Yes | Contact ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only restates the action without mentioning side effects, permissions, expected outcomes, or failure modes. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundancy. It is concise and front-loaded, doing exactly what is needed for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the simple schema, this is a mutation tool with no annotations and no output schema. The description fails to provide usage context, behavioral expectations, or selection criteria, making it incomplete for an agent's full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both message and contactId. The description adds no extra meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (Send) and resource (SMS message to a contact). The mention of SMS clearly distinguishes it from sibling tools like send_email, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as send_email. It offers no context about prerequisites, scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seo_analyzeC
Analyze a page for SEO issues and opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to analyze | |
| keywords | No | Target keywords |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full responsibility for disclosing behavior. It only says 'analyze,' implying a read-only operation, but doesn't confirm whether it makes external requests, requires authentication, or returns a specific report structure. This leaves room for uncertainty about side effects and output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence exactly states the purpose without any filler. All words contribute meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes a URL and optional keywords but provides no output schema or description of what the analysis returns. The description doesn't elaborate on the scope of SEO issues covered, the format of results, or any limitations. For an analysis tool, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are described in the schema (url and keywords), covering 100% of parameters. The description does not add details about parameter formats, defaults, or how keywords influence analysis. However, the schema descriptions are sufficient for basic use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes a page for SEO issues and opportunities, using a specific verb and resource. While it doesn't explicitly distinguish from sibling tools, 'SEO' narrows the scope. However, it lacks explicit differentiation from potential overlapping tools like insights_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states the action, with no mention of prerequisites, exclusions, or alternative tools. Agents must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillforge_executeC
Execute a SkillForge AI skill on a contact.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Additional input data | |
| skillId | Yes | Skill: lead-qualifier, proposal-generator, content-loop | |
| contactId | Yes | Contact to execute skill for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the action without mentioning side effects, whether it mutates contact data, async behavior, permissions, or what the execution entails. A skill execution could have broad effects, and none are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence that immediately states the tool's purpose. It is front-loaded and contains no filler, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters including a nested object, no output schema, and no annotations. The description is too sparse to be complete: it does not explain what the input object should contain, what the execution returns, whether it is synchronous, or what the skill does to the contact. More context is needed for safe and correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already explains skillId, contactId, and input at a basic level. The tool description adds no further parameter meaning, especially for the nested 'input' object, but it does not need to compensate heavily given the decent schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Execute a SkillForge AI skill on a contact' uses a specific verb and identifies the resource (SkillForge AI skill) and target (contact). It is clear enough to distinguish this tool from generic siblings like agent_execute, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus siblings such as run_workflow or agent_execute. There are no context cues, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contactC
Update an existing contact.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to set (replaces existing) | |
| No | |||
| phone | No | ||
| lastName | No | ||
| contactId | Yes | Contact ID | |
| firstName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only says 'Update an existing contact' and does not mention replacement semantics for tags, partial vs. full update behavior, whether the contactId is required, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, but it essentially restates the tool name, offering zero additional structure or information. It fails to earn its place as a meaningful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a parameterized update tool with no output schema and no annotations. The description fails to communicate return values, error behavior, or prerequisites, leaving the agent without essential context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers only 33% of parameters with descriptions (tags and contactId). The description adds no parameter meaning, and the semantics of email, phone, firstName, and lastName remain unclear beyond their names. No compensation for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Update' and the resource 'contact', making the basic action clear. However, it does not specify which fields are updatable or distinguish itself from siblings like add_tags, which also modifies contact data. It is somewhat redundant with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like create_contact or add_tags. The description implies use when updating a contact but does not state prerequisites, exclusions, or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
30 tool updates
v3.0.0- First observed
add_tags - First observed
agent_execute - First observed
connect_ghl_mcp - First observed
content_generate - First observed
content_rewrite - First observed
course_generate - First observed
create_contact - First observed
create_opportunity - First observed
create_workflow - First observed
disconnect_ghl_mcp - First observed
get_contacts - First observed
get_location_info - First observed
get_opportunities - First observed
get_workflow - First observed
ghl_mcp_call - First observed
ghl_mcp_status - First observed
ghl_mcp_tools - First observed
insights_analyze - First observed
list_mcp_connections - First observed
list_mods - First observed
list_workflows - First observed
mcp_call_server - First observed
mcp_list_servers - First observed
rocketflow_deploy - First observed
run_workflow - First observed
send_email - First observed
send_sms - First observed
seo_analyze - First observed
skillforge_execute - First observed
update_contact
TDQS
Several tools have confusingly overlapping purposes: mcp_call_server and ghl_mcp_call both execute remote tools, while mcp_list_servers, list_mcp_connections, and ghl_mcp_tools all list server or tool information. Additionally, agent_execute and skillforge_execute may be ambiguous.
Tool names are inconsistent, mixing verb-noun patterns (run_workflow, list_workflows, create_contact) with noun-verb patterns (course_generate, content_rewrite, insights_analyze). Verbs are also inconsistent (get vs list, call vs execute).
With 30 tools, the server exceeds the recommended range. Many tools are highly specific (e.g., ghl_mcp_* variants) and could be consolidated, especially since generic MCP hub tools already exist.
The workflow and CRM tools lack update/delete operations for workflows and opportunities, and contacts have no delete. However, the MCP hub functionality may allow agents to work around these gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
34-tool GTM gateway: CRMs, ad platforms, analytics, Google Workspace, AWS, and LLM orchestration.
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Automate GoHighLevel across CRM, messaging, calendars, marketing, e-commerce, and billing. Manage…
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceUniversal AI API Orchestrator. 850 tools across 53 services under a single MCP interface. Connect Claude, GPT, or Gemini to Stripe, Slack, GitHub, LinkedIn, Cloudflare, Shopify, Twilio, and 46 more via natural language. $0.10/execution, no subscription. Patent Pending.2935-
- AlicenseAqualityCmaintenanceAI workflow orchestration platform with 100+ integrations, knowledge graph, and unified credits. Build, manage, and execute workflows from Claude Code, Cursor, or any MCP client.404503MIT
- FlicenseNot gradedqualityDmaintenanceA unified MCP server that connects HubSpot, Clay, Apollo, Slack, and email to enable AI agents to execute multi-step GTM workflows such as prospecting, enrichment, CRM updates, and notifications.-
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to GoHighLevel CRM via MCP, enabling full sub-account automation with 269+ tools for contacts, messaging, sales, marketing, and more.26ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Crypto-Goatz/rocket-plus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server