Skip to main content

The #1 agentic semantic tool search: 91.6% first-try accuracy on S1 Search Bench Explore Tool Discovery

Live 88 Actions

Pardot MCP Server
for AI Agents

StackOne's Pardot MCP server gives AI agents 88 ready-to-use actions for Pardot — with built-in authentication, security, governance, token efficiency, and high tool-calling accuracy.

Pardot logo
Pardot MCP Server
Built by StackOne StackOne
DrataGPLocalyzeFlipMindtoolsScreenloop

Coverage

88 Agent Actions

Create, read, update, and delete across Pardot — and extend your agent's capabilities with custom actions.

Authentication

Agent Tool Authentication

Per-user OAuth in one call. Your Pardot MCP server gets session-scoped tokens with zero credentials stored on your infra.

Agent Auth →

Security

Agent Protection

Every Pardot tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.

Prompt Injection Defense →

Performance

Max Agent Context. Min Cost.

Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Pardot call.

Tools Discovery →

What is the Pardot MCP Server?

A Pardot MCP server lets AI agents read and write Pardot data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Pardot MCP server ships with 88 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.

All Pardot MCP Tools and Actions

Every action from Pardot's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.

Campaigns

  • List Campaigns

    Query campaigns with filtering, ordering, and pagination

  • Get Campaign

    Retrieve a single campaign by ID

Custom Fields

  • Create Custom Field

    Create a new prospect custom field

  • List Custom Fields

    Query prospect custom fields defined on the account

  • Get Custom Field

    Retrieve a single custom field definition by ID

  • Update Custom Field

    Update an existing prospect custom field

  • Delete Custom Field

    Soft-delete a custom field by ID

Custom Redirects

  • Create Custom Redirect

    Create a new trackable custom redirect link

  • List Custom Redirects

    Query trackable custom redirect links

  • Get Custom Redirect

    Retrieve a single custom redirect by ID

  • Update Custom Redirect

    Update an existing custom redirect

  • Delete Custom Redirect

    Soft-delete a custom redirect by ID

Dynamic Contents

  • Create Dynamic Content

    Create a new dynamic content record

  • List Dynamic Content

    Query personalized content variations

  • Get Dynamic Content

    Retrieve a single dynamic content record by ID

One-to-One Emails

  • Send One-to-One Email

    Send a one-to-one email to a single prospect

  • List One-to-One Emails

    Query one-to-one emails sent to individual prospects

  • Get One-to-One Email

    Retrieve a single one-to-one email by ID

Emails

  • Send List Email

    Send a bulk email to one or more recipient lists

  • List List Emails

    Query bulk-email batches sent to recipient lists (one row per send batch). For single one-to-one emails sent to individual prospects use `list_emails`; for the list definitions themselves use `list_lists`

  • Get List Email

    Retrieve a single list email by ID

Email Templates

  • List Email Templates

    Query reusable email templates

  • Get Email Template

    Retrieve a single email template by ID

Engagement Programs

  • List Engagement Programs

    Query Engagement Studio automation programs

  • Get Engagement Program

    Retrieve a single engagement studio program by ID

Files

  • Upload File

    Upload a hosted file to Pardot

  • List Files

    Query Pardot hosted files

  • Get File

    Retrieve a single file by ID

  • Update File

    Update metadata on an existing Pardot file

  • Delete File

    Delete a file by ID

Folders

  • List Folders

    Query Pardot folders with filtering, ordering, and pagination

  • Get Folder

    Retrieve a single Pardot folder by ID

Forms

  • Create Form

    Create a new lead-capture form. Requires `name`, `campaignId`, and `layoutTemplateId` (the ID of a Pardot layout template)

  • List Forms

    Query forms used for lead capture

  • Get Form

    Retrieve a single form by ID

  • Delete Form

    Soft-delete a form by ID

Landing Pages

  • Create Landing Page

    Create a new landing page. Requires `name` and `campaignId`. Supply either inline HTML in `content`, or a `layoutTemplateId` plus `openingGeneralContent` / `regionContent` for a template-driven page

  • List Landing Pages

    Query Pardot landing pages

  • Get Landing Page

    Retrieve a single landing page by ID

Memberships

  • List List Memberships

    Query the join records linking individual prospects to lists (i.e. which prospects are on which lists). Use to find members of a list or all lists a prospect is on. For list definitions themselves use `list_lists`

  • Get List Membership

    Retrieve a single list membership by ID

  • Update List Membership

    Update a list membership's opt-out status

Prospects

  • Create Prospect

    Create a new prospect with the specified email and optional attributes

  • List Prospects

    Query prospect (lead/contact) records with filtering, ordering, and pagination.

  • Get Prospect

    Retrieve a single prospect by ID with all custom fields

  • Update Prospect

    Update an existing prospect's editable fields

  • Delete Prospect

    Soft-delete a prospect by ID (moves to recycle bin)

Tags

  • Create Tag

    Create a new tag

  • List Tags

    Query the tag definitions themselves (name + how many objects each tag is applied to). For finding which objects carry a specific tag use `list_tagged_objects`

  • Get Tag

    Retrieve a single tag by ID

  • Update Tag

    Update an existing tag

  • Delete Tag

    Delete a tag by ID

Tagged Objects

  • List Tagged Objects

    Find which objects (prospects, files, campaigns, etc.) a given tag is applied to. Filter by `tagId` and `objectType`. For the tag definitions themselves use `list_tags`

  • Get Tagged Object

    Retrieve a single tagged-object record by ID

Users

  • List Users

    Query Pardot users with filtering, ordering, and pagination

  • Get User

    Retrieve a single Pardot user by ID

Other (32)

  • Add Tag To Campaign

    Apply a tag to a campaign. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Add Tag To Dynamic Content

    Add a tag to a dynamic content record. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Add Tag To File

    Add a tag to a Pardot file. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Add Tag To Landing Page

    Add a tag to a landing page. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Add Prospect To List

    Add a prospect to a list

  • Create List

    Create a new prospect list

  • Add Tag To Prospect

    Apply a tag to a prospect. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Add Tag To User

    Add a tag to a Pardot user. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Get Account

    Retrieve the authenticated Pardot business unit's account-level settings and API usage (single record). This is the Pardot tenant configuration — NOT a list of prospects.

  • Get List Email Stats

    Retrieve send statistics for a list email

  • Download Engagement Program Structure

    Download the encrypted base64-encoded program-structure file for an engagement program (used to clone or replicate the program). Requires the program `id`

  • List Folder Contents

    Query folder-content mappings (which objects live in which folder)

  • Get Folder Contents Record

    Retrieve a single folder-to-object junction record by its mapping ID (NOT a folder ID). Returns one row from the folder-contents table that says "object X is in folder Y." For folder details by folder ID use `get_folder`

  • List Lists

    Query the prospect mailing lists themselves (the list definitions used to group subscribers). For prospect-to-list join records use `list_list_memberships`; for sent bulk email batches use `list_list_emails`

  • Get List

    Retrieve a single prospect list by ID

  • List Opportunities

    Query opportunities synced from Salesforce

  • Get Opportunity

    Retrieve a single opportunity by ID

  • List Visitor Activities

    Query tracked visitor activities and engagement events

  • Get Visitor Activity

    Retrieve a single visitor activity by ID

  • Update List

    Update an existing prospect list

  • Remove Tag From Campaign

    Remove a tag from a campaign. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Remove Tag From Dynamic Content

    Remove a tag from a dynamic content record. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Remove Tag From File

    Remove a tag from a Pardot file. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Remove Tag From Landing Page

    Remove a tag from a landing page. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Remove Prospect From List

    Delete a list membership (remove a prospect from a list)

  • Delete List

    Soft-delete a prospect list by ID

  • Remove Tag From Prospect

    Remove a tag from a prospect. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Remove Tag From User

    Remove a tag from a Pardot user. The tag is identified by its numeric `tagId` — tag names are not accepted

  • Connect Salesforce Campaign

    Link a Pardot campaign to a Salesforce campaign

  • Upsert Prospect By Email

    Create or update a prospect using email as the unique key. Supply `matchEmail` and a nested `prospect` object with the fields to set

  • Undelete Prospect

    Restore a deleted prospect from the recycle bin (prospect `id` is supplied in the request body, not the URL path)

  • Merge Tags

    Consolidate multiple tags into one. Path `id` is the target tag (kept); `tagIds` is the array of source tag IDs whose objects are re-tagged with the target — source tags are then deleted

Pardot AI Agent Use Cases

Connect your AI agent to Pardot and help your team scale the marketing operations they run by hand today.

Lead Nurture Sequences

Use StackOne to connect your AI agent to your marketing automation, CRM, and email tools to automate lead nurture email sequences.

View
HubSpotSalesforceActiveCampaignKlaviyoSendGridMailchimpLemlistGmail
Campaign Performance Reports

Use StackOne to connect your AI agent to your marketing automation, email, and analytics platforms to automate campaign performance reporting.

View
HubSpotMailchimpActiveCampaignKlaviyoSalesforceBrazeSendGridMarketo
Post-Demo Follow-Up

Use StackOne to connect your AI agent to your CRM, email, and calendar tools to automate post-demo follow-up.

View
SalesforceHubSpotPipedriveGongFirefliesGmailMicrosoft OutlookGoogle Calendar

Set Up Your Pardot MCP Server in Minutes

One endpoint. Any framework. Your agent is talking to Pardot in under 10 lines of code.

MCP Clients

Agent Frameworks

Claude Desktop
{
  "mcpServers": {
    "stackone": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://api.stackone.com/mcp?x-account-id=<account_id>",
        "--header",
        "Authorization: Basic <YOUR_BASE64_TOKEN>"
      ]
    }
  }
}

More Marketing Automation MCP Servers

Klaviyo

162+ actions

Zoho CRM

126+ actions

Intercom

113+ actions

SendGrid

100+ actions

Braze

98+ actions

Bitly

85+ actions

Mailchimp

80+ actions

Pardot MCP Server FAQ

Pardot MCP server vs direct API integration — what's the difference?
A Pardot MCP server and direct API integration serve different use cases. Direct API integration is for software-to-software — backend code calling Pardot. A Pardot MCP server is for AI agents — MCP clients like Claude and Cursor, plus framework agents built with OpenAI, LangChain, or Vercel AI — discovering and calling Pardot at runtime. StackOne provides both.
How does Pardot authentication work for AI agents?
Pardot authentication for AI agents works through a StackOne Connect Session. Create one via the dashboard or the SDK — you get an auth link and ready-to-paste config for Claude Desktop, Cursor, and other MCP clients. Your user authenticates their own Pardot account; StackOne handles token exchange, storage, and refresh. Credentials never reach the LLM, and each user is isolated via origin_owner_id.
Are Pardot MCP tools vulnerable to prompt injection?
Yes — Pardot MCP tools can be vulnerable to indirect prompt injection. Any tool that reads user-written content — documents, messages, tickets, records, or free-text fields — is a potential vector. StackOne Defender scans every tool response before it enters the agent's context — regex patterns in ~1ms, then a MiniLM classifier in ~4ms. 88.7% accuracy, CPU-only.
What is the context bloat of a Pardot agent and how do I avoid it?
Context bloat happens when Pardot tool schemas and API responses eat your Pardot agent's memory, preventing it from reasoning effectively. A single Pardot query can return a massive JSON response, and connecting multiple tools compounds the problem. Tools Discovery and Code Mode reduce context bloat — loading only relevant tools per query and keeping raw responses out of the agent's context.
Can I limit which actions my Pardot agent can access?
Yes — you can limit which actions your Pardot agent can access directly from the StackOne dashboard. Toggle actions on or off, or restrict them to specific accounts, with no code changes to your agent. Session tokens can be scoped to exact actions so if one leaks, exposure stays contained.
Can I create custom agent actions for my Pardot MCP server?
Yes — you can create custom agent actions for your Pardot MCP server using Connector Builder. It's an integration agent your coding assistant (Claude Code, Cursor, or Copilot) can invoke to research Pardot's API, generate production-ready connector YAML, test against the live API, and validate before you ship.
When should I NOT use a Pardot MCP server?
Skip a Pardot MCP server if your integration is purely software-to-software — direct Pardot API integration is simpler when no AI agent is involved. For deterministic, compliance-critical operations (financial transactions, regulatory reporting), direct API gives you predictable behavior without agent-driven decision-making. MCP shines when AI agents need to dynamically discover and call Pardot actions at runtime.
What AI frameworks and AI clients does the StackOne Pardot MCP server support?
The StackOne Pardot MCP server supports both. MCP clients (paste-and-go apps): Claude Desktop, Claude Code, Cursor, VS Code, Goose. Agent frameworks (code SDKs you build with): OpenAI Agents SDK, Anthropic, Vercel AI, Google ADK, CrewAI, Pydantic AI, LangChain, LangGraph, Azure AI Foundry.

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.