Skip to main content
Glama

marketo-mcp-server

License: MIT

A Model Context Protocol server for Marketo — give Claude and other AI assistants direct access to your Marketo instance.

Query leads, inspect programs, review emails and forms, manage static and smart lists, explore channels and landing pages, and kick off bulk exports — all through natural language.


Features

Category

What you can do

Leads

Get by ID or email, create/update in batch, delete, retrieve activity log

Programs

List, get by ID, clone, get members

Emails

List, get by ID, clone, send sample/test

Forms

List, get by ID, clone, approve

Smart Lists

List, get by ID with full filter definitions

Static Lists

Get members, add leads, remove leads

Channels

List, get by ID, create with progression statuses

Landing Pages

List, get by ID, clone

Bulk Export

Create job, enqueue, poll status, download file


Prerequisites

  • Node.js 20+

  • A Marketo instance with REST API access

  • A Marketo API-only user and LaunchPoint service with Client ID and Client Secret


Setup

1. Get your Marketo REST credentials

In Marketo Admin: Integration → LaunchPoint → create or select a service → copy Client ID and Secret. Your base URL is under Integration → Web Services (e.g. https://xxx-xxx-xxx.mktorest.com).

2. Set environment variables

MARKETO_CLIENT_ID=your_client_id
MARKETO_CLIENT_SECRET=your_client_secret
MARKETO_BASE_URL=https://xxx-xxx-xxx.mktorest.com

Usage

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["marketo-mcp-server"],
      "env": {
        "MARKETO_CLIENT_ID": "your_client_id",
        "MARKETO_CLIENT_SECRET": "your_client_secret",
        "MARKETO_BASE_URL": "https://xxx-xxx-xxx.mktorest.com"
      }
    }
  }
}

Claude Code

claude mcp add marketo-mcp-server npx marketo-mcp-server \
  -e MARKETO_CLIENT_ID=your_client_id \
  -e MARKETO_CLIENT_SECRET=your_client_secret \
  -e MARKETO_BASE_URL=https://xxx-xxx-xxx.mktorest.com

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["marketo-mcp-server"],
      "env": {
        "MARKETO_CLIENT_ID": "your_client_id",
        "MARKETO_CLIENT_SECRET": "your_client_secret",
        "MARKETO_BASE_URL": "https://xxx-xxx-xxx.mktorest.com"
      }
    }
  }
}

Docker

docker build -t marketo-mcp-server .
docker run -e MARKETO_CLIENT_ID=... -e MARKETO_CLIENT_SECRET=... -e MARKETO_BASE_URL=... marketo-mcp-server

Tools reference

Leads (5 tools)

Tool

Description

marketo_get_lead_by_id

Get a single lead by Marketo lead ID

marketo_get_lead_by_email

Look up a lead by email address

marketo_create_or_update_leads

Batch upsert up to 300 leads

marketo_delete_lead

Permanently delete a lead by ID

marketo_get_lead_activities

Get activity log for a lead (filterable by activity type)

Programs (4 tools)

Tool

Description

marketo_get_programs

List programs with pagination and type/date filtering

marketo_get_program_by_id

Get full program metadata by ID

marketo_clone_program

Clone a program with all local assets into a target folder

marketo_get_program_members

Get leads enrolled in a program

Emails (4 tools)

Tool

Description

marketo_get_emails

List email assets with status filtering

marketo_get_email_by_id

Get full email metadata including HTML and module structure

marketo_clone_email

Clone an email asset to a target folder

marketo_send_sample

Send a test/sample email, optionally rendered with a lead's tokens

Forms (4 tools)

Tool

Description

marketo_get_forms

List forms with pagination and status filtering

marketo_get_form_by_id

Get form metadata including fields and visibility rules

marketo_clone_form

Clone a form to a target folder

marketo_approve_form

Approve a form draft to make it live

Smart Lists (2 tools)

Tool

Description

marketo_get_smart_lists

List smart lists with pagination

marketo_get_smart_list_by_id

Get a smart list with its full filter definitions

Static Lists (3 tools)

Tool

Description

marketo_get_lead_lists

Get leads that are members of a static list

marketo_add_leads_to_list

Add up to 300 leads to a static list

marketo_remove_leads_from_list

Remove up to 300 leads from a static list

Channels (3 tools)

Tool

Description

marketo_get_channels

List all channels and their progression statuses

marketo_get_channel_by_id

Get a single channel by ID

marketo_create_channel

Create a channel with custom progression statuses

Landing Pages (3 tools)

Tool

Description

marketo_get_landing_pages

List landing pages with status filtering

marketo_get_landing_page_by_id

Get full LP metadata including template and form embeds

marketo_clone_landing_page

Clone a landing page to a target folder

Bulk Export (4 tools)

Tool

Description

marketo_create_bulk_export_leads

Create a bulk lead export job with field list and date filter

marketo_enqueue_bulk_export

Enqueue a created export job for processing

marketo_get_bulk_export_status

Poll the status of a running export job

marketo_get_bulk_export_file

Download the file from a completed export job


Example prompts

  • "Show me all leads created this week from the Webinar source"

  • "What programs are currently active and what channel is each one under?"

  • "Find all forms on the Contact Us landing page and show me their fields"

  • "Clone the Q1 Webinar program into the Q2 folder and name it Q2 Webinar"

  • "Export all leads updated in the last 30 days to CSV — email, firstName, lastName, company"

  • "Send a sample of email ID 1234 to test@example.com rendered with lead 5678's data"


Authentication

Marketo uses OAuth 2.0 client credentials. The server obtains and caches a token automatically, refreshing it 60 seconds before expiry. No manual token management required.


License

MIT — see LICENSE.

Available Tools

32 tools
marketo_add_leads_to_listA

Add one or more leads to a static list by lead IDs. Max 300 leads per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesStatic list ID
leadIdsYesArray of lead IDs to add (max 300)

TDQS

A3.6/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 fully disclose behavior. It mentions a rate limit but lacks details on error handling, idempotency, or side effects, which is insufficient 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?

A single sentence that is concise and front-loaded with the core purpose, with no redundant information.

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?

For a simple mutation tool with no output schema, the description should cover success/failure behavior and prerequisites, but only provides a limit, leaving the agent without critical 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?

Schema description coverage is 100% with both parameters documented. The description repeats the max lead count already in the schema, adding no new semantic information beyond what's in the schema.

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 one or more leads to a static list by lead IDs' with a specific verb and resource, distinguishing it from sibling tools like marketo_remove_leads_from_list.

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 a clear usage constraint (max 300 leads per call) and implies when to use (adding leads to a static list), but does not explicitly mention when not to use or alternative tools.

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

marketo_approve_formA

Approve a Marketo form draft, making it the live version. The form must be in draft status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForm ID to approve

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It accurately states the intent (approve draft to live) and a precondition, but does not disclose potential errors, side effects, or authentication requirements. This is minimal but adequate for a simple command.

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: first states the action and result, second states the precondition. No filler, efficiently conveys essential information.

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 tool with one required param and no output schema, the description covers the action and a key precondition. It lacks details on return values or error cases, but given the tool's simplicity, it is sufficiently complete.

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% for the single parameter 'id', described as 'Form ID to approve'. The description adds no extra meaning beyond the schema. Baseline 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 ('Approve'), the resource ('Marketo form draft'), and the outcome ('making it the live version'). It also includes a precondition. This clearly distinguishes it from sibling tools, none of which are approve actions.

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 usage when a form draft exists and needs approval. It provides a clear precondition ('form must be in draft status'). However, it does not explicitly mention when not to use it or suggest alternatives, though the context makes it straightforward.

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

marketo_clone_emailB

Clone an existing Marketo email asset. Creates a draft copy with the specified name in the target folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the email to clone
nameYesName for the cloned email
folderIdYesDestination folder ID
folderTypeNoType of destination folderFolder
descriptionNoDescription for the cloned email

TDQS

B3.4/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; it states the tool creates a draft copy (mutation), but does not disclose permissions, rate limits, or independence of the clone, leaving behavioral gaps.

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?

Single sentence is efficient and front-loaded, covering purpose and result with no wasted words, though a bit more detail could be included without harming 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?

Given no output schema and moderate complexity (5 params), the description covers the essential action but could mention that the original remains unchanged or that the clone ID is returned.

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%, baseline 3; description adds minimal value beyond 'specified name in the target folder' without elaborating on folderType or description parameters.

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?

Clearly states it clones a Marketo email asset, specifies it creates a draft copy with a given name in a target folder, distinguishing it from sibling clone tools for other asset types.

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 explicit guidance on when to use this tool versus alternatives; usage is only implied by the tool name and description, lacking scenarios or exclusions.

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

marketo_clone_formA

Clone an existing Marketo form. Creates a new form with the same fields and settings under the specified name and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the form to clone
nameYesName for the cloned form
folderIdYesDestination folder ID
folderTypeNoType of destination folderFolder
descriptionNoDescription for the cloned form

TDQS

A3.5/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 fully convey behavioral traits. It states that a new form is created, implying a non-destructive copy, but lacks details on permissions, rate limits, or side effects. The minimal description does not sufficiently cover behavioral aspects beyond the basic operation.

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, directly stating the purpose and key action. It is concise with no extraneous information, and the verb 'Clone' is front-loaded for quick comprehension.

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 lack of output schema and annotations, the description provides the essential function but omits details on return values, error handling, or folder type nuances (e.g., Folder vs. Program). It is minimally complete for a straightforward clone operation but could be more robust.

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% description coverage, so the baseline is 3. The description adds little beyond the schema, only mentioning that the form is created 'under the specified name and folder', which corresponds to parameters already documented. No extra semantic value is provided.

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 'Clone' and the resource 'existing Marketo form', specifying that it creates a new form with identical fields and settings under a given name and folder. This distinguishes it from sibling clone tools like marketo_clone_email or marketo_clone_landing_page.

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 when to use the tool (to clone a form) but does not explicitly compare it to alternatives or state when not to use it. Given the specific name and context, the usage is clear but lacks explicit guidance on exclusions or alternative tools.

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

marketo_clone_landing_pageA

Clone an existing Marketo landing page. Creates a draft copy with the specified name in the target folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the landing page to clone
nameYesName for the cloned landing page
folderIdYesDestination folder ID
folderTypeNoType of destination folderFolder
descriptionNoDescription for the cloned landing page

TDQS

A3.8/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It discloses the result as a 'draft copy', indicating the operation is non-destructive and produces an unpublished version. However, it does not mention permissions, rate limits, or error handling.

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, direct sentence with no filler phrases. Every word contributes to conveying the tool's purpose and outcome.

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?

The description adequately explains the core functionality for a simple clone operation. It lacks details on behavior when the source ID is invalid or naming conflicts arise, but these are minor gaps for a relatively straightforward tool with no output schema.

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 all parameters described. The description adds minimal meaning beyond the schema (e.g., 'draft copy', 'target folder'), but does not significantly enhance understanding of the parameters' roles.

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 ('Clone an existing Marketo landing page') and the outcome ('Creates a draft copy with the specified name in the target folder'), distinguishing it from sibling clone tools for other Marketo entities like emails or forms.

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 when to use this tool (clone a landing page) but provides no guidance on when not to use it or alternatives (e.g., creating from scratch vs. cloning). No explicit exclusion or comparison to siblings.

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

marketo_clone_programA

Clone an existing Marketo program. Creates a copy with all local assets (emails, LPs, smart campaigns) under the specified name and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the program to clone
nameYesName for the cloned program
folderIdYesDestination folder ID
folderTypeNoType of destination folderFolder
descriptionNoDescription for the cloned program

TDQS

A3.5/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. It mentions that a copy is created with all local assets and under specified name/folder, but omits side effects, permissions, runtime behavior, or return value.

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, efficient sentence that conveys the main purpose. It could benefit from slight structuring (e.g., listing assets), but it avoids verbosity.

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 absence of annotations and output schema, the description does not cover return values, validation behavior, or post-clone workflow, leaving gaps for effective agent invocation.

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 minimal extra value beyond the schema, only reiterating that cloning involves name and folder destination.

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 'Clone an existing Marketo program' with explicit details about what is copied (all local assets: emails, LPs, smart campaigns), distinguishing it from sibling tools that clone individual assets.

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 this tool is for full program cloning but does not explicitly state when to use it versus creating a new program or cloning sub-assets. No mention of alternatives or exclusions.

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

marketo_create_bulk_export_leadsA

Create a bulk lead export job. Specify which fields to export and a date range filter. The job must be enqueued separately after creation. Max 500MB or 10M records per export.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYesLead field API names to export
filterYesDate range filter - use createdAt or updatedAt (required)
formatNoExport file formatCSV

TDQS

A4/5.0
Behavior3/5

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

No annotations, so description carries full burden. Discloses that it creates a job (not executes) and must be enqueued separately, plus max limits. Does not cover auth, rate limits, or failure behavior, which is acceptable for a create 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?

Three sentences, front-loaded with purpose, then details, then constraints. No redundant words. Every sentence adds value.

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?

Covers purpose, key parameters, and essential behavioral fact (enqueue separately). Missing return value or job ID hint, but schema coverage is high and no output schema exists. Adequate for the 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 coverage is 100%, so baseline 3. Description mentions 'fields' and 'date range filter' which align with schema parameters. Does not add new meaning beyond schema; format parameter is omitted.

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?

Clearly states 'Create a bulk lead export job' with specific resource and verb. Mentions specifying fields and date range filter, and distinguishes from sibling tools by noting the need to enqueue separately.

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?

Provides guidance on what to specify (fields, date range) and a key requirement (enqueue after creation). Also gives size limits. Lacks explicit 'when to use vs alternatives' but implies a multi-step process.

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

marketo_create_channelB

Create a new channel in Marketo. Channels define program types and their progression statuses (e.g. Invited > Registered > Attended for a Webinar channel).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesChannel name
applicableProgramTypeYesProgram type this channel applies to (e.g. 'event', 'default', 'email')
progressionStatusesYesOrdered list of progression statuses

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description must cover behavioral traits. It only states 'Create', indicating mutation, but lacks details on side effects, permissions, idempotency, or error handling. Essential behavioral context is missing.

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 are concise and front-loaded with the core action. Every word serves a purpose without 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?

There is no output schema, and the description does not mention return values, success indicators, or potential errors. For a creation tool, this is a significant omission. Additional context like prerequisites or async behavior is absent.

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 baseline is 3. The description gives a conceptual example of progression statuses but adds no specific parameter semantics beyond what the schema already provides. No value is added to parameter 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 action ('Create') and the resource ('channel in Marketo'), and explains what channels are with an example. It is distinct from sibling tools like marketo_get_channels and marketo_get_channel_by_id.

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 creating a new channel but does not explicitly state when to use it over alternatives or when not to use it. No guidance on prerequisites or constraints is provided.

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

marketo_create_or_update_leadsA

Batch create or update leads in Marketo. Upserts up to 300 leads per call. Uses 'email' as the default dedup field. Set action to createOnly, updateOnly, or createOrUpdate.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesArray of lead objects (max 300). Each must include a dedup key like 'email'.
actionNoSync actioncreateOrUpdate
lookupFieldNoField used for deduplicationemail

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses the upsert nature, batch limit, and default dedup field, but does not mention idempotency, error handling, response structure, or behavior when duplicates 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?

Three short sentences, no fluff. The most important information (batch create/update, limit, default dedup, actions) is front-loaded.

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?

Covers core functionality but lacks output info (e.g., response format, status per lead). No mention of prerequisites like authentication. Given no output schema, the description should provide more context on what the tool returns.

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. The description adds value by reiterating the batch limit and default dedup field, and explaining the action enum, but does not significantly extend beyond what the schema already 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 clearly states it performs batch create or update (upsert) of leads, specifies the batch size limit of 300, default dedup field, and three action modes. This clearly distinguishes it from sibling tools like marketo_delete_lead or marketo_get_lead_by_id.

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 through the action options (createOnly, updateOnly, createOrUpdate), but does not explicitly state when to use each or when to avoid this tool in favor of alternatives. No guidance on prerequisites or error scenarios.

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

marketo_delete_leadA

Delete a lead from Marketo by lead ID. This is permanent and cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLead ID to delete

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description bears full burden. It discloses the key behavioral trait: deletion is permanent and cannot be undone. This adds critical context beyond the schema.

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, zero waste. The action and warning are front-loaded, making the description efficient and easy to parse.

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

Completeness5/5

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

For a simple delete operation with one required parameter, the description is complete: it specifies the action, how to identify the lead, and the permanent nature. No output schema is needed for a side-effect operation.

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% for the 'id' parameter, and its description 'Lead ID to delete' is clear. The tool description adds no extra parameter information beyond confirming the parameter's role.

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 'Delete a lead from Marketo by lead ID'—a specific verb+resource+identifier. It distinguishes from siblings like marketo_get_lead_by_id or marketo_remove_leads_from_list, which perform different actions.

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 warns that deletion is permanent and irreversible, implying careful use. While it doesn't explicitly compare to siblings, the context makes it clear this is for permanent removal, not list modification.

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

marketo_enqueue_bulk_exportA

Enqueue a previously created bulk export job for processing. The job moves from Created to Queued status. Poll status with marketo_get_bulk_export_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
exportIdYesExport job ID returned from create

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided. Description discloses the state change but does not mention side effects, permissions, or error conditions. Adequate but minimal behavioral context.

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 action. Every sentence adds value without redundancy.

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

Completeness5/5

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

For a tool with a single parameter and no output schema, the description is sufficient. It covers action, input, state transition, and follow-up action.

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 description for exportId. The description adds no additional parameter semantics 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?

Description clearly states the action (enqueue), the resource (bulk export job), and the state transition (Created to Queued). It distinguishes from sibling tools like marketo_create_bulk_export_leads and marketo_get_bulk_export_status.

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?

Implies prerequisite (job must be created first) and suggests polling status with another tool. However, it does not explicitly state when not to use or alternative tools for other states.

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

marketo_get_bulk_export_fileA

Download the file from a completed bulk export job. Returns CSV/TSV content. Only works when job status is Completed. Large files may be clipped in MCP response.

ParametersJSON Schema
NameRequiredDescriptionDefault
exportIdYesExport job ID (must be in Completed status)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It warns that 'Large files may be clipped in MCP response', which is useful. However, it omits details on error conditions (e.g., non-Completed status) and response handling (e.g., whether the content is inline or a URL). Basic transparency, but gaps remain.

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?

Three short sentences, each contributing essential information. The purpose is stated first, followed by format, then warning. No redundancy or filler.

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 one-parameter tool with no output schema, the description covers the main behavior: download completes, returns CSV/TSV, and clipping possibility. It lacks details on exact response format (e.g., inline binary or base64) and error messages, but is largely complete for typical 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?

The single parameter exportId has a description in the input schema that is repeated in the tool description ('must be in Completed status'). Since schema description coverage is 100%, the baseline is 3. The description adds no additional meaning beyond what the schema already 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 clearly states the verb 'Download', the resource 'file from a completed bulk export job', and the output format 'CSV/TSV content'. It is specific and distinguishes from sibling tools like marketo_create_bulk_export_leads or marketo_get_bulk_export_status.

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 specifies a clear precondition: 'Only works when job status is Completed.' This guides the agent to check status before invoking. It does not explicitly name alternatives, but the context implies it is the final step in the bulk export workflow.

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

marketo_get_bulk_export_statusA

Check the status of a bulk export job. Returns status (Created/Queued/Processing/Completed/Failed/Cancelled), file size, number of rows, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
exportIdYesExport job ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It discloses return fields but does not explicitly state read-only nature, non-destructiveness, or polling behavior, though it is implicit.

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?

Single sentence listing statuses and return fields; no wasted words, highly efficient.

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 status check with one parameter and no output schema, the description is complete enough. It specifies return fields and possible statuses.

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 exportId described as 'Export job ID'. The description adds little beyond schema, so baseline 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 'Check the status of a bulk export job' with a clear verb and resource, and lists possible statuses and return fields, distinguishing it from sibling tools like create or enqueue.

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 after enqueuing but does not explicitly state when to use it versus alternatives like marketo_get_bulk_export_file or marketo_enqueue_bulk_export, nor mention prerequisites.

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

marketo_get_channel_by_idA

Get a single Marketo channel by ID. Returns channel metadata including progression statuses and their step numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel 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 must carry the burden. It states the tool returns metadata including progression statuses, but does not disclose other behavioral traits such as read-only nature, authorization requirements, or side effects. It is adequate but not thorough.

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 no redundant information. It front-loads the core purpose and adds a detail about the return value. Every sentence 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?

For a simple single-parameter tool without an output schema, the description sufficiently explains what is returned. However, it could briefly mention that results include channel metadata beyond progression statuses, which would enhance completeness. Overall, it is adequate for the tool's low 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?

The input schema has 100% coverage with a single required parameter 'id' described as 'Channel ID'. The description adds no further semantic value beyond restating that the ID identifies the channel. With full schema coverage, a 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 ('Get a single Marketo channel') and the resource ('by ID'). It specifies what is returned ('channel metadata including progression statuses and their step numbers'), distinguishing it from sibling 'marketo_get_channels' which lists all channels.

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 use when needing a single channel by ID, but does not explicitly state when not to use or provide alternatives. Without explicit guidance, it meets the minimum but lacks clarity on distinguishing from 'marketo_get_channels' for listing or 'marketo_create_channel' for creation.

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

marketo_get_channelsA

List all channels in Marketo. Channels define the program type taxonomy (e.g. Webinar, Tradeshow, Email Send). Returns channel names, progression statuses, and applicability.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax channels to return (1-200, default 20)
offsetNoPagination offset

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, and the description does not state read-only or destructive behavior. It mentions return fields but lacks rate limits or error info.

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 purpose, no wasted words.

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?

Lacks mention of pagination, default limit, or read-only nature. For a list tool with no output schema, more context is needed.

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, so the description adds no additional value beyond the schema. Baseline 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 'List all channels' and explains the concept of channels, distinguishing from siblings like marketo_get_channel_by_id and marketo_create_channel.

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?

Implied usage for listing channels, but no explicit guidance on when to use vs alternatives like marketo_get_channel_by_id or pagination details.

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

marketo_get_email_by_idA

Get a single Marketo email asset by ID. Returns full email metadata including HTML content, subject line, from/reply-to, and module structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEmail asset ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It states the operation is a read ('Get') and lists returned fields, but lacks disclosures on permissions, rate limits, or error cases. Adequate but not comprehensive.

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?

Single sentence, front-loaded with key information. No unnecessary words. Efficient and clear.

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 get-by-ID tool with no output schema, the description effectively covers what the tool returns. Could be improved by mentioning error scenarios or required permissions, but acceptable for the 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 coverage is 100% with one parameter. Description adds 'by ID' which matches schema description. No additional semantic value beyond the schema, so baseline 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?

Description explicitly states action ('Get'), resource ('single Marketo email asset by ID'), and return content ('full email metadata including HTML content, subject line, from/reply-to, and module structure'). Clearly distinguishes from sibling marketo_get_emails which likely returns a list.

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?

Description implies usage when you need a specific email by ID, but no explicit guidance on when not to use it or alternatives. Does not mention sibling tools like marketo_get_emails for listing.

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

marketo_get_emailsA

List email assets in Marketo. Supports pagination via maxReturn/offset and filtering by status (approved/draft). Returns email metadata including subject line, from address, and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax emails to return (1-200, default 20)
offsetNoPagination offset
statusNoFilter by approval status

TDQS

A4.3/5.0
Behavior4/5

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

No annotations, so description bears full burden. It discloses pagination support, filtering behavior, and return content (subject, from, folder). Could mention ordering or default behavior, but overall transparent for a read operation.

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 purpose, followed by key details. No unnecessary words.

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

Completeness5/5

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

For a simple list tool with no output schema, the description covers purpose, parameters, and return content (metadata fields). Complete and sufficient.

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 covers 100% of parameters with descriptions. Description adds context for pagination and status filtering, but does not significantly supplement schema beyond that. Baseline 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?

Description clearly states 'List email assets in Marketo' with specific verb and resource. It distinguishes from sibling tools like those for leads, programs, or forms.

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?

Provides explicit guidance on pagination (maxReturn/offset) and filtering by status (approved/draft), which helps the agent know when to use these parameters. No explicit when-not-to-use, but adequate for a listing tool.

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

marketo_get_form_by_idA

Get a single Marketo form by its ID. Returns full form metadata including fields, submit button label, and visibility rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesForm ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations exist; the description indicates it returns metadata but does not cover error handling or permissions. It adequately signals a read operation without explicit safety details.

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, front-loaded sentence that efficiently conveys purpose and output. No superfluous 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?

The description explains what is returned, which compensates for the lack of an output schema. It covers the core functionality adequately for a simple 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 schema already describes 'id' as 'Form ID' with 100% coverage. The description adds no further parameter details beyond the schema.

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 retrieves a single form by ID and details the returned metadata, distinguishing it from the sibling 'marketo_get_forms' which likely lists all forms.

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 when you know the form ID), but no explicit guidance on when to use vs. alternatives like 'marketo_get_forms' is provided.

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

marketo_get_formsA

List forms in Marketo. Supports pagination via maxReturn (max 200) and offset. Optionally filter by status (approved/draft). Returns form metadata including name, URL, status, and folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax forms to return (1-200, default 20)
offsetNoPagination offset
statusNoFilter by approval status

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses pagination limits and filtering but does not mention read-only nature, authentication needs, or rate limits. Adequate for a simple 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?

Three sentences, each serving a distinct purpose: purpose, pagination, and return details. Efficient and well-structured with no redundancy.

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?

No output schema, but the description covers return fields. Parameters are fully documented. Lacks error conditions or rate limits, but sufficient for typical use.

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%, baseline 3. The description adds value by stating the return format (metadata including name, URL, status, folder), which is not in the schema. It also reinforces parameter limits.

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 'List forms in Marketo' with a specific verb and resource. It distinguishes itself from sibling tools like marketo_get_form_by_id (single form) and marketo_get_emails (different resource).

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 explains pagination and optional filtering, providing clear usage context. While it does not explicitly name alternatives, the purpose is straightforward for a list operation.

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

marketo_get_landing_page_by_idA

Get a single Marketo landing page by ID. Returns full LP metadata including template, URL, content sections, and form embeds.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLanding page ID

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description should fully disclose behavioral traits. It only states return content but does not mention authentication needs, rate limits, or potential errors. The description adds some value but 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?

Two concise sentences with no fluff. Front-loaded with purpose and returns. Every word is necessary.

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 retrieval tool with one parameter and no output schema, the description is adequate. It states what it does and what it returns. Could mention error scenarios or ID format, but overall complete enough.

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 the single parameter 'id'. The description adds no additional meaning beyond the schema, so baseline 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 uses specific verb 'Get' and resource 'single Marketo landing page by ID', and lists returned items (template, URL, content sections, form embeds). It clearly distinguishes from sibling tool 'marketo_get_landing_pages' which implies listing.

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 use when you have a specific landing page ID, but does not explicitly state when to use or not use this tool, nor mention alternatives. Usage context is implied but not explicit.

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

marketo_get_landing_pagesA

List landing pages in Marketo. Supports pagination via maxReturn/offset and filtering by status (approved/draft). Returns LP metadata including URL, template, and mobile enablement status.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax landing pages to return (1-200, default 20)
offsetNoPagination offset
statusNoFilter by approval status

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. It implies a read operation by stating 'list' and 'returns metadata,' but does not explicitly declare that it is read-only or non-destructive. The side effects are not disclosed, but none are expected for a 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 brief (two sentences) and front-loaded with the purpose. It efficiently conveys the essential functionality without 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?

With no output schema, the description compensates by specifying return fields (URL, template, mobile enablement status). It is adequate for a listing tool but could be more comprehensive about all fields returned.

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 covers 100% of parameters with descriptions. The description reiterates the pagination and filtering capabilities, adding grouping context (e.g., maxReturn and offset as pagination) but no new semantic meaning beyond the schema.

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: 'List landing pages in Marketo,' with a specific verb and resource. It distinguishes from the sibling tool `marketo_get_landing_page_by_id` by indicating it returns multiple pages, not a single one.

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 mentions pagination and filtering options, implying when to use them, but does not explicitly state when to prefer this tool over alternatives like `marketo_get_landing_page_by_id` or other listing tools.

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

marketo_get_lead_activitiesA

Get activity log for a specific lead. Filter by activity type IDs (e.g. 1=Visit Web Page, 6=Send Email). Supports pagination via nextPageToken. Returns timestamped activity records.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYesLead ID to get activities for
activityTypeIdsNoFilter to specific activity type IDs
nextPageTokenNoPagination token from previous response
batchSizeNoNumber of results per page (max 300)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided; the description says it 'Get activity log' and 'Returns timestamped activity records' but does not disclose read-only nature, authentication needs, rate limits, or side effects, leaving transparency minimal.

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 front-load the main purpose and efficiently add filtering and pagination details without fluff.

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?

Despite no output schema, the description mentions 'timestamped activity records' but lacks detailed return format. For a tool with four parameters, it is adequate but not fully comprehensive.

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?

With 100% schema coverage, the description adds value by providing examples for activityTypeIds (e.g., 1=Visit Web Page) and clarifying pagination use, going beyond the raw schema.

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 'Get activity log for a specific lead' with additional details on filtering and pagination, distinguishing it from sibling tools like lead creation or email cloning.

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 mentions filtering by activity type IDs and pagination, but lacks explicit when-not or alternative tools. Usage context is clear but not exhaustive.

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

marketo_get_lead_by_emailA

Look up a lead by email address. Uses filterType=email on the leads endpoint. Returns matching lead records.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to search for
fieldsNoList of field API names to return

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 full burden for behavioral disclosure. It fails to mention side effects, rate limits, permissions, or data freshness. Being a read operation is implied but not stated explicitly.

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 clearly convey purpose and implementation detail. No fluff, front-loaded with the main action. Achieves maximal density for the given information.

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 no output schema, the description does not explain return format, pagination, or error cases. For a simple lookup, this may be adequate, but lacks completeness for an agent to fully anticipate behavior.

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?

Input schema has 100% description coverage, so baseline is 3. Description adds minimal value beyond schema by noting 'Uses filterType=email' but does not explain the meaning or constraints of the 'fields' parameter in any actionable way.

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: 'Look up a lead by email address.' This is a specific verb-resource pair and distinguishes from sibling 'marketo_get_lead_by_id' which uses ID instead of email.

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 email-based lookups but does not explicitly state when to use this tool over alternatives like 'marketo_get_lead_by_id' or 'marketo_create_or_update_leads'. No guidance on prerequisites or appropriate contexts is provided.

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

marketo_get_lead_by_idA

Get a single lead by Marketo lead ID. Optionally specify which fields to return. Returns lead record with all requested fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMarketo lead ID
fieldsNoList of field API names to return (e.g. ['email','firstName','company'])

TDQS

A3.8/5.0
Behavior3/5

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

Describes read-only behavior ('Get'), but does not mention error handling (e.g., if ID not found) or any side effects. No annotations provided, so description carries burden but is minimal.

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, 22 words, front-loaded with purpose. Every sentence adds value without waste.

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 lookup tool with no output schema or annotations, the description covers the basic function and inputs. Minor omission: no mention of return format or error behavior (e.g., null if not found).

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 baseline is 3. Description adds no extra meaning beyond schema: 'Optionally specify which fields' repeats schema info. No clarification on default return fields.

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?

Clearly states verb 'Get', resource 'single lead', and input 'Marketo lead ID'. Differentiates from sibling tools like marketo_get_lead_by_email by specifying the identifier type.

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?

No explicit guidance on when to use this tool vs alternatives (e.g., by email vs ID) or prerequisites. Implicit from purpose but lacks exclusion criteria.

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

marketo_get_lead_listsB

Get leads that are members of a specific static list. Supports pagination via nextPageToken and batchSize.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesStatic list ID
fieldsNoLead field API names to return
batchSizeNoNumber of results per page (max 300)
nextPageTokenNoPagination token from previous response

TDQS

B3.4/5.0
Behavior2/5

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

Bare minimum disclosure: mentions pagination but lacks details on response format, error handling, rate limits, or idempotency. No annotations to supplement.

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, front-loaded with purpose. No unnecessary 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?

Despite low complexity, description omits return value, error conditions, and pagination workflow. No output schema or annotations to fill 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?

Input schema has 100% description coverage, so baseline is 3. Description adds no new parameter semantics beyond rephrasing pagination support. No additional context for fields or usage.

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?

Clearly states 'Get leads that are members of a specific static list', specifying the verb and resource. Distinguishes from siblings like marketo_get_program_members and marketo_get_smart_lists by focusing on static list membership.

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?

Implicitly indicates usage for retrieving members of a static list, but does not explicitly guide when to use over siblings or mention prerequisites or exclusions.

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

marketo_get_program_by_idA

Get a single Marketo program by ID. Returns full program metadata including channel, status, costs, tags, and folder location.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProgram ID

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 must disclose behavioral traits. It states it returns metadata but does not explicitly state it is read-only, mention authentication needs, or describe error behavior. However, for a simple retrieval, it provides adequate 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?

Two sentences, no unnecessary words. The main action is front-loaded and every sentence adds value.

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?

The description explains what the tool does and what it returns, which is sufficient for a simple get-by-ID operation. It lacks information about error handling or limitations, but the context is well covered given the low 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?

The input schema covers the single parameter 'id' with description 'Program ID' (100% coverage). The description adds context by listing returned fields, but does not add significant parameter semantics 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 clearly states the action ('Get'), the resource ('a single Marketo program by ID'), and the output ('full program metadata including channel, status, costs, tags, and folder location'). It distinguishes from sibling tools like 'marketo_get_programs' which retrieves multiple programs.

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 that the tool should be used when you have a program ID, but it does not provide explicit when-to-use guidance, mention prerequisites, or differentiate from alternatives like 'marketo_get_programs'.

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

marketo_get_program_membersA

Get members (leads) of a Marketo program. Supports pagination via nextPageToken and batchSize. Optionally specify which lead fields to return.

ParametersJSON Schema
NameRequiredDescriptionDefault
programIdYesProgram ID
fieldsNoLead field API names to return
batchSizeNoNumber of results per page (max 300)
nextPageTokenNoPagination token from previous response

TDQS

A3.6/5.0
Behavior3/5

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

The description notes pagination support and optional field selection, but these are already detailed in the schema. No annotations are provided, so the description carries the burden; it does not disclose potential side effects, rate limits, or authentication needs.

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 core purpose, and efficient. Every sentence adds value without redundancy.

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?

The description covers the core functionality and pagination, but lacks typical usage examples or response structure hints. Given no output schema, some additional context on expected return format would improve 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?

Schema description coverage is 100%, with each parameter already described. The description restates pagination and optional fields without adding new semantic information beyond the schema, so baseline 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 tool retrieves members (leads) of a Marketo program, specifying verb 'get' and resource 'members of a program'. It is distinct from sibling tools like get_programs or get_lead_by_id.

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 such as get_lead_by_id or get_programs. There is no mention of prerequisites or contexts 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.

marketo_get_programsA

List programs in Marketo. Supports pagination (maxReturn/offset), filtering by type (filterType: id/programType/folder/tag), and date range filtering. Returns program metadata including status, channel, costs, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax programs to return (1-200, default 20)
offsetNoPagination offset
filterTypeNoFilter type: id, programType, folder, or tag
filterValuesNoComma-separated filter values
earliestUpdatedAtNoISO 8601 datetime — only programs updated after this
latestUpdatedAtNoISO 8601 datetime — only programs updated before this

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It mentions pagination, filtering, and return content, which is adequate for a read operation. However, it does not address rate limits, authentication needs, or any restrictions beyond the schema.

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 every word adds value. No unnecessary repetition or filler.

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 no output schema and no annotations, the description covers main functionality. However, it omits error handling, default behavior for missing parameters, and potential data limits, leaving some 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?

Schema coverage is 100%, baseline 3. The description reinforces schema details like pagination parameters and filter types, but adds no new semantic meaning beyond what the schema already 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 clearly states the tool lists Marketo programs, mentions key features like pagination, filtering, and returned metadata. It distinguishes from sibling tools like get_program_by_id, 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.

Usage Guidelines3/5

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

The description outlines supported operations but does not explicitly state when to use this tool versus alternatives like get_program_by_id. It lacks guidance on when not to use it or prerequisites.

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

marketo_get_smart_list_by_idA

Get a single Marketo smart list by ID. Returns full smart list metadata including filter definitions and rule logic.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSmart list ID

TDQS

A3.6/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. It only describes the return content but does not disclose behavioral traits such as read-only nature, required permissions, rate limits, or potential 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 two sentences with no extraneous information. The first sentence states the purpose, and the second expands on the return value. It is front-loaded and efficient.

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 single-parameter tool with no output schema, the description covers the purpose and return contents ('filter definitions and rule logic'). It differentiates from siblings and provides adequate context, though it could mention use cases like debugging or reading smart list details.

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 describes the 'id' parameter as 'Smart list ID' with 100% coverage. The description does not add any additional meaning about the parameter beyond what the schema provides. Baseline 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 action ('Get'), the resource ('single Marketo smart list by ID'), and the output ('full smart list metadata including filter definitions and rule logic'). This distinguishes it from sibling 'marketo_get_smart_lists' which lists multiple.

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 when needing a specific smart list by ID, but does not explicitly state when to use this tool versus alternatives like 'marketo_get_smart_lists' or provide any when-not-to-use guidance.

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

marketo_get_smart_listsA

List smart lists in Marketo. Returns smart list metadata including name, folder, created/updated dates, and filter rules summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNoMax smart lists to return (1-200, default 20)
offsetNoPagination offset

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided; description correctly implies a read operation but does not disclose pagination behavior or default values, which are only in the schema.

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: one for action, one for return content. No redundant information.

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?

No output schema, but description lists return fields adequately. However, lacks mention of pagination behavior or typical use cases for the offset parameter.

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 description adds little to parameter understanding beyond restating the schema'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?

Clear verb 'List' and resource 'smart lists', with explicit return fields (name, folder, dates, filter rules). Distinguishes from sibling tools like marketo_get_smart_list_by_id.

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 explicit guidance on when to use this tool vs alternatives. While siblings include a get-by-id variant, the description does not mention selection criteria or limitations.

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

marketo_remove_leads_from_listA

Remove one or more leads from a static list by lead IDs. Max 300 leads per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesStatic list ID
leadIdsYesArray of lead IDs to remove (max 300)

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. It states the operation is a removal and mentions a 300-lead limit, but lacks details on reversibility, authorization, error handling, or response format.

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 key information, and contains no redundant or extraneous words.

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 description is adequate for a simple removal operation but lacks information on error handling, idempotency, and return values. Given no output schema, more context would be beneficial.

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% and schema descriptions already include the max 300 leads constraint. The description adds no new meaning beyond what the schema provides, so baseline score 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 action (remove), resource (leads from a static list), and method (by lead IDs). It distinguishes from the sibling tool 'marketo_add_leads_to_list' which performs the opposite operation.

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 removing leads but does not explicitly state when to use or when not to use it. No mention of alternatives or prerequisites, though the sibling tool provides contrast.

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

marketo_send_sampleA

Send a sample/test email to an email address. Optionally render personalization tokens using a specific lead's data. Useful for QA before approving.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesEmail asset ID
emailAddressYesRecipient email address for the sample
textOnlyNoSend text-only version
leadIdNoLead ID whose data to use for token rendering

TDQS

A3.9/5.0
Behavior3/5

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

Discloses that token rendering is optional using a lead ID. However, with no annotations, it fails to mention whether the action is destructive, if it modifies any state, or what the response includes. The 'sample/test' label implies non-destructive but is not confirmed.

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?

Extremely concise: two sentences covering the action, optional feature, and use case. No redundant words or unnecessary detail.

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?

Lacks information about return values or errors, especially since no output schema exists. The description could hint at outcome confirmation. However, the core functionality is covered adequately for a simple send action.

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?

Input schema has 100% coverage with descriptions for all 4 parameters. The description adds no additional semantic value beyond the schema, so 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?

Clearly states the action (send a sample/test email) and the optional ability to render tokens. Distinct from sibling tools which are mostly get/clone operations. The QA use case is explicitly mentioned, leaving no ambiguity.

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?

Explicitly identifies the tool as useful for QA before approving. While it doesn't state when not to use or list alternatives, the context is sufficient given no other sample send tool exists among siblings.

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.

  1. 32 tool updatesv1.0.0
    • First observedmarketo_add_leads_to_list
    • First observedmarketo_approve_form
    • First observedmarketo_clone_email
    • First observedmarketo_clone_form
    • First observedmarketo_clone_landing_page
    • First observedmarketo_clone_program
    • First observedmarketo_create_bulk_export_leads
    • First observedmarketo_create_channel
    • First observedmarketo_create_or_update_leads
    • First observedmarketo_delete_lead
    • First observedmarketo_enqueue_bulk_export
    • First observedmarketo_get_bulk_export_file
    • First observedmarketo_get_bulk_export_status
    • First observedmarketo_get_channel_by_id
    • First observedmarketo_get_channels
    • First observedmarketo_get_email_by_id
    • First observedmarketo_get_emails
    • First observedmarketo_get_form_by_id
    • First observedmarketo_get_forms
    • First observedmarketo_get_landing_page_by_id
    • First observedmarketo_get_landing_pages
    • First observedmarketo_get_lead_activities
    • First observedmarketo_get_lead_by_email
    • First observedmarketo_get_lead_by_id
    • First observedmarketo_get_lead_lists
    • First observedmarketo_get_program_by_id
    • First observedmarketo_get_program_members
    • First observedmarketo_get_programs
    • First observedmarketo_get_smart_list_by_id
    • First observedmarketo_get_smart_lists
    • First observedmarketo_remove_leads_from_list
    • First observedmarketo_send_sample

TDQS

A3.8/5.0

Scored across 32 tools

Disambiguation5/5

Each tool has a clear, distinct purpose targeting a specific Marketo resource and action. There is no ambiguity between tools like marketo_get_email_by_id and marketo_get_emails, or between create, clone, add, remove, and delete operations.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern prefixed with 'marketo_'. Verbs are lowercase and nouns are descriptive. For example, marketo_get_lead_by_id, marketo_create_or_update_leads, marketo_add_leads_to_list. No mixing of conventions.

Tool Count4/5

With 32 tools, the server covers a broad domain (leads, lists, emails, forms, landing pages, programs, channels, smart lists, bulk exports). While slightly above the typical 3-15 range, the complexity of Marketo justifies the count, and each tool serves a specific function.

Completeness3/5

The server covers core CRUD for leads and lists, asset management for emails, forms, and landing pages, and program/channel operations. However, notable gaps exist: no direct update for assets (only clone and approve), no program creation/deletion, and no list management beyond add/remove. Bulk export is well-covered.

Maintenance

ActivityNo data
ResponsivenessSyncing

Related MCP Connectors