Skip to main content
Glama

Rocket+ MCP Server

Multi-MCP Orchestration Hub - Connect GHL, Stripe, Shopify, Supabase, and more through a single AI interface.

npm version MCP Compatible

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

  1. Sign up at rocketadd.com

  2. Go to Settings → API Keys

  3. 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

  1. 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-)

  2. 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"
  }
}
  1. 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-plus

Rocket+ MCP

Built-in

80+ tools for CRM, content, workflows

ghl-mcp

GoHighLevel MCP

Available

Native GHL CRM tools

supabase

Supabase MCP

Available

Database operations

stripe-mcp

Stripe MCP

Coming Soon

Payment processing

shopify-mcp

Shopify MCP

Coming Soon

E-commerce

vercel-mcp

Vercel MCP

Coming Soon

Deployment

slack-mcp

Slack MCP

Coming Soon

Team notifications


Available Tools (80+)

MCP Orchestration

Tool

What it does

mcp_call_server

Call any connected MCP server

mcp_list_servers

List available MCP servers

list_mcp_connections

Show your connected servers

connect_ghl_mcp

Connect GoHighLevel MCP

disconnect_ghl_mcp

Disconnect GHL MCP

ghl_mcp_status

Check GHL MCP connection

ghl_mcp_tools

List GHL MCP tools

ghl_mcp_call

Call a GHL MCP tool directly

Workflow Orchestration

Tool

What it does

run_workflow

Execute a saved workflow

create_workflow

Create a new workflow from description

list_workflows

List your workflows

get_workflow

Get workflow details

CRM & Contacts

Tool

What it does

get_contacts

Search and retrieve contacts

create_contact

Add new contacts with tags

update_contact

Update contact information

add_tags

Tag contacts for segmentation

send_sms

Send SMS messages

send_email

Send emails

Sales & Pipeline

Tool

What it does

get_opportunities

View deals in pipelines

create_opportunity

Create new deals

AI Course Generator

Tool

What it does

course_generate

Create full courses with modules, lessons, quizzes

Content Creation

Tool

What it does

content_generate

Write blog posts, emails, social posts

content_rewrite

Improve existing content

Workflow Automation

Tool

What it does

rocketflow_deploy

Deploy workflows, pipelines, tags

rocketflow_validate

Validate configurations

rocketflow_templates

Browse templates

AI Agents

Tool

What it does

agent_execute

Run AI workflows (lead qual, proposals)

skillforge_execute

Execute AI skills

Analytics & Insights

Tool

What it does

insights_analyze

AI-powered data analysis

insights_predict

Predictive analytics

SEO & Marketing

Tool

What it does

seo_analyze

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

rocket://location/info

Your CRM location info

rocket://workflows

Your saved workflows

rocket://mods

Available Rocket+ mods

rocket://connections

Connected MCP servers


Environment Variables

Variable

Required

Description

ROCKET_API_KEY

Yes

Your API key from rocketadd.com/settings

ROCKET_API_URL

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

  1. Restart your MCP client completely

  2. Verify JSON syntax in config file

  3. Check that the command path is correct



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 routing

  • NEW: connect_ghl_mcp, ghl_mcp_status, ghl_mcp_tools, ghl_mcp_call

  • NEW: list_mcp_connections - View all connected servers

  • IMPROVED: 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 tools
add_tagsA

Add tags to a contact for segmentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYesComma-separated tags to add
contactIdYesContact ID

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
flowIdYesAgent template: proposal-agent, smart-followup-agent, lead-qualifier
triggerDataYesData for the agent (contactId, etc.)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pitYesYour GHL Private Integration Token (starts with pit-)
ghlLocationIdNoYour GHL Location ID (optional, defaults to your Rocket+ location)

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNoTone: professional, casual, persuasive
typeYesContent type: blog, email, social, landing, ad
topicYesTopic or subject
lengthNoLength: short, medium, long
keywordsNoSEO keywords (comma-separated)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesGoal: improve, shorten, expand, simplify, persuade
toneNoDesired tone
contentYesContent to rewrite

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesCourse topic
modulesNoNumber of modules (default: 5)
audienceNoTarget audience: beginner, intermediate, advanced
includeQuizzesNoInclude quizzes (default: true)
lessonsPerModuleNoLessons per module (default: 3)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated tags to add
emailYesEmail address
phoneNoPhone number
sourceNoLead source
lastNameNoLast name
firstNameNoFirst name
customFieldsNoCustom field values

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDeal name
stageIdYesStage ID
contactIdNoAssociated contact
pipelineIdYesPipeline ID
monetaryValueNoDeal value

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWorkflow name
triggerNoWhat triggers this workflow: manual, webhook, shopify_order, stripe_payment, contact_created, etc.
descriptionYesDescribe 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

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by comma-separated tags
limitNoMax contacts to return (default: 20)
queryNoSearch query (name, email, phone)

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageIdNoFilter by stage
pipelineIdNoFilter by pipeline

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowYesWorkflow name or ID

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
toolYesGHL MCP tool name to execute

TDQS

A3.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataTypeYesData to analyze: contacts, opportunities, campaigns, all
questionNoSpecific question to answer
timeframeNoTimeframe: 7d, 30d, 90d, ytd

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status: all, active, draft

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolYesTool name on the target server
serverIdYesServer ID: ghl-mcp, stripe-mcp, shopify-mcp, supabase, rocket-plus
serverArgsNoArguments to pass to the tool

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonYesRocketFlow JSON configuration
dryRunNoValidate only, do not deploy

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowYesWorkflow name or ID to execute
triggerDataNoData to pass to the workflow (e.g., contact info, order data)

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesEmail body (HTML supported)
subjectYesEmail subject
contactIdYesContact ID

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesSMS message content
contactIdYesContact ID

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze
keywordsNoTarget keywords

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputNoAdditional input data
skillIdYesSkill: lead-qualifier, proposal-generator, content-loop
contactIdYesContact to execute skill for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags to set (replaces existing)
emailNo
phoneNo
lastNameNo
contactIdYesContact ID
firstNameNo

TDQS

C2.1/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

  1. 30 tool updatesv3.0.0
    • First observedadd_tags
    • First observedagent_execute
    • First observedconnect_ghl_mcp
    • First observedcontent_generate
    • First observedcontent_rewrite
    • First observedcourse_generate
    • First observedcreate_contact
    • First observedcreate_opportunity
    • First observedcreate_workflow
    • First observeddisconnect_ghl_mcp
    • First observedget_contacts
    • First observedget_location_info
    • First observedget_opportunities
    • First observedget_workflow
    • First observedghl_mcp_call
    • First observedghl_mcp_status
    • First observedghl_mcp_tools
    • First observedinsights_analyze
    • First observedlist_mcp_connections
    • First observedlist_mods
    • First observedlist_workflows
    • First observedmcp_call_server
    • First observedmcp_list_servers
    • First observedrocketflow_deploy
    • First observedrun_workflow
    • First observedsend_email
    • First observedsend_sms
    • First observedseo_analyze
    • First observedskillforge_execute
    • First observedupdate_contact

TDQS

C2.7/5.0
Disambiguation2/5

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.

Naming Consistency2/5

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).

Tool Count2/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Universal 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.
    293
    5
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to GoHighLevel CRM via MCP, enabling full sub-account automation with 269+ tools for contacts, messaging, sales, marketing, and more.
    26
    ISC

Latest Blog Posts

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