Peec AI MCP Server
for AI Agents
Connect your AI agent to StackOne's Peec AI MCP server and give it 36 MCP tools out of the box. Auth, tool execution, and security all managed.
Coverage
36 Agent Actions
Create, read, update, and delete across Peec AI — and extend your agent's capabilities with custom actions.
Authentication
Agent Tool Authentication
Per-user OAuth in one call. Your Peec AI MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Agent Protection
Every Peec AI 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 Peec AI call.
Tools Discovery →What is the Peec AI MCP Server?
A Peec AI MCP server lets AI agents read and write Peec AI data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Peec AI MCP server ships with 36 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, observability, and agent execution runtime. 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 Peec AI MCP Tools
Every action from Peec AI's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Actions
- Create Actions
Record work the customer decided to do themselves as actions, in the same shape as the ones Peec generates, so they sort, filter and move through the same statuses. The kind picked decides an action's type and group. The linked topic and prompts are resolved against the project, and an item naming one it does not hold lands in `rejected` on its own — the batch never fails as a whole.
- List Actions
The project's actions, the ones Peec generated and the ones the customer wrote themselves alike: what to do, on which page or site, and how much impact it is expected to have if it is done. `created_by` says which of the two an action is, and only a customer's own can be deleted or reshaped. Filters combine with AND, except `targets`, `groups`, `archetypes` and `platforms`, which combine with OR across the four. The action detail endpoint carries a single action's steps, brief, evidence and impacted prompts.
- Get Action
One action in full: what to do, the fields the customer owns on it — notes, priority, assignee, due date, tags and repeat — the steps to work through, the content brief when there is one with its sections, the competitor demand behind it, the prompts it affects and the terms competitors use on the topic. A site audit action carries no brief and no opportunity, and its description and steps are the whole fix. An id this project has no published action for is a 404, whether it belongs to another project, to an action type this API does not publish for the project, or to nothing at all. A content optimisation's article, suggestions and score are not returned here, and the Customer API publishes no endpoint that returns them.
- Update Actions
Rewrite the fields a customer owns, on actions they wrote or ones Peec generated. An edit is stored beside the generated wording rather than in it, so a regeneration cannot discard it. Only a customer's own action can change shape: the type and group of a generated one say what Peec found, and an item trying to move them lands in `rejected`. A field the item leaves out keeps what it held; `null` clears the ones that can be cleared, and an item naming no field at all is rejected rather than recorded as an edit. Ids the project publishes no action under are returned in `skipped` — the batch never fails as a whole. A content optimisation is reachable only on a project with content optimisation enabled; elsewhere its id is returned in `skipped`.
- Delete Actions
Remove actions the customer wrote themselves. A generated action reads here exactly as a missing one does and lands in `skipped`: those are declined or dismissed through the status endpoint instead, so the list keeps a record of what Peec suggested and the customer turned down.
Brands
- Create Brand
Create a new brand within a project
- List Brands
List the brands of a project
- Update Brand
Update a brand within a project. Changes to name, regex, or aliases trigger a background recalculation of metrics. While recalculation is in progress, further updates to these fields are blocked (409 Conflict) until it completes.
- Delete Brand
Delete a brand within a project.
Brand Social Channels
- List Brand Social Channels
List the social channels configured for a project, optionally filtered to one brand.
- Set Brand Social Channels
Replace the complete list of social channels configured for a brand. Pass an empty list to remove them all.
Categories
- Create Categories
Create product categories. Each item takes a `name` and an optional `parent_id` (omit or null for a top-level category). Items apply in order. Returns per-item results { created, rejected } — the batch never fails as a whole. Rejection reasons: parent_not_found, name_conflict (a sibling already has that name).
- List Categories
List a project's product categories. Each row carries its full `path` and its `parent_id`, so the flat list reconstructs the category tree. Use the returned `id` as a `category_id` when creating, updating, or assigning products.
- Update Categories
Rename and/or reparent categories by id. Each item sets `name` (rename), `parent_id` (move; null = promote to top level), or both — at least one is required. A combined edit is applied move-then-rename. Returns per-item results { updated, rejected } — the batch never fails as a whole. Rejection reasons: not_found, name_conflict, invalid_move (would nest a category inside itself).
- Delete Categories
Delete categories by id. Each one's child categories and products move up to its parent, then it is removed. Returns per-item results { deleted, rejected } — the batch never fails as a whole. Rejection reasons: not_found, name_conflict (a child moving up would clash with an existing sibling name).
Products
- Create Products
Create products. Each item is independent: valid products are created and per-item failures are returned in `rejected`, so the batch never fails as a whole. Optional `category_ids` assigns the product to categories.
- List Products
List a project's products with headline metrics (mention_count, win_count, avg_position, avg_rating, visibility, share_of_voice) over the date range, filterable by category, merchant, brand, country, model channel, topic, and tag. Paginated.
- Get Product
Get one product's detail over a date range: headline metrics (visibility, win_rate, avg_position, avg_rating, mention_count) plus a delta for each against the immediately preceding equal-length period, the catalog metadata (brand, description, image, source, first-seen date), the effective price range with any overrides, and the median AI-mention price. Visibility is divided by the product's relevant-prompt chats, not all shopping chats. avg_rating is the mean 0–5 star rating across the product's AI mentions (null when none carried a rating). Returns data: null when the product is not in the project.
- Update Products
Update products (name, description, image, price overrides, categories). Each item is independent: items with nothing to apply (not found, no changes, duplicate id) are reported in `skipped`, and unsatisfiable changes (name conflict, unknown category) in `rejected`, so the batch never fails as a whole.
- Delete Products
Delete products. Ids that don't exist in the project are returned in `skipped`.
Other (16)
- List Action Platforms
The third-party sites a project has actions on, as values for the action list's `platforms` filter. A platform is whichever domain AI engines cite for this brand, so the set is per project and open-ended. Own-site actions carry no platform and are absent here.
- List Custom URL Classifications
List the custom URL classifications defined for a project. These complement the built-in classifications and can be assigned to URLs.
- List Global Brands
Search Peec's global brand catalog — the shared registry of real-world brands that products attach to via `global_brand_id`. Use it to find the `global_brand_id` for a brand when creating products. This is separate from `GET /brands`, which lists the brands a project tracks for AI-visibility reporting; the two use different ids. Primarily used with `search`. Pass `ownership` (`own`, `competitor`, or `all`) instead to list the project's shopping brands ranked by mentions, for use as shopping brand filters.
- List Model Channels
List the model channels a project's reports can be broken down and filtered by. A model channel is a stable identifier for an AI surface — openai-0 is ChatGPT UI, perplexity-1 the Perplexity API — that stays constant as the model behind it is upgraded or replaced, so filtering by channel keeps a continuous view of a surface where filtering by model fragments it across ids. The returned ids are what every model_channel_ids filter on this connector accepts.
- List Models
List the individual AI model versions a project has answers from. Peec documents this endpoint as deprecated in favour of List Model Channels, and a channel is the better filter for anything trending over time; it remains the way to resolve the model_ids filter that Get Shopping Attributes accepts, which takes model versions rather than channels.
- Get Shopping Attributes
The LLM-extracted attribute comparison grid for a product (scope=product) or the whole catalog (scope=overview), split by tab into characteristics, facts, and dimensions. Columns are competing brands (compare_by=brand) or competing products (compare_by=product, scope=product only). Deltas are computed against an explicit comparison window (previous_start_date/previous_end_date) or the equal-length window immediately before.
- Get Shopping Summary
Return aggregate shopping metrics over a date range. Delta fields compare against an explicit previous window or the auto-derived previous period.
- Get Shopping Trend
Return a product or brand shopping time series over a date range. Requires bucket and exactly one of product_ids or brand_ids.
- List Shopping Performance
List ranked product or category shopping performance over a date range.
- List Shopping Demand
List top shopping queries, web-search fan-out queries, or query terms over a date range.
- List Merchants
List the merchants (sellers) whose product offers surfaced in AI answers, ranked over a date range: mentions, share of voice against the other merchants, buy-box win rate, average position, and average star rating, each with a delta against the previous window. Scope the population with category_ids or product_ids to get per-category or per-product seller breakdowns.
- List Prompts
List the prompts of a project
- List Tags
List the tags of a project. Tags include user-created tags and Peec-managed system tags (is_system=true). Each tag carries a `group`: for system tags this is the mutually-exclusive dimension (branding or intentType); for user tags it is the user-defined group name (or null). Pass `group` to filter to a single user-defined group. System tags cannot be edited or deleted.
- List Topics
List the topics of a project
- Update Action Status
Move actions to a status by id: accept, reject, complete, delete, or send one back to `PENDING`. Ids the project publishes no action under are returned in `skipped` — the batch never fails as a whole. An action that is already deleted reads as absent unless the key is a platform admin one. A content optimisation is reachable only on a project with content optimisation enabled; elsewhere its id is returned in `skipped`.
- Set Action Step Completion
Record which of an action's steps are done. Each entry names one action and either sets `completed` for every step it holds, or lists the steps to write; a step in turn either sets `completed` for all of its options or names them individually, each with its own value, so one call can tick some and untick others. An action is all or nothing: anything Peec cannot apply leaves every step on it untouched and comes back under `skipped` or `rejected`, so a partly-written action is never a state you have to read back. Other actions in the same call are unaffected. The action's own status is never changed by this endpoint, including when every step on it is complete. An action that is already deleted reads as absent unless the key is a platform admin one. A content optimisation is reachable only on a project with content optimisation enabled; elsewhere its id is returned in `skipped`.
Peec AI AI Agent Use Cases
Connect your AI agent to Peec AI 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 document stores, email platforms, and messaging tools to automate content repurposing and distribution.
ViewSet Up Your Peec AI MCP Server in Minutes
One endpoint. Any framework. Your agent is talking to Peec AI in under 10 lines of code.
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>"
]
}
}
}Check More marketing MCP Servers
59+ actions
57+ actions
57+ actions
38+ actions
35+ actions
12+ actions
Platform Resources
MCP Code Mode: Keeping Tool Responses Out of Agent Context
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
Comparing BM25, TF-IDF, and Hybrid Search for MCP Tool Discovery
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
Indirect Prompt Injection Defense for MCP Tools: A Technical Guide
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
MCP vs A2A: Architecture, Security, and When to Use Each
MCP vs A2A: what each protocol standardizes, how they differ, their shared security risks including indirect prompt injection, and when to use one, both, or a hybrid architecture.
12 min
MCP vs API: What Hundreds of Connector Builds Taught Us
MCP wraps APIs, it doesn't replace them. After building hundreds of connectors that serve both, here's when each approach wins.
14 min read
Peec AI MCP Server FAQ
Does StackOne have a Peec AI MCP server?
Peec AI MCP server vs direct API integration — what's the difference?
How does Peec AI authentication work for AI agents?
origin_owner_id.Are Peec AI MCP tools vulnerable to prompt injection?
What is the context bloat of a Peec AI agent and how do I avoid it?
Can I limit which actions my Peec AI agent can access?
Can I create custom agent actions for my Peec AI MCP server?
When should I NOT use a Peec AI MCP server?
What AI frameworks and AI clients does the StackOne Peec AI MCP server support?
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.