Connect
Optimize
Secure
The #1 agentic semantic tool search: 91.6% first-try accuracy on S1 Search Bench • Explore Tool Discovery →
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.
Coverage
Create, read, update, and delete across Pardot — and extend your agent's capabilities with custom actions.
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
Every Pardot tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Pardot call.
Tools Discovery →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.
Every action from Pardot's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Query campaigns with filtering, ordering, and pagination
Retrieve a single campaign by ID
Create a new prospect custom field
Query prospect custom fields defined on the account
Retrieve a single custom field definition by ID
Update an existing prospect custom field
Soft-delete a custom field by ID
Create a new trackable custom redirect link
Query trackable custom redirect links
Retrieve a single custom redirect by ID
Update an existing custom redirect
Soft-delete a custom redirect by ID
Create a new dynamic content record
Query personalized content variations
Retrieve a single dynamic content record by ID
Send a one-to-one email to a single prospect
Query one-to-one emails sent to individual prospects
Retrieve a single one-to-one email by ID
Send a bulk email to one or more recipient lists
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`
Retrieve a single list email by ID
Query reusable email templates
Retrieve a single email template by ID
Query Engagement Studio automation programs
Retrieve a single engagement studio program by ID
Upload a hosted file to Pardot
Query Pardot hosted files
Retrieve a single file by ID
Update metadata on an existing Pardot file
Delete a file by ID
Query Pardot folders with filtering, ordering, and pagination
Retrieve a single Pardot folder by ID
Create a new lead-capture form. Requires `name`, `campaignId`, and `layoutTemplateId` (the ID of a Pardot layout template)
Query forms used for lead capture
Retrieve a single form by ID
Soft-delete a form by ID
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
Query Pardot landing pages
Retrieve a single landing page by ID
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`
Retrieve a single list membership by ID
Update a list membership's opt-out status
Create a new prospect with the specified email and optional attributes
Query prospect (lead/contact) records with filtering, ordering, and pagination.
Retrieve a single prospect by ID with all custom fields
Update an existing prospect's editable fields
Soft-delete a prospect by ID (moves to recycle bin)
Create a new tag
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`
Retrieve a single tag by ID
Update an existing tag
Delete a tag by ID
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`
Retrieve a single tagged-object record by ID
Query Pardot users with filtering, ordering, and pagination
Retrieve a single Pardot user by ID
Apply a tag to a campaign. The tag is identified by its numeric `tagId` — tag names are not accepted
Add a tag to a dynamic content record. The tag is identified by its numeric `tagId` — tag names are not accepted
Add a tag to a Pardot file. The tag is identified by its numeric `tagId` — tag names are not accepted
Add a tag to a landing page. The tag is identified by its numeric `tagId` — tag names are not accepted
Add a prospect to a list
Create a new prospect list
Apply a tag to a prospect. The tag is identified by its numeric `tagId` — tag names are not accepted
Add a tag to a Pardot user. The tag is identified by its numeric `tagId` — tag names are not accepted
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.
Retrieve send statistics for a list email
Download the encrypted base64-encoded program-structure file for an engagement program (used to clone or replicate the program). Requires the program `id`
Query folder-content mappings (which objects live in which folder)
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`
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`
Retrieve a single prospect list by ID
Query opportunities synced from Salesforce
Retrieve a single opportunity by ID
Query tracked visitor activities and engagement events
Retrieve a single visitor activity by ID
Update an existing prospect list
Remove a tag from a campaign. The tag is identified by its numeric `tagId` — tag names are not accepted
Remove a tag from a dynamic content record. The tag is identified by its numeric `tagId` — tag names are not accepted
Remove a tag from a Pardot file. The tag is identified by its numeric `tagId` — tag names are not accepted
Remove a tag from a landing page. The tag is identified by its numeric `tagId` — tag names are not accepted
Delete a list membership (remove a prospect from a list)
Soft-delete a prospect list by ID
Remove a tag from a prospect. The tag is identified by its numeric `tagId` — tag names are not accepted
Remove a tag from a Pardot user. The tag is identified by its numeric `tagId` — tag names are not accepted
Link a Pardot campaign to a Salesforce campaign
Create or update a prospect using email as the unique key. Supply `matchEmail` and a nested `prospect` object with the fields to set
Restore a deleted prospect from the recycle bin (prospect `id` is supplied in the request body, not the URL path)
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
Connect your AI agent to Pardot and help your team scale the marketing operations they run by hand today.
Use StackOne to connect your AI agent to your marketing automation, CRM, and email tools to automate lead nurture email sequences.
ViewUse StackOne to connect your AI agent to your marketing automation, email, and analytics platforms to automate campaign performance reporting.
ViewUse StackOne to connect your AI agent to your CRM, email, and calendar tools to automate post-demo follow-up.
ViewOne endpoint. Any framework. Your agent is talking to Pardot in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"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>"
]
}
}
}Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.