
List tracked brands in a Peec project. Supports offset pagination. Returns brand IDs, names, domains, aliases, and 'is_own' flag for the project owner's brand.
Create a new tracked brand. Provide name, domains, aliases, regex pattern, or color. The brand becomes available for tracking immediately.
Update a brand's name, domains, aliases, regex, or color. Modifying name, regex, or aliases triggers metric recalculation and blocks further updates until it completes (returns 409). Use list_brands to find valid brand IDs.
Soft-delete a brand. The brand is removed from the project but historical data is retained. Use list_brands to find valid IDs.
List AI-generated brand suggestions for a project. Each suggestion includes a name, domains, and the count of chats where the brand was mentioned. Use acceptbrandsuggestion or rejectbrandsuggestion to triage.
Accept an AI-generated brand suggestion. The suggestion becomes a tracked brand. Use listbrandsuggestions to find valid IDs.
Permanently reject an AI-generated brand suggestion. The suggestion is discarded. Use listbrandsuggestions to find valid IDs.
List chats (AI model responses) for a project. Filter by date range, brandid, promptid, or modelchannelid. Returns lightweight refs; use get_chat for full content.
Get full content of a chat including the prompt, model channel, all messages (user + assistant), cited source URLs, mentioned brands with positions, and surfaced products. Use list_chats to find valid IDs.
List available AI model channels (e.g. 'openai-0', 'perplexity-1') and the model each currently points at. Channels are stable references — the underlying model can evolve. Use these IDs as modelchannelid filters when listing chats.
List Peec AI projects available to the API key. Requires a company-scoped API key — project-scoped keys will get a 403. Returns project IDs, names, status (CUSTOMER, TRIAL, etc.), and external_id.
Get the brand profile for a project. Returns occupation, industry, brand presentation, products and services, target markets, and audience distribution. The profile may be null if not yet configured.
Replace the entire brand profile for a project. WARNING: this is a full replacement — every field is required. Returns 403 during onboarding. Call getprojectprofile first to see existing values.
List configured prompts that Peec runs against AI models. Filter by topicid or tagid. Each prompt includes its text, tags, topic, user location, and estimated search volume.
Create a new prompt to track. Required: text (1-200 chars) and ISO 3166-1 alpha-2 countrycode. Optionally attach tagids and a topic_id. Returns the new prompt ID and an optional warning (e.g. credit usage).
Update a prompt's topicid or tagids. Pass null topicid to detach. Use listprompts to find valid IDs.
Soft-delete a prompt. Cascades to delete related chats. Use list_prompts to find valid IDs.
List AI-generated prompt suggestions. Optionally filter by topicid. Use acceptpromptsuggestion or rejectprompt_suggestion to triage.
Accept an AI-generated prompt suggestion. The suggestion becomes a configured prompt. Use listpromptsuggestions to find valid IDs.
Permanently reject an AI-generated prompt suggestion. Use listpromptsuggestions to find valid IDs.
List fanout search queries — the underlying search-style queries that AI models issued while answering tracked prompts. Filter by date range and additional filters object.
List fanout shopping queries — the product-style queries that AI models issued while answering tracked prompts. Each query may include surfaced products. Filter by date range and additional filters object.
Get a brand-level report with metrics (visibility, sentiment, position, mentioncount, shareof_voice) over a date range. Group by dimensions and apply filters. Returns paginated rows.
Get a source-domain report with metrics (citationrate, retrievalcount, citation_count) over a date range. Identifies which domains AI models cite most often.
Get a source-URL report with metrics (citationrate, retrievalcount, citation_count) over a date range. Identifies which specific URLs AI models cite.
Fetch the scraped markdown content of a source URL Peec has indexed. Returns title, domain, content, truncation flag, and last-updated timestamp. Use to inspect what AI models are citing.
List tags in a Peec project. Tags are used to group prompts. Returns tag IDs, names, and colors with offset pagination.
Create a new tag for grouping prompts. Required: name. Optional color (defaults to 'gray'). Valid colors: gray, red, orange, yellow, lime, green, cyan, blue, purple, fuchsia, pink, emerald, amber, violet, indigo, teal, sky, rose, slate, zinc, neutral, stone.
Update a tag's name and/or color. Use list_tags to find valid IDs.
Soft-delete a tag. Use list_tags to find valid IDs.
List topics in a Peec project. Topics are used to organize prompts. Returns topic IDs and names with offset pagination.
Create a new topic to organize prompts. Required: name (1-64 chars). Optionally provide an ISO 3166-1 alpha-2 country_code.
Update a topic's name (1-64 chars). Use list_topics to find valid IDs.
Delete a topic. Use list_topics to find valid IDs.
List AI-generated topic suggestions. Use accepttopicsuggestion or rejecttopicsuggestion to triage.
Accept an AI-generated topic suggestion. The suggestion becomes a tracked topic. Use listtopicsuggestions to find valid IDs.
Permanently reject an AI-generated topic suggestion. Use listtopicsuggestions to find valid IDs.
Validate the Peec AI API key by making a lightweight list_brands call. Works for both project-scoped and company-scoped keys.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now