Moltline Outbound Engine
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
7 outreach, sequencing, call-coaching and CRM-hygiene skill products. 6 of 8 free.
| Author | com.moltlinestudio |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 142 ms |
| Last measured | 2026-10-26 |
Measured statistics
| Tools measured | 8 |
|---|---|
| Latency, 30-day median (L1) | 142 ms |
| Latency, latest (L1) | 142 ms |
| Safe-call success | 1/1 (100%) |
| 30-day success rate (L2) | 100% |
| Last checked | 2026-10-26 |
| Total checks | 5 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Moltline Outbound Engine": {
"url": "https://mcp.moltlinestudio.com/outbound",
"transport": "streamable-http"
}
}
}
Measured tools (8)
list_productsread-onlyList 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_free_skillread-onlyLoad a product's free gateway skill with its complete instructions. FREE. Typical input {"slug": "linkedin-outreach"} returns {"slug": ..., "skill": "<skill name>", "instructions": "<full skill text>"}. 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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'. Use list_products."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
slug(required) — string — Product slug exactly as returned by list_products, e.g. "linkedin-outreach".
Hints: read-only yes · destructive no · idempotent yes · open-world no
audit_copyread-onlyAudit 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": "<email text>"} 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
body— string — The email body text to audit.subject— string — The email subject line; may be empty when auditing body copy alone.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_productread-onlyLoad one product in full: its persona plus every paid skill. PREMIUM (license). Typical input {"slug": "linkedin-outreach"} returns {"slug": ..., "name": ..., "persona": "<persona text>", "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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
slug(required) — string — Product slug exactly as returned by list_products, e.g. "linkedin-outreach".
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_skillread-onlyLoad one paid skill's complete instructions from a product. PREMIUM (license). Typical input {"slug": "linkedin-outreach", "skill_name": "Connection Openers"} returns {"slug": ..., "skill": ..., "instructions": "<full skill text>"}. 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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
slug(required) — string — Product slug exactly as returned by list_products.skill_name(required) — string — Exact skill name as listed in that product's "skills" array from list_products.
Hints: read-only yes · destructive no · idempotent yes · open-world no
sequence_plannerread-onlyPlan 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
days— integer — Total span of the sequence in days; values outside 1-365 are clamped. Default 14.touches— integer — Number of touches in the sequence; values outside 2-10 are clamped. Default 5.channels— array — Channel names to alternate through in order, e.g. ["email", "linkedin", "phone"]. Default ["email", "linkedin"].
Hints: read-only yes · destructive no · idempotent yes · open-world no
subject_line_scorerread-onlyScore 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Parameters:
subjects(required) — array — List of candidate subject lines as plain strings; only the first 20 are scored.
Hints: read-only yes · destructive no · idempotent yes · open-world no
utm_builderread-onlyBuild 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": "<what is wrong and how to fix it>"} (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.
Parameters:
url(required) — string — Destination URL; must start with http:// or https://.source(required) — string — utm_source value, where the traffic comes from, e.g. "newsletter".medium(required) — string — utm_medium value, the channel, e.g. "email" or "cpc".campaign(required) — string — utm_campaign value, the campaign name, e.g. "spring-launch".term— string — Optional utm_term value for paid keywords.content— string — Optional utm_content value for A/B variants.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.