Skip to main content
Glama
alexleventer

Marketo MCP Server

by alexleventer

Marketo MCP Server

A Model Context Protocol server for Adobe Marketo Engage. Give Claude Desktop, Cursor, and other MCP-compatible clients direct, authenticated access to the Marketo REST API — read and write forms, smart lists, channels, leads, activities, and lists with natural language.

npm version License: ISC

Why

Marketing ops, growth, and RevOps teams spend hours clicking through the Marketo UI to clone a form, approve assets, look up a lead, or audit a smart list. The Marketo MCP Server wires those same REST API operations into an LLM agent, so you can say:

  • "Clone form 1234 into the Q2 Webinars folder and approve it."

  • "Show me recent activities for lead alex@example.com."

  • "Create a new email channel called 'Lifecycle Nurture'."

…and the model executes the actual Marketo API calls on your behalf.

Related MCP server: Dynamic Form MCP

Table of Contents

Features

  • Form management — list, inspect, clone, and approve forms via the Marketo Asset API

  • Smart list operations — list and inspect smart lists

  • Channel CRUD — create, read, update, and delete channels

  • Lead database — get leads by ID or email, create or update leads in bulk, delete leads

  • Activity & change logs — fetch activities and field changes for any lead

  • List membership — add or remove leads from static lists

  • Program management — list, inspect, clone programs and retrieve program members

  • Email operations — list, inspect, and send sample emails for QA

  • Automatic auth — OAuth 2.0 client-credentials flow with token caching & refresh

  • Stdio transport — works out of the box with Claude Desktop, Cursor, and any MCP client that speaks stdio

Quick start

npx -y @smithery/cli install @alexleventer/marketo-mcp --client claude

Follow the prompts to paste in your Marketo base URL, client ID, and client secret.

Option B — npx (no install)

Add the following to your MCP client's config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["-y", "marketo-mcp"],
      "env": {
        "MARKETO_BASE_URL": "https://123-ABC-456.mktorest.com/rest",
        "MARKETO_CLIENT_ID": "your-client-id",
        "MARKETO_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Option C — from source

git clone https://github.com/alexleventer/marketo-mcp.git
cd marketo-mcp
npm install
npm run build

Copy the config block printed by the build into your MCP client.

Prerequisites

  • Node.js 18 or higher

  • Marketo API credentials (client ID & client secret from a LaunchPoint service)

  • A Marketo instance with REST API access enabled

  • An MCP-compatible clientClaude Desktop, Cursor, Cline, or any other

Obtaining Marketo API credentials

  1. Log into Marketo admin

  2. Admin → Integration → LaunchPoint

  3. New → New Service, set service type to Custom and pick a display name (e.g. MCP Server)

  4. Assign an API-only user with the permissions you need (Read-Only Assets, Read-Write Lead, etc.)

  5. Save the Client ID and Client Secret

  6. Your base URL is under Admin → Integration → Web Services → REST API Endpoint (strip /rest/v1/* — keep just https://<munchkin>.mktorest.com/rest)

Configuration

All configuration is via environment variables:

Variable

Required

Description

MARKETO_BASE_URL

yes

Your REST endpoint, e.g. https://123-ABC-456.mktorest.com/rest

MARKETO_CLIENT_ID

yes

LaunchPoint service client ID

MARKETO_CLIENT_SECRET

yes

LaunchPoint service client secret

Copy .env.example to .env for local development.

Available tools

Tool

Description

marketo_get_forms

List forms (filter by `status: draft

marketo_get_form_by_id

Get a single form by ID

marketo_clone_form

Clone a form into a destination folder

marketo_approve_form

Approve a draft form

marketo_get_smart_lists

List smart lists

marketo_get_smart_list_by_id

Get a smart list by ID

marketo_get_channels

List channels

marketo_get_channel_by_id

Get a channel by ID

marketo_create_channel

Create a new channel

marketo_update_channel

Update an existing channel

marketo_delete_channel

Delete a channel

marketo_get_lead_by_id

Get a lead by numeric ID

marketo_get_lead_by_email

Look up a lead by email address (filter API)

marketo_create_or_update_lead

Bulk create or update leads (max 300 per call)

marketo_delete_lead

Delete a lead

marketo_get_lead_activities

Fetch activities for a lead (paginated)

marketo_get_lead_changes

Fetch field-change history for a lead

marketo_get_lead_lists

Get lists that a lead belongs to

marketo_add_lead_to_list

Add leads to a static list

marketo_remove_lead_from_list

Remove leads from a static list

marketo_get_programs

List programs (filter by type, folder, tag, or date range)

marketo_get_program_by_id

Get a program by ID

marketo_clone_program

Clone a program and all its local assets into a folder

marketo_get_program_members

Get leads that are members of a program

marketo_get_emails

List emails (filter by status)

marketo_get_email_by_id

Get an email by ID

marketo_send_sample_email

Send a sample/preview email for QA

Each tool accepts typed arguments validated with zod and returns the raw Marketo JSON response. See the Adobe Marketo REST API reference for field-level details.

Usage with Claude Desktop

  1. Install Claude Desktop

  2. Open the config at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

  3. Paste the mcpServers block from Quick start

  4. Restart Claude Desktop

Usage with Cursor / other MCP clients

Any MCP client that supports stdio servers will work. Point it at the built binary:

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["-y", "marketo-mcp"],
      "env": { "MARKETO_BASE_URL": "...", "MARKETO_CLIENT_ID": "...", "MARKETO_CLIENT_SECRET": "..." }
    }
  }
}

Rate limits

Marketo enforces several API rate limits. Keep these in mind when running batch operations:

Limit

Value

Short-term

100 calls per 20 seconds per instance

Daily

50,000 calls per day

Concurrent

10 simultaneous connections

Bulk import

10 MB per file, 10 concurrent jobs

Bulk export

500 MB per day, 2 concurrent jobs

If you hit 606 Max rate limit reached, wait 20 seconds before retrying. The Marketo REST API returns a Retry-After header in some cases.

Troubleshooting

Symptom

Likely cause

Failed to authenticate with Marketo

Wrong client ID/secret, or REST API not enabled for the LaunchPoint user

403 Access Denied

The API-only user lacks the role for that endpoint (e.g. Asset API vs Lead Database API)

606 Max rate limit reached

Marketo caps at 100 calls / 20s / instance — batch calls and add delays

610 Requested resource not found

The folder/form/lead ID doesn't exist or is in a different workspace

Auth works, but requests hang

Double-check MARKETO_BASE_URL has no trailing slash and ends with /rest

You can inspect tool calls locally with the MCP inspector:

npm run inspector

Development

src/
├── index.ts       # MCP server + all tool registrations
├── auth.ts        # OAuth token manager (caches until expiry)
└── constants.ts   # Env var bindings
npm run dev          # Run with ts-node + .env
npm run typecheck    # Type-check without emit
npm run lint         # ESLint
npm run format       # Prettier
npm run build        # Compile to build/

Contributing

Issues and pull requests welcome at github.com/alexleventer/marketo-mcp.

  1. Fork the repo

  2. Create a feature branch

  3. npm run lint && npm run typecheck

  4. Open a PR

License

ISC — see LICENSE.


Keywords: marketo mcp server, marketo model context protocol, marketo claude, marketo ai, adobe marketo mcp, marketo api claude desktop, marketo automation llm, marketo engage mcp

Available Tools

27 tools
marketo_add_lead_to_listA

Add one or more leads to a static list by list ID. Accepts an array of lead IDs. Max 300 leads per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYes
leadIdsYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses important behavioral traits: accepts array of IDs and a maximum of 300 leads per call. However, it does not mention idempotency, error handling, or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous words. The first sentence states the core purpose, the second adds key context (array format and limit). All content is essential.

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

Completeness4/5

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

Given no output schema and no annotations, the description covers the main aspects: purpose, parameters, and a critical limit. It lacks return value info and error conditions, but for a simple add operation it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description adds meaning by explaining that listId identifies a static list and leadIds is an array of lead IDs. This matches the required parameters and clarifies their purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (add), the resource (leads to a static list), the input method (by list ID), and key details (accepts array, max 300). This differentiates it from siblings like marketo_remove_lead_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 Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention scenarios to avoid (e.g., dynamic lists, batches over 300). It only describes the operation.

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

marketo_approve_formB

Approve a draft form, making it available for use in landing pages and embeds. Optionally include an approval comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYes
commentNo

TDQS

B3.2/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 only says 'making it available' but omits details like permissions required, irreversibility, or what happens if form is already approved.

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 redundant information, front-loaded with the core action and effect. Efficient and scannable.

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

Completeness3/5

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

For a simple approve action, description covers basics but lacks context on edge cases (e.g., form not in draft) and return value. No output schema further limits completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage. The description adds minimal meaning beyond the schema: 'optionally include an approval comment' repeats comment's optionality; formId is not described. No parameter details like format or constraints.

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 a draft form') and the effect ('making it available for use in landing pages and embeds'), distinguishing it from siblings like marketo_clone_form or marketo_get_form_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 on when to use this tool vs alternatives (e.g., when form is not in draft, or when to use marketo_clone_form). No exclusions or prerequisites mentioned.

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 form into a destination folder. The cloned form is created in draft status and must be approved before use.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYes
nameYes
descriptionNo
folderIdYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description correctly discloses that the result is in draft status and requires approval. This adds behavioral context beyond what the schema provides. No contradictions are present.

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: the first covers the primary action and target, the second adds a critical behavioral note. No extraneous content.

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

Completeness2/5

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

The description lacks information about return values, error conditions, or success/failure indicators. Given the absence of an output schema and low parameter documentation, the description does not provide sufficient context for complete tool understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage. The tool description only mentions 'destination folder' without explaining each parameter's meaning (e.g., formId, name, description, folderId). This leaves the agent to infer from parameter names alone.

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'), resource ('existing form'), and target ('destination folder'). It distinguishes itself from sibling tools like marketo_approve_form or marketo_get_form_by_id by specifying the cloning 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 notes that the clone is created in draft status and must be approved, implying a workflow with marketo_approve_form. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide 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_clone_programA

Clone an existing program into a destination folder. Clones all local assets (emails, landing pages, smart campaigns) within the program. The cloned program is created with the same channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
programIdYes
nameYes
folderIdYes
descriptionNo

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavioral traits. It explains that all local assets are cloned and the channel is preserved, but it does not address potential side effects (e.g., whether program memberships are cloned), required permissions, or rate limits. The description lacks depth beyond the core functionality.

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 three sentences long, each sentence adding distinct value: purpose, scope of cloning, and channel preservation. It is front-loaded with the essential verb and resource, and no extraneous information is present.

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 covers the input scope well but omits important details such as the return value (e.g., the new program's ID) and error conditions (e.g., what happens if the source program does not exist). Given that there is no output schema, the description should provide minimal expectations for the response.

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 0% description coverage, placing the burden on the description. While the description implies the roles of programId (source program) and folderId (destination folder), it does not explicitly define name or description parameters. The meaning of these parameters is left to inference, which is insufficient for a schema with no additional documentation.

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'), the resource ('existing program'), the destination ('destination folder'), and specifies what content is cloned ('local assets such as emails, landing pages, smart campaigns'). It also mentions the cloned program retains the same channel. This effectively distinguishes it from sibling tools like marketo_clone_form or 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 Guidelines4/5

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

The description implies usage for duplicating an existing program, which contrasts with creating a new program from scratch (no create program tool exists among siblings). However, it does not explicitly state when to use this tool versus cloning a specific form (marketo_clone_form) or other alternatives, nor does it mention prerequisites.

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

marketo_create_channelA

Create a new program channel. Channels must have a unique name and type. The type determines which program types can use this channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo
typeYes
applicationIdNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that channels must have unique name and type, and that type determines program type compatibility. However, it lacks details on error handling, idempotency, or side effects of creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-loaded with purpose, no unnecessary words. Efficient and to the point.

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 4 parameters with 0% coverage, the description covers critical constraints but omits response format and optional parameter purpose. It is minimally complete for a simple create tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must explain parameters. It adds meaning for 'name' and 'type' (unique constraints, type's role) but does not address 'description' or 'applicationId', leaving half the parameters undefined.

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 'Create a new program channel' with a specific verb and resource. It also adds constraints (unique name and type, type determines program types) that distinguish it from sibling tools that read, update, or delete channels.

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 implicitly indicates use when creating a new channel. Sibling tool names clearly differentiate read (get_channels, get_channel_by_id), update, and delete operations, providing context without explicit when-not statements.

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_leadA

Bulk create or update leads (upsert). Accepts an array of lead records with standard and custom fields. Deduplicates by lookupField (default: email). Max 300 leads per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
lookupFieldNo
partitionNameNo

TDQS

A3.9/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 discloses upsert behavior, dedup logic, and batch limit, but lacks details on merge semantics for existing fields, authorization needs, rate limits, or error handling. Adequate but could be richer.

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 action 'upsert'. Every word adds value: verb, resource, limit, dedup key. No redundancy.

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?

Missing output schema and annotations, the description covers input and constraints but omits response format (e.g., success/error status for each lead) and partial failure behavior. It is adequate for a simple batch tool but not fully 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 description coverage is 0%, so the description must compensate. It explains the 'input' parameter as an array of lead records with standard and custom fields, and mentions lookupField and default email. However, it does not detail 'partitionName' or customFields structure, leaving gaps.

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 'Bulk create or update leads (upsert)' and specifies accepting arrays with standard/custom fields, dedup by lookupField, and max 300 leads. This distinctly separates it from sibling tools like marketo_add_lead_to_list or marketo_delete_lead.

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 explicitly indicates when to use this tool (for upserting leads) and provides constraints (max 300 per call). It implicitly suggests batch usage, but does not explicitly state when not to use it or mention alternatives, though sibling list provides context.

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

marketo_delete_channelA

Delete a channel by ID. Fails if any programs are currently using this channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes

TDQS

A3.7/5.0
Behavior3/5

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

Discloses that deletion fails if programs use the channel. No other behavioral traits like irreversibility, permissions, or side effects. With no annotations, more details would be beneficial.

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. Front-loaded with verb and resource.

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 delete tool with one parameter, the description covers the key failure condition. Missing details on return value or confirmation, but adequate given tool simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no information about the channelId parameter beyond what the schema provides ('by ID'). With 0% schema description coverage, the description should compensate but does not.

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?

Explicit verb 'Delete' with resource 'channel by ID'. Includes crucial constraint about program usage, distinguishing it from marketo_create_channel, marketo_update_channel, 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?

Mentions failure condition (programs using channel) but does not explicitly state when to use versus alternatives or recommend checking channel usage first.

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

marketo_delete_leadA

Permanently delete a lead by its numeric ID. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description must carry the burden of behavioral disclosure. It correctly flags the destructive nature ('permanently delete', 'cannot be undone'), but lacks additional transparency about permissions, side effects, or response behavior.

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 extremely concise—two sentences with no extraneous words. Every sentence serves a purpose: stating the action and emphasizing irreversibility.

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

Completeness4/5

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

Given the simplicity of the tool (one parameter, no output schema), the description provides adequate context: what it does, how to identify the lead, and the permanence. Minor gaps exist (e.g., no explanation of the response), but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% parameter description coverage, and the description merely reiterates that the ID is numeric. It adds minimal value beyond the schema's type constraint, failing to explain the format or valid range of the leadId.

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 (delete), the resource (lead), and the method (by numeric ID). It distinguishes the tool from siblings like marketo_get_lead_by_id and marketo_create_or_update_lead, which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. While it warns about permanence ('cannot be undone'), it does not offer context about prerequisites, typical use cases, or when not to use it.

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

marketo_get_channel_by_idA

Retrieve a single channel by its numeric ID. Returns the channel definition including progression statuses and their success mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description indicates a read operation ('Retrieve', 'Returns') and describes the return shape. However, it does not mention error conditions, authentication needs, or what happens if the channel ID is invalid, which could be important for an agent.

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, well-structured sentence that conveys the essential information without extraneous words. Every part is meaningful.

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 retrieval tool, the description covers purpose and return shape. It would benefit from mentioning error behavior or permissions, but overall it is adequate given the tool's simplicity and lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the only parameter 'channelId'. The description merely calls it a 'numeric ID', which is redundant with the schema type (number). No additional semantic or constraints are 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 tool retrieves a single channel by numeric ID, and specifies it returns progression statuses and success mappings. This distinguishes it from sibling like marketo_get_channels which 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?

The description implies usage when you have a channel ID, but does not explicitly state when to use this over alternatives or list prerequisites. Usage is clear from name and description but lacks explicit guidance.

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

marketo_get_channelsB

List all program channels in the instance. Channels define the progression statuses available to programs (e.g., Webinar: Invited > Registered > Attended).

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNo
offsetNo

TDQS

B3/5.0
Behavior2/5

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

No annotations provided. Description indicates a read operation but does not mention pagination or performance implications despite input schema having maxReturn and offset.

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?

Two concise sentences with no fluff, though could benefit from brief parameter notes.

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?

Missing output schema and parameter details; for a simple list tool it's acceptable but incomplete for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0% parameter description coverage and the description does not explain maxReturn or offset parameters, leaving the agent to infer their meaning.

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?

Explicitly states 'List all program channels in the instance' and explains what channels are, clearly differentiating from create/delete/update siblings.

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 guidance on when to use this vs get_channel_by_id or other list tools.

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

Retrieve a single email by its numeric ID. Returns full email metadata including subject, from address, reply-to, template, and folder location.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It states it returns metadata, implying a read-only operation, but does not explicitly confirm safety, permissions, or rate limits. Adequate but lacks explicit behavioral disclosure.

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?

Very concise single sentence that front-loads the action. However, could be slightly more structured by separating purpose and return fields.

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

Completeness4/5

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

Given no output schema, description lists key return fields (subject, from address, etc.), providing enough context for a simple retrieval. Lacks error handling or response format details, but acceptable for a straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the parameter 'emailId'; the description adds only 'numeric ID', which is already evident from the type. Does not explain where to obtain the ID or any constraints beyond numeric type.

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 identifies the action (retrieve), the resource (a single email by numeric ID), and distinguishes from siblings like 'marketo_get_emails' by specifying it returns full metadata for one 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?

Implies usage when you have a numeric ID, but does not explicitly state when to use this vs. alternatives like 'marketo_get_emails' for listing or 'marketo_send_sample_email' for sending. No 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_emailsA

List email assets in Marketo. Filter by approval status (approved/draft) and paginate with maxReturn/offset. Returns email metadata including subject line, from address, and template ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNo
offsetNo
statusNo

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description lists return fields (subject, from, template ID) but doesn't explicitly state read-only nature or other behavioral traits like authentication or rate limits.

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 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?

Returns field info compensates for no output schema; covers filtering and pagination; could mention scope (all emails?), but sufficient for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; description adds meaning for status (approved/draft) and mentions pagination, but does not fully explain maxReturn and offset behavior.

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 'List email assets in Marketo' with a specific verb and resource. Distinguishes from sibling tools like marketo_get_email_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 Guidelines4/5

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

Implicitly tells when to use for listing emails with filtering and pagination, but lacks explicit comparison to alternatives or when not to use.

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

Retrieve a single form by its numeric ID. Returns full form metadata including fields, submit button, and thank-you page configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
formIdYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must self-disclose behavioral traits. It states the output is 'full form metadata' but does not mention error behavior (e.g., if ID is invalid), side effects (none expected), or any operational constraints. For a simple read operation, this is minimally adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is direct and front-loaded. No redundant or extraneous information. Every word serves a purpose.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description adequately covers purpose, input, and output. Missing elements like error handling are minor for a getter. Slightly incomplete due to lack of usage context but sufficient for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds 'by its numeric ID' which reiterates the schema's type constraint. No additional meaning about the parameter's format, validation, or relationship to other data 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 action ('Retrieve'), the resource ('single form'), the identifier ('by its numeric ID'), and the output ('full form metadata'). It distinguishes itself from the sibling 'marketo_get_forms' (which returns multiple forms) and other getters like 'marketo_get_email_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 on when to use this tool versus alternatives (e.g., 'marketo_get_forms' for listing forms, or other ID-based retrievers). Does not specify prerequisites, exclusions, or when-not-to-use scenarios.

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 the Marketo instance. Filter by approval status (approved/draft) and paginate with maxReturn/offset. Returns form metadata including URL, status, and folder location.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNo
offsetNo
statusNo

TDQS

A4.3/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 describes the operation as listing (read-like) but does not explicitly state it is non-destructive, safe, or idempotent. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the main action and cover purpose, filtering, pagination, and output. No wasted words.

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

Completeness4/5

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

Given no output schema, description mentions returned fields (URL, status, folder location). Covers purpose and parameters well, though could mention default pagination values or rate limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully explains all three parameters: status (approved/draft), maxReturn and offset for pagination. Provides meaning beyond 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?

Description clearly states the verb 'list' and resource 'forms' with scope 'Marketo instance'. It distinguishes from siblings like marketo_get_form_by_id by implying a list vs. specific form retrieval.

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 use for listing forms with filtering and pagination, but does not explicitly contrast with sibling tools like marketo_get_form_by_id. Clear context but lacks explicit when-not-to-use.

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

Fetch activity records for a specific lead. Filter by activity type IDs (e.g., 1=Visit Webpage, 2=Fill Out Form, 6=Send Email). Supports cursor-based pagination via nextPageToken.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes
activityTypeIdsNo
nextPageTokenNo
batchSizeNo

TDQS

A4.1/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 burden. It discloses cursor-based pagination via nextPageToken but does not mention error handling, rate limits, or ordering. Reasonably 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 are front-loaded: first declares purpose, second adds filtering and pagination. No redundant or verbose language.

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

Completeness3/5

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

For a tool with 4 parameters (1 required) and no output schema, the description explains three parameters but omits batchSize and does not describe the response format or limits. Adequate but with gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description compensates by explaining activityTypeIds (with examples) and nextPageToken for pagination. However, batchSize is not explained, and leadId's purpose is implied. Adds significant 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?

Description clearly states 'Fetch activity records for a specific lead' with a specific verb and resource. It distinguishes from sibling tools like marketo_get_lead_by_id and marketo_get_lead_changes by focusing on activities.

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 mentions filtering by activity type IDs and cursor-based pagination, providing clear usage context. It does not explicitly state when not to use or mention alternatives, but the context is adequate.

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_emailB

Look up a lead by email address using the Marketo leads filter API. Optionally specify which fields to return. Returns matching lead records.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
fieldsNo

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should fully disclose behavioral traits. It mentions 'using the Marketo leads filter API' but does not address rate limits, authentication, error handling for missing emails, or duplicate handling. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded. However, it could be slightly more efficient by merging the second and third sentences.

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?

No output schema exists, and the description omits return format, error scenarios, and pagination. For a lookup tool with sibling mutation tools, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It only states 'Optionally specify which fields to return,' adding minimal value. No explanation of valid fields or format 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 tool's function: 'Look up a lead by email address' using the Marketo API, with optional field selection and returning matching records. This distinguishes it from siblings like 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 for retrieving a lead by email but offers no explicit guidance on when to use this tool versus alternatives like get_lead_by_id or create_or_update_lead.

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_idB

Retrieve a lead by its numeric Marketo ID. Optionally specify which fields to return (defaults to standard fields). Returns lead record with all requested field values.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes
fieldsNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It indicates a read operation ('Retrieve') but does not explicitly state that the tool is read-only or disclose any side effects, permissions, or error handling. Lacks transparency beyond the basic action.

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 extraneous information. Front-loaded with the primary purpose, and the second sentence adds relevant detail about parameter usage.

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

Completeness4/5

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

Given the simplicity of the tool (single lead retrieval with optional fields) and no output schema, the description covers the essential purpose and parameter semantics. Could be improved by mentioning response format or error behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning: it clarifies that 'fields' is optional and defaults to standard fields. This compensates for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (retrieve), resource (lead by numeric Marketo ID), and the optional fields feature. It is specific but does not explicitly differentiate from sibling tools like marketo_get_lead_by_email or marketo_get_lead_activities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_lead_by_email). No mention of prerequisites or conditions that would make this tool inappropriate.

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

marketo_get_lead_changesA

Fetch field-change history for a specific lead. Optionally filter to specific field names. Useful for auditing data changes and tracking lead lifecycle progression.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes
fieldsNo
nextPageTokenNo
batchSizeNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden. It correctly implies a read operation but does not detail pagination behavior, sorting, or date ranges. 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?

Two sentences, no filler. The first sentence states the core action, the second adds optional filtering and use cases. Efficient and front-loaded.

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

Completeness2/5

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

No output schema, yet the description does not mention what the response contains (e.g., list of changes with fields like timestamp, old/new values). Missing essential info for the agent to understand the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate. It explains 'leadId' and 'fields' filtering but omits 'nextPageToken' (pagination) and 'batchSize'. Only partial value added.

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 verb 'Fetch' and resource 'field-change history' are specific and clear. It distinguishes itself from siblings like marketo_get_lead_by_id (current state) and marketo_get_lead_activities (activities, not changes).

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?

States it's 'useful for auditing data changes and tracking lead lifecycle progression', providing clear context for when to use. It does not explicitly exclude cases, but the purpose is well-implied given sibling names.

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

marketo_get_lead_listsA

Get all static lists that a lead belongs to. Supports cursor-based pagination via nextPageToken. Returns list IDs and names.

ParametersJSON Schema
NameRequiredDescriptionDefault
leadIdYes
batchSizeNo
nextPageTokenNo

TDQS

A4.2/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 full burden. It mentions pagination and return fields but does not disclose side effects (likely read-only), error handling, or rate limits. 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?

Two concise sentences: first defines purpose, second adds pagination and output. No redundant words or extraneous 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?

Given simple tool (3 params, no output schema), description adequately covers purpose, pagination, and return shape. Could mention that lists are static only, but overall sufficient.

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 0% schema description coverage, the description adds meaning: 'Supports cursor-based pagination via nextPageToken' explains pagination, and 'Returns list IDs and names' hints at output. leadId is obvious, but batchSize is not explained.

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 all static lists that a lead belongs to', specifying the verb and resource. It distinguishes from siblings like marketo_get_lead_by_id or marketo_add_lead_to_list by focusing on 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 Guidelines4/5

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

The description implies usage for retrieving lists for a lead. It mentions pagination but does not explicitly state when not to use or compare to alternatives like marketo_get_lead_activities.

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

Retrieve a single program by its numeric ID. Returns full program metadata including channel, status, costs, tags, and folder path.

ParametersJSON Schema
NameRequiredDescriptionDefault
programIdYes

TDQS

A3.8/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. While it indicates a read operation (retrieve), it does not explicitly state no side effects, required permissions, or behavior on invalid IDs. The description is adequate but lacks explicit non-mutation confirmation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loading the core action and resource, then listing return elements. No superfluous words, making it efficient and easy to parse.

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

Completeness4/5

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

Given the low complexity (1 required param, no output schema), the description covers the main purpose, return content, and ID type. It could briefly mention error handling or permissions, but overall it is sufficiently complete for a simple retrieval 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 has one parameter (programId) with 0% description coverage. The description mentions 'by its numeric ID', adding minimal context that the ID is numeric, but does not fully describe the parameter’s purpose, constraints, or how to obtain it. More detail would be beneficial.

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 specifies the action (Retrieve), resource (single program), key identifier (numeric ID), and expected return content (full metadata with channel, status, costs, tags, folder path). This differentiates it from sibling tools like get_programs or get_program_members.

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 a specific program is needed, but it omits explicit guidance on when to use this tool versus alternatives, such as get_programs for listing all programs or get_program_members for members. No prerequisites, exclusions, or comparison to siblings are provided.

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 leads that are members of a specific program. Optionally specify which fields to return. Supports cursor-based pagination via nextPageToken. Returns member status alongside lead data.

ParametersJSON Schema
NameRequiredDescriptionDefault
programIdYes
fieldsNo
batchSizeNo
nextPageTokenNo

TDQS

A4.1/5.0
Behavior3/5

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

Mentions pagination and return data but lacks explicit read-only indication, rate limits, or side effects. No annotations to offset.

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?

21-word sentence packed with essential information 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?

Covers required and optional parameters, pagination, and return data. No output schema, but description adequately specifies output.

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?

Adds meaning for programId, fields, and nextPageToken beyond the schema. batchSize is not described but can be inferred from pagination context.

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 ('Get leads'), the resource ('members of a specific program'), and optional features (field selection, pagination). Distinguishes from siblings like marketo_get_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?

Tells when to use (get program members) and mentions options, but no exclusions, prerequisites, or alternatives for cases like leads not in a program.

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. Filter by type (filterType: id, programType, folder, tag) with filterValues, or by date range (earliestUpdatedAt/latestUpdatedAt). Paginate with maxReturn/offset. Returns program metadata including channel, status, costs, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNo
offsetNo
filterTypeNo
filterValuesNo
earliestUpdatedAtNo
latestUpdatedAtNo

TDQS

A4.2/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 fully convey behavioral traits. It correctly implies a read-only operation ('List programs') and mentions return data, but lacks details on authentication needs, rate limits, or potential side effects. The description is adequate but not richly transparent.

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 concise, comprising two efficient sentences. The first sentence states the primary action, and the second covers parameters and return data. No extraneous 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?

Given the tool has 6 parameters, no required fields, and no output schema, the description covers the main aspects: filtering, pagination, and return fields (channel, status, costs, tags). It misses details like sorting, error responses, or default pagination limits, but is reasonably complete for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the raw schema: it explains filterType's enumerated values (id, programType, folder, tag), the role of filterValues, date range parameters, and pagination controls. However, it omits details like value format or default behaviors, which slightly reduces clarity.

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 programs in Marketo' and details the filtering and pagination options, making the tool's purpose unambiguous. It distinguishes from siblings like get_program_by_id which retrieves a single program.

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 how to use the tool with filter types, values, date range, and pagination, but does not explicitly state when to use it over alternatives or when not to use it. The sibling list provides context but no direct 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_list_by_idA

Retrieve a single smart list by its numeric ID. Returns the smart list definition including filter rules and membership criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
smartListIdYes

TDQS

A3.6/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 full burden. It clarifies the return value includes filter rules and membership criteria, but does not state that it is a read-only operation, or disclose potential error states, rate limits, or permissions.

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 clearly communicate the action and the return content without any superfluous 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 the simplicity of the tool (single parameter, no annotations, no output schema), the description adequately covers purpose and basic return content. However, it lacks usage guidance and behavioral transparency, which are needed for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds minimal value: it confirms the ID is 'numeric', which is already evident from the schema type 'number'. No additional constraints, format, or examples are 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 uses the clear verb 'Retrieve' and specifies the resource 'a single smart list by its numeric ID'. It directly contrasts with the sibling tool 'marketo_get_smart_lists', which retrieves multiple lists, making the purpose distinct.

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 a specific numeric ID is known but does not explicitly state when to use this tool over alternatives like 'marketo_get_smart_lists' or how to obtain the ID. No exclusions or prerequisites are mentioned.

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 the Marketo instance. Paginate with maxReturn (default 200) and offset. Returns smart list metadata including filter rules and folder location.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxReturnNo
offsetNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description provides key behavioral details: it is a read operation, paginates via maxReturn and offset, and returns smart list metadata including filter rules and folder location. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, no extraneous words, and front-loads the essential function.

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

Completeness4/5

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

For a simple list operation with two optional parameters and no output schema, the description covers the action, pagination, and return contents; lacks only offset default value.

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 0%, but the description explains the purpose of maxReturn (with default 200) and offset for pagination, adding meaning beyond the bare 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' and the resource 'smart lists in the Marketo instance', distinguishing it from siblings like marketo_get_smart_list_by_id which fetches a single smart 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?

The description implies usage for listing all smart lists with pagination, but does not explicitly contrast with sibling tools or explain when not to use this tool.

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

marketo_remove_lead_from_listA

Remove one or more leads from a static list. Accepts an array of lead IDs. Max 300 leads per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYes
leadIdsYes

TDQS

A4/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. States it removes leads (destructive action) and limits batch size, but lacks details on permissions, reversibility, 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?

Two concise sentences, front-loaded with purpose followed by a constraint. No unnecessary words or 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?

Given simple parameters and no output schema, description adequately covers operation and batch limit. Lacks details on edge cases (e.g., leads not in list, multiple lists) but sufficient for a straightforward removal tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 2 params with 0% description coverage. Description clarifies leadIds as 'array of lead IDs' but does not explain listId, though its name is self-explanatory. Adds some value but incomplete.

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 'Remove one or more leads from a static list', specifying the verb (remove), resource (leads from a static list), and implicitly distinguishing it from the sibling tool 'marketo_add_lead_to_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?

Provides a key constraint (Max 300 leads per call) and clear usage context, but does not explicitly mention when not to use this tool or direct to alternatives like marketo_add_lead_to_list.

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

marketo_send_sample_emailA

Send a sample/preview of an email to a specified email address. Optionally render with a specific lead's data by passing leadId. Useful for QA before approving.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailIdYes
emailAddressYes
textOnlyNo
leadIdNo

TDQS

A3.7/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It states it sends a sample email but does not disclose that it actually dispatches a real email, nor does it mention permissions, rate limits, or 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?

Two sentences, no wasted words. Front-loaded with the core action, followed by optional detail and use case. Ideal 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 annotations, no output schema, and 0% parameter descriptions, the description covers main purpose and two params but misses required emailId explanation, the fact that it actually sends an email, and any response or error information.

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 0%, so description must explain parameters. It adds meaning for emailAddress and leadId, but does not explain emailId (the email to send) or textOnly flag, leaving half the parameters underspecified.

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 sends a sample/preview of an email to a specified address, and distinguishes from siblings like get_email or get_lead by focusing on the send action for QA purposes.

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 explicit context ('Useful for QA before approving'), but does not mention when not to use or list alternatives, leaving some gaps for an agent to decide.

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

marketo_update_channelA

Update an existing channel's properties (name, description, type). Cannot change progression statuses after creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdYes
nameNo
descriptionNo
typeNo
applicationIdNo

TDQS

A3.9/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 disclose behavioral traits. It mentions a limitation on progression statuses but omits details on side effects, authentication needs, or error conditions, which are important for an update 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 extremely concise: one sentence stating the purpose and a critical constraint. No wasted words, front-loaded with the verb 'Update'.

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

Completeness3/5

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

Given the tool's simplicity (5 simple params, no output schema), the description addresses the core action and one key limitation. However, it lacks usage details for parameters and expected behavior on partial updates, making it only adequately 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?

The description lists three updatable properties (name, description, type) but does not explain channelId, applicationId, or their roles. With 0% schema coverage, it adds only partial meaning beyond raw types.

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 updates an existing channel's properties (name, description, type) and distinguishes itself from sibling tools like create_channel and delete_channel by being a modification operation.

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 constraint ('Cannot change progression statuses after creation') but does not explicitly mention when to use this tool versus alternatives like get_channel_by_id or create_channel, though the context implies use for modification.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.1.0
    • Addedmarketo_clone_program
    • Addedmarketo_get_email_by_id
    • Addedmarketo_get_emails
    • Addedmarketo_get_program_by_id
    • Addedmarketo_get_program_members
    • Addedmarketo_get_programs
    • Addedmarketo_send_sample_email
  2. 16 tool updatesv1.0.0
    • Addedmarketo_add_lead_to_list
    • Addedmarketo_create_channel
    • Addedmarketo_create_or_update_lead
    • Addedmarketo_delete_channel
    • Addedmarketo_delete_lead
    • Addedmarketo_get_channel_by_id
    • Addedmarketo_get_channels
    • Addedmarketo_get_lead_activities
    • Addedmarketo_get_lead_by_email
    • Addedmarketo_get_lead_by_id
    • Addedmarketo_get_lead_changes
    • Addedmarketo_get_lead_lists
    • Addedmarketo_get_smart_list_by_id
    • Addedmarketo_get_smart_lists
    • Addedmarketo_remove_lead_from_list
    • Addedmarketo_update_channel
  3. 4 tool updates
    • First observedmarketo_approve_form
    • First observedmarketo_clone_form
    • First observedmarketo_get_form_by_id
    • First observedmarketo_get_forms

TDQS

A3.8/5.0
Disambiguation5/5

All tools target distinct resources and actions (leads, forms, emails, programs, channels, smart lists) with no overlapping purposes, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tools follow a consistent 'marketo_verb_noun' pattern (e.g., marketo_add_lead_to_list, marketo_get_form_by_id), with clear and predictable naming throughout.

Tool Count5/5

27 tools is appropriate for a comprehensive marketing automation platform covering multiple subdomains (leads, forms, emails, programs, channels, smart lists). Each tool has a clear purpose and none seem redundant.

Completeness3/5

Coverage is strong for leads (CRUD) and channels (full lifecycle), but missing create/delete for forms and emails, and missing create/delete for programs. This leaves notable gaps that may require workarounds.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables interaction with the Tradovate API for managing trading contracts, positions, orders, and accounts.
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A server that implements the Model Context Protocol for managing dynamic forms, allowing users to create, retrieve, and handle responses for web forms via the @dynamicfrm/js library.
    4
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexleventer/marketo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server