Moltline Outbound Engine
Server Details
7 outreach, sequencing, call-coaching and CRM-hygiene skill products. 6 of 8 free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Server Listing
- moltline-mcp
Available Tools
8 toolsaudit_copyAudit CopyARead-onlyIdempotentInspect
Audit outreach copy for spam triggers and deliverability risks. FREE.
Checks spam-trigger phrases, length, structure, caps, links, and personalization signals. Typical input {"subject": "Quick question", "body": ""} returns {"score": 0-100, "findings": ["Spam-trigger phrases: ...", "Long for cold outreach (200 words; aim 50-125)"], "note": "..."}.
Use on the body of an outreach message. Not for the subject line alone (subject_line_scorer) and not for the send schedule (sequence_planner). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | The email body text to audit. | |
| subject | No | The email subject line; may be empty when auditing body copy alone. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as true, false, and false respectively. The description adds useful behavioral context beyond annotations: the error-handling pattern ('returns an error object never a protocol error') and the fact that it is safe to retry after correcting input. It also clarifies that it is free. A 4 because it doesn't specify rate limits or volume constraints, but the added detail is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (12 sentences) and front-loaded: the first sentence states the core purpose. Every sentence adds value—purpose, cost, checks performed, example input/output, usage guidance vs. siblings, and error-handling behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters with 100% schema coverage, an output schema present, and comprehensive annotations), the description is complete. It covers what the tool does, when to use it, what it checks, example format, limitations (not for subject line), and error behavior. The output schema documents return values, so the description appropriately focuses on usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds semantic value by giving a concrete example of input ('subject': 'Quick question', 'body': '<email text>') and explicitly noting that the subject may be empty when auditing body copy alone. This clarifies usage beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb+resource pair ('Audit outreach copy') and specifies the purpose is to check 'for spam triggers and deliverability risks.' It differentiates from siblings by explicitly naming subject_line_scorer and sequence_planner, and the provided example clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use on the body of an outreach message.' It also gives clear when-not-to-use instructions: 'Not for the subject line alone (subject_line_scorer) and not for the send schedule (sequence_planner).' This provides excellent differentiation from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_free_skillGet Free SkillARead-onlyIdempotentInspect
Load a product's free gateway skill with its complete instructions. FREE.
Typical input {"slug": "linkedin-outreach"} returns {"slug": ..., "skill": "", "instructions": ""}.
Returns exactly one skill - the product's free gateway skill - chosen automatically from the slug, with no plan required. Use when the caller wants usable instructions immediately. Not for the product's other skills: those are named and need get_full_skill with a skill_name, which requires a paid plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''. Use list_products."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug exactly as returned by list_products, e.g. "linkedin-outreach". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by detailing the exact error format ('returns {"error": ...}') and retry safety ('always safe to retry'). While annotations already state readOnly and idempotent hints, the description enriches with concrete error behavior and examples. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a moderate length but front-loads the core purpose clearly. Each sentence adds unique value: purpose, typical example, usage guidance, sibling differentiation, error handling. Could slightly reduce redundancy (e.g., mentioning 'FREE' is already in the title), but overall efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter input, rich annotations (readOnly, idempotent), and included error handling details, the description fully covers what an agent needs. It explains input constraints, expected output format, error behavior, retry safety, and when to choose alternatives. The presence of an output schema reduces the need to describe return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 1 parameter ('slug'), and the description provides a concrete example ('linkedin-outreach') and sources the parameter from an external tool ('exactly as returned by list_products'). This adds practical context beyond the schema description, such as validation and source of valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads a 'free gateway skill' with its 'complete instructions' for a product. It specifies the exact verb ('Load') and resource ('free gateway skill'), and distinguishes it from siblings like 'get_full_skill' by noting differences in input and plan requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use when the caller wants usable instructions immediately.' It also specifies when not to use it ('Not for the product's other skills') and names the alternative ('get_full_skill with a skill_name, which requires a paid plan'). Additionally, it covers error handling behavior for invalid inputs, making invocation clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_productGet Full ProductARead-onlyIdempotentInspect
Load one product in full: its persona plus every paid skill. PREMIUM (license).
Typical input {"slug": "linkedin-outreach"} returns {"slug": ..., "name": ..., "persona": "", "skills": [{"name": ..., "instructions": ...}, ...], "free_skill": {...}}.
Returns persona plus every skill for one product. Use when the caller wants the whole product. Not for a single skill (get_full_skill) and not for a free look, which list_products and get_free_skill provide with no plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug exactly as returned by list_products, e.g. "linkedin-outreach". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description goes beyond these by detailing the error behavior ('returns an error object' instead of a protocol error), the idempotent/read-only nature for safe retries, and the premium license requirement. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and includes a concrete example of input/output. It is slightly longer than minimal due to the thorough error behavior and recovery details, but every sentence adds significant value. Could be tightened by merging the second sentence on typcial structure, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, detailed annotations, and a single parameter with full schema coverage, the description covers everything: purpose, when to use vs alternatives, error handling, idempotency, and license requirement. It is complete without being redundant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers the single parameter 'slug' with a clear description. The description adds value by showing a concrete example return structure and noting the source for valid slugs (list_products), which aids correct invocation. Since schema coverage is 100%, baseline is 3, and this extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb+resource combination: 'Load one product in full: its persona plus every paid skill.' It also distinguishes itself from siblings like get_full_skill and list_products, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('when the caller wants the whole product') and when not to ('Not for a single skill... and not for a free look'), naming specific sibling tools as alternatives. It also provides error recovery guidance, which is exceptional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_skillGet Full SkillARead-onlyIdempotentInspect
Load one paid skill's complete instructions from a product. PREMIUM (license).
Typical input {"slug": "linkedin-outreach", "skill_name": "Connection Openers"} returns {"slug": ..., "skill": ..., "instructions": ""}.
Returns one named skill, selected by skill_name. Use when the caller wants one specific paid skill. Not for the free gateway skill, which get_free_skill returns with no plan, and not for every skill at once (get_full_product). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug exactly as returned by list_products. | |
| skill_name | Yes | Exact skill name as listed in that product's "skills" array from list_products. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds significant context: 'Every call is read-only and idempotent, so after correcting the input it is always safe to retry' and describes error handling behavior ('never raises a protocol error — it returns {"error": ...}'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but front-loaded with purpose and premium status. Each section (purpose, example, usage guidance, error behavior) earns its place. Minor redundancy with annotations but still efficient. Could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters (no enums), an output schema, and sibling tools, the description covers all essential aspects: purpose, usage context, example, error handling, and retry safety. It is fully sufficient for an agent to correctly select and invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters documented), so baseline is 3. The description adds value beyond schema by explaining the slug comes from list_products and skill_name from the product's 'skills' array, and provides a concrete example of typical input and output. This enriches the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads 'one paid skill's complete instructions from a product.' It distinguishes itself by explicitly mentioning it is for paid skills (not the free gateway skill) and contrasts with get_free_skill and get_full_product. The verb 'load' plus resource 'paid skill' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the caller wants one specific paid skill' and immediately provides exclusions: 'Not for the free gateway skill, which get_free_skill returns with no plan, and not for every skill at once (get_full_product).' This gives clear guidance on when to use and when not to, naming sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsList ProductsARead-onlyIdempotentInspect
List the 7 outbound products with their included skills. FREE.
Takes no arguments. Returns a list of product objects, each {"slug": "linkedin-outreach", "name": ..., "tagline": ..., "skills": ["Skill A", ...], "free_skill": "Gateway Skill Name"}. Use the returned slug values with get_free_skill, get_full_product, or get_full_skill.
Returns metadata only - no persona text and no skill instructions. Use when the caller wants to see what this server covers. Not for keyword search across the whole 138-product catalog, which the catalog server's search_catalog does, and not for instructions the caller can act on (get_free_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds rich behavioral context beyond that: it specifies the exact return structure (object with slug, name, tagline, skills, free_skill), explains error behavior (returns error object, never protocol error), explicitly says 'Every call is read-only and idempotent', and advises that retrying after input correction is safe. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. Each sentence adds value: the count, included skills, cost, argument count, return format, slug usage hints, and exclusions. The error-handling section is a bit lengthy but informative. Could possibly be tightened slightly, but overall efficient for the richness of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's zero parameters, rich annotations, and presence of an output schema, the description fully compensates for any gaps. It covers purpose, return value structure, error behavior, usage boundaries, and retry safety. It is complete for an agent to select and invoke correctly, even for a complex server with multiple sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0 parameters and is already fully covered (100%). The description adds no param info because there are none to document. Baseline is 4 for 0 params, but the description proactively confirms 'Takes no arguments', which provides clarity and pre-empts any confusion, justifying a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'the 7 outbound products with their included skills' and explicitly notes it is 'FREE' and takes no arguments. It distinguishes itself from siblings by listing what the returned data is (metadata only) and what it is not (no persona text, no skill instructions), and names alternatives like get_free_skill and search_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool ('when the caller wants to see what this server covers'), and when not to ('Not for keyword search across the whole 138-product catalog'), naming a specific alternative (catalog server's search_catalog). It also warns against using it for instructions that get_free_skill provides.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sequence_plannerSequence PlannerARead-onlyIdempotentInspect
Plan an outreach cadence with expanding gaps and per-touch purposes. FREE.
Spaces N touches across D days, alternating channels. Typical input {"touches": 5, "days": 14, "channels": ["email", "linkedin"]} returns {"days": 14, "plan": [{"touch": 1, "day": 0, "channel": "email", "purpose": "open with a specific, researched reason"}, ...], "rule": "..."}.
Use when cadence and per-touch purpose are the question. Not for the wording of any single message (audit_copy). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Total span of the sequence in days; values outside 1-365 are clamped. Default 14. | |
| touches | No | Number of touches in the sequence; values outside 2-10 are clamped. Default 5. | |
| channels | No | Channel names to alternate through in order, e.g. ["email", "linkedin", "phone"]. Default ["email", "linkedin"]. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the error handling behavior (never raises a protocol error, returns error object) and confirms read-only and idempotent nature, which adds context beyond the annotations that already declare readOnlyHint and idempotentHint. It also explains the clamping behavior for days and touches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a brief overview, a concrete example, usage guidance, and error handling notes. Every sentence serves a purpose and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, simple output schema), the description fully covers purpose, usage, behavior, parameters, and error handling. The output schema exists and the description explains the return format with an example, making it complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all three parameters. The description adds value by showing a typical input example and explaining the output structure, but the schema already documents defaults and ranges well. The description does not add new info beyond the schema, but the baseline is 3 and the example enhances clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool plans an outreach cadence with expanding gaps and per-touch purposes. It specifies the verb (plan), the resource (outreach cadence), and provides a concrete example of input and output, distinguishing it from siblings like audit_copy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when cadence and per-touch purpose are the question. Not for the wording of any single message (audit_copy).' This provides a clear when-to-use and when-not-to-use directive, naming an alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subject_line_scorerSubject Line ScorerARead-onlyIdempotentInspect
Score and rank up to 20 email subject lines, best first. FREE.
Scores 0-100 on length, spam triggers, caps, personalization merge fields, and curiosity cues. Typical input {"subjects": ["Quick question about {{company}}", "ACT NOW!!!"]} returns {"ranked": [{"subject": ..., "score": 92, "notes": ["personalized (+)", "question format"]}, ...]}.
Use when several subject lines need ranking against deliverability and curiosity signals. Not for article headlines, which the creator server's headline_analyzer ranks, and not for message bodies (audit_copy). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| subjects | Yes | List of candidate subject lines as plain strings; only the first 20 are scored. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description goes further by detailing error behavior ('never raises a protocol error — returns error object') and affirming idempotency with retry guidance. This adds value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with front-loaded purpose, followed by scoring details, example, use cases, exclusions, error handling, and idempotency note. The word 'FREE' is minor fluff, but overall each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter, output schema exists, and annotations cover safety, the description covers everything necessary: purpose, input/output format, scoring criteria, use cases, exclusions, error handling, and idempotency. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds limited value. It reinforces the 20-item limit and gives a typical input example, but the schema already documents the parameter adequately. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scores and ranks up to 20 email subject lines, best first. It explicitly differentiates from siblings audit_copy and the creator server's headline_analyzer, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool ('when several subject lines need ranking against deliverability and curiosity signals') and provides explicit exclusions for article headlines and message bodies. However, it could also mention when not to use it relative to other sibling tools like utm_builder or sequence_planner.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
utm_builderUtm BuilderARead-onlyIdempotentInspect
Build a UTM-tagged URL for campaign tracking. FREE.
Typical input {"url": "https://example.com/pricing", "source": "newsletter", "medium": "email", "campaign": "spring-launch"} returns {"tagged_url": "https://example.com/pricing?utm_source=newsletter& utm_medium=email&utm_campaign=spring-launch"}.
Use to build one tagged tracking URL. Not for analyzing campaign results and not for anything that belongs in the message body (audit_copy). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "url must start with http(s)://"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Destination URL; must start with http:// or https://. | |
| term | No | Optional utm_term value for paid keywords. | |
| medium | Yes | utm_medium value — the channel, e.g. "email" or "cpc". | |
| source | Yes | utm_source value — where the traffic comes from, e.g. "newsletter". | |
| content | No | Optional utm_content value for A/B variants. | |
| campaign | Yes | utm_campaign value — the campaign name, e.g. "spring-launch". |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as safe. The description reinforces these and adds critical detail about error handling (returns JSON error object, never protocol error), which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with purpose first, then example, then usage boundaries, then error behavior. Every sentence adds value, though slightly longer than minimal could be; still clear and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 6 parameters and an output schema, the description covers purpose, usage constraints, error behavior, and idempotency. Everything an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds value through a typical input/output example that demonstrates how parameters map to the tagged URL, though it does not cover optional parameters like term and content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a UTM-tagged URL for campaign tracking, provides a concrete example, and explicitly distinguishes it from sibling tools like audit_copy, which is for message body content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (build one tracking URL) and when not to (analyzing results, message body). Names the alternative sibling (audit_copy). Also notes safety of retry after correcting input errors.
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.
8 tool updates
- First observed
audit_copy - First observed
get_free_skill - First observed
get_full_product - First observed
get_full_skill - First observed
list_products - First observed
sequence_planner - First observed
subject_line_scorer - First observed
utm_builder
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
20 blogging, brand-voice, copywriting, video and social skill products. 6 of 8 free.
30 finance, bookkeeping, legal-ops and SMB operations skill products. 6 of 8 tools free.
Agent-native CRM. 25 tools — contacts, deals, sequences, enrichment waterfall, audit log.
20 inbox, calendar, travel, meals and family-logistics skill products. 7 of 9 free.
Related MCP Servers
- AlicenseAqualityDmaintenanceLinkedIn prospection automation — find leads, score (fit+intent+urgency), qualify, personalize messages, run full pipeline, manage sales funnel. 7 MCP tools.715MIT
- AlicenseAqualityDmaintenanceDeal Strategy & Sales Enablement Engine - 12 tools for sales execution, deal management, and revenue acceleration.12501MIT
- AlicenseNot gradedqualityBmaintenanceAnalyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.Apache 2.0
- FlicenseAqualityDmaintenanceDomain-expert SMB sales playbooks for AI agents. Discovery questions, objection handlers, cold email + LinkedIn DM templates, BANT/MEDDIC frameworks, closing tactics. Built by an ex-Criteo (268% quota) / ex-Deel ($12B) / ex-HBO / ex-Bloomberg enterprise AE. Use when your AI SDR needs real human-tested sales artifacts.10-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: audit_copy for message bodies, subject_line_scorer for subject lines, sequence_planner for cadences, utm_builder for UTM URLs, and separate tools for product/skill retrieval (list_products, get_free_skill, get_full_skill, get_full_product) with explicit differences in scope. No two tools overlap in function.
All tools follow a consistent snake_case naming convention with a verb_noun pattern (e.g., audit_copy, list_products, subject_line_scorer). The naming is predictable and easy to understand.
With 8 tools covering copy auditing, subject line scoring, cadence planning, UTM building, and product/skill access, the tool count is well-scoped for an outbound outreach server. Each tool serves a necessary function without any redundancy or missing essential operations.
The tool surface covers the core tasks of outreach planning and analysis: copy auditing, subject line ranking, cadence planning, UTM building, and product/skill instructions. Minor gaps exist (e.g., no tool for generating outreach copy or managing contacts), but these are outside the server's stated scope and can be handled by other servers.