Peec AI MCP Server
Community-built MCP server for the Peec AI API — AI Search Analytics for brand visibility, sentiment, and citations across ChatGPT, Perplexity, and other AI models.
= 22">
注: 这是一个非官方的社区项目,不隶属于Peec AI或得到Peec AI的认可。它需要 Peec AI 帐户和API密钥。
API测试版: Peec AI API目前处于测试阶段-端点、有效载荷和响应可能会发生变化。访问权限仅限于企业客户。
______________________________________________________________________
它做什么
Peec AI追踪品牌如何出现在AI生成的答案中。此MCP服务器允许任何兼容MCP的客户端直接访问这些数据——38个工具,涵盖项目、品牌、提示、聊天、查询分析、分析报告、源内容、品牌配置文件和完整的CRUD操作。
关键能力:
- 跨AI模型查询品牌知名度、情绪和位置
- 分析AI响应中引用了哪些域和URL
- 检查具有完整来源归因的个人聊天互动
- 按模型、提示、类别标签、主题、国家或日期对数据进行切片
- 创建、更新和删除品牌、提示、标签和主题(选择加入)
- 审查人工智能生成的提示和主题建议并采取行动
快速开始
1.获取API密钥
注册地址: 应用程序 并在下创建一个API密钥 设置>API密钥.
2.配置
Claude Code
claude mcp add --transport stdio peecai -- npx -y mcp-server-peecai设置环境变量:
export PEECAI_API_KEY="your-api-key"
export PEECAI_PROJECT_ID="your-project-id" # optional defaultClaude Desktop
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"peecai": {
"command": "npx",
"args": ["-y", "mcp-server-peecai"],
"env": {
"PEECAI_API_KEY": "your-api-key",
"PEECAI_PROJECT_ID": "your-project-id"
}
}
}
}VS Code / Cursor
增添 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"peecai": {
"command": "npx",
"args": ["-y", "mcp-server-peecai"],
"env": {
"PEECAI_API_KEY": "your-api-key",
"PEECAI_PROJECT_ID": "your-project-id"
}
}
}
}3.验证
确认 peecai 服务器已连接--在Claude代码运行中 /mcp,在VS代码/光标中检查输出面板中的MCP服务器状态。
工具
数据检索(19种工具)
list_projects --列出公司的所有项目。
- 返回:项目ID、名称、状态(
CUSTOMER=活动,PITCH=演示) - 参数:
limit,offset
list_brands --列出跟踪的品牌及其相关域名。
- 参数:
project_id,limit,offset
list_prompts --列出受监视的搜索提示。
- 返回:提示消息、标签、主题、用户位置、搜索量
- 参数:
project_id,topic_id,tag_id,limit,offset
list_tags --列出项目的类别标记。
- 参数:
project_id,limit,offset
list_topics --列出项目的主题分组。
- 参数:
project_id,limit,offset
list_models — *已弃用;更喜欢 list_model_channels.* 列出跟踪的AI模型(ChatGPT、困惑等)。
- 返回:型号ID和活动状态
- 参数:
project_id,limit,offset
list_model_channels --列出模型通道(将一个或多个模型分组的稳定ID,例如。 openai-0, perplexity-0).
- 返回:通道ID、描述、当前活动型号、活动状态
- 参数:
project_id,limit,offset
list_chats --列出具有可选日期和维度过滤的AI聊天交互。
- 返回:聊天ID、提示/模型/模型_通道参考、日期
- 参数:
project_id,start_date,end_date,brand_id,prompt_id,model_id,model_channel_id,limit,offset
get_chat_content --获取特定聊天的完整内容。
- 返回:来源(URL、域名、引用计数)、提及的品牌、消息、查询、产品
- 参数:
chat_id,project_id
list_prompt_suggestions --列出AI生成的提示建议。
- 参数:
project_id,topic_id,limit,offset
list_topic_suggestions --列出AI生成的主题建议。
- 参数:
project_id,limit,offset
list_brand_suggestions --列出人工智能生成的品牌建议。
- 返回:建议ID、名称、域、chat_count
- 参数:
project_id,limit,offset
get_project_profile --阅读项目的品牌简介(职业、行业、品牌标识、目标市场、受众分布)。
- 退货:
profile对象或null如果尚未分析 - 参数:
project_id
分析报告
支持所有报告工具 dimensions 对于多级细分: prompt_id, model_id, model_channel_id, tag_id, topic_id, date, country_code, chat_id.通过以下方式过滤日期 start_date / end_date (年-月-日)。服务器端过滤通过 filters 参数(field, operator: "in" | "not_in", values).
get_brands_report --每个品牌的品牌分析。
| 度量 | 描述 |
|---|---|
visibility | 比率0-1(可见性_计数/可见性_总计) |
sentiment | 得分0–100,50=中性 |
position | 提到时的平均排名,越低=越好 |
share_of_voice | 声音份额0-1(占总提及量的比例) |
mention_count | 品牌被提及的次数 |
get_domains_report --域级分析。
| 度量 | 描述 |
|---|---|
retrieval_rate | 检索此域的聊天共享(0–1) |
citation_rate | 每次检索的平均引用次数 |
classification | OWN, CORPORATE, COMPETITOR, RELATED, EDITORIAL, REFERENCE, INSTITUTIONAL, UGC, OTHER |
get_urls_report --URL级别分析。
| 度量 | 描述 |
|---|---|
retrieval_count | 检索此URL的聊天次数(替换已弃用的 retrievals) |
citation_count | 所有聊天记录的引用总数 |
citation_rate | 每次检索的平均引用次数 |
classification | HOMEPAGE, PRODUCT_PAGE, CATEGORY_PAGE, LISTICLE, COMPARISON, ARTICLE, HOW_TO_GUIDE, PROFILE, ALTERNATIVE, DISCUSSION, OTHER |
get_url_content --获取通过以下方式发现的源URL的抓取标记内容 get_urls_report.
- 退货:
content(markdown,抓取待定时为空),title,domain,channel_title,classification,url_classification,content_length,truncated,content_updated_at - 参数:
url,project_id,max_length(1–20000000,默认100000) - 如果存储内容超过
max_length,truncated=true--用更大的重新请求max_length以获得更多。
查询分析
search_queries --获取在回答提示时生成的搜索查询AI模型。
- 参数:
project_id,start_date,end_date,filters,limit,offset
shopping_queries --生成购物/产品查询AI模型。
- 参数:
project_id,start_date,end_date,filters,limit,offset
写入操作(19个工具,选择加入)
书写工具有 默认情况下禁用 为了安全。通过设置启用它们 PEECAI_ALLOW_WRITES=true.
禁用时,这些工具完全不可见——它们不会出现在 tools/list 并且不能被任何客户端调用。
| 实体 | 创建 | 更新 | 删除 |
|---|---|---|---|
| 品牌 | create_brand | update_brand | delete_brand |
| 提示 | create_prompt | update_prompt | delete_prompt |
| 标签 | create_tag | update_tag | delete_tag |
| 主题 | create_topic | update_topic | delete_topic |
| 建议 | 接受 | 拒绝 |
|---|---|---|
| 及时的建议 | accept_prompt_suggestion | reject_prompt_suggestion |
| 主题建议 | accept_topic_suggestion | reject_topic_suggestion |
| 品牌建议 | accept_brand_suggestion | reject_brand_suggestion |
set_project_profile --替换项目的品牌形象(职业、行业、品牌标识、目标市场、受众分布)。完全覆盖; audienceDistribution 百分比之和必须为100。触发提示建议的背景刷新。
删除操作是软删除和 通过API不可逆.删除工具携带 destructiveHint: true 在他们的MCP注释中,导致像Claude Code这样的客户端在执行之前需要明确的用户批准。
工具注释
| 工具类型 | 只读 | 临时 | 破坏性 |
|---|---|---|---|
| 所有阅读工具(19) | 是 | 是 | 否 |
| 创建(4) | 否 | 否 | |
| 更新(4) | 否 | 是 | 否 |
| 删除(4) | 否 | 是 | 是 |
| 接受建议(3) | 否 | 否 | 不 |
| 拒绝建议(3) | 否 | 是 | 否 |
set_project_profile (1) | 否 | 是 | 是 |
资源
MCP资源提供客户端可以在不调用工具的情况下获取的参考数据。
| 资源 | 类型 | 描述 |
|---|---|---|
peecai://projects | 静态 | 列出所有项目 |
peecai://projects/{project_id}/brands | 模板 | 项目的品牌 |
peecai://projects/{project_id}/tags | 模板 | 项目标签 |
peecai://projects/{project_id}/topics | 模板 | 项目主题 |
peecai://projects/{project_id}/models | 模板 | 项目的AI模型 |
peecai://projects/{project_id}/prompts | Template | 项目提示 |
资源模板支持列表——客户端可以枚举所有项目中的可用资源。
提示模板
MCP提示提供指导性分析工作流程。所有提示支持 project_id 自动完成。
| 提示 | 描述 |
|---|---|
brand-visibility-analysis | 分析AI模型中的品牌知名度、情绪和地位 |
competitive-gap-analysis | 在提示和型号上比较自有品牌与竞争对手 |
ai-search-citation-report | 分析AI响应中的域名和URL引用 |
示例提示
"List my Peec AI projects"
"Show brand visibility for the last 30 days"
"Which domains get cited most in AI search results?"
"Compare brand sentiment across ChatGPT and Perplexity"
"Show me the full chat content for chat ID abc-123"
"Get URL report broken down by AI model and country"
"What search queries do AI models use when answering my prompts?"
"Create a brand 'My Brand' with domain mybrand.com"
"Add a new prompt: 'best CRM software 2025' for country DE"环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
PEECAI_API_KEY | 是 | API密钥来自 应用程序 |
PEECAI_PROJECT_ID | 否 | 默认项目ID--保存在每次工具调用中重复它 |
PEECAI_ALLOW_WRITES | 否 | 设置为 true 以启用写入操作(创建/更新/删除)。出于安全考虑,默认禁用。 |
MCP协议特性
该服务器实现了MCP 2025-11-25规范:
- 结构化内容 --列表工具返回
structuredContent与文本一起用于类型安全客户端解析 - 工具注释 —
readOnlyHint,destructiveHint,idempotentHint在每个工具上 - 进度通知 --当客户端提供
progressToken - 结构化日志记录 -API错误作为MCP日志通知发送,其中包含端点、状态和消息上下文
- 迅速完成 —
project_idargument支持通过以下方式自动补全completable() - 资源模板 --与
list用于枚举项目间资源的回调 - 取消支持 --所有工具都转发MCP
AbortSignal到API调用
API漂移检测
Peec AI API处于测试版,可能会更改。漂移检测脚本将实时OpenAPI规范与提交的快照进行比较:
npm run check:api-drift- 无漂移:退出代码0,快照是最新的
- 检测到漂移:退出代码1,显示更改差异
不需要API密钥-OpenAPI规范是可公开访问的。
发展
先决条件
- Node.js>=22
- npm
命令
npm install # Install dependencies
npm run build # Compile TypeScript to dist/
npm run dev # Watch mode — recompile on changes
npm test # Run unit tests (372 tests)
npm run test:watch # Run tests in watch mode
npm run test:integration # Run integration tests (requires PEECAI_API_KEY)
npm run check:api-drift # Check for API spec changes集成测试
集成测试命中Peec AI API,默认情况下在中跳过 npm test.
# Read-only smoke test (all 19 read tools + prompts + resources)
PEECAI_API_KEY=xxx npm run test:integration
# Full CRUD round-trip (requires a test project + write access)
PEECAI_ALLOW_WRITES=true PEECAI_TEST_PROJECT_ID=or_xxx npm run test:integration项目结构
src/
├── index.ts # Server entry point, tool/resource/prompt registration
├── api-client.ts # HTTP client for Peec AI Customer API
├── types.ts # TypeScript interfaces for API responses
├── schemas.ts # Zod output schemas for structured content
├── util.ts # Validation, date handling, MCP response helpers
├── prompts.ts # MCP prompt templates (guided workflows)
└── tools/ # One file per MCP tool (or tool group)
├── projects.ts # list_projects
├── brands.ts # list_brands
├── prompts.ts # list_prompts
├── tags.ts # list_tags
├── topics.ts # list_topics
├── models.ts # list_models
├── model-channels.ts # list_model_channels
├── chats.ts # list_chats
├── chat-content.ts # get_chat_content
├── prompt-suggestions.ts # list_prompt_suggestions
├── topic-suggestions.ts # list_topic_suggestions
├── brand-suggestions.ts # list_brand_suggestions
├── project-profile.ts # get_project_profile, set_project_profile
├── report-brands.ts # get_brands_report
├── report-domains.ts # get_domains_report
├── report-urls.ts # get_urls_report
├── url-content.ts # get_url_content
├── queries-search.ts # search_queries
├── queries-shopping.ts # shopping_queries
├── write-brands.ts # create/update/delete brand
├── write-prompts.ts # create/update/delete prompt
├── write-tags.ts # create/update/delete tag
├── write-topics.ts # create/update/delete topic
└── suggestion-actions.ts # accept/reject suggestions许可证
______________________________________________________________________
