关于 PlainSignal MCP Server
PlainSignal 的官方 MCP 服务,为客户端提供网站分析报告和指标查询。支持按域名与时间范围获取报告,以及查询带筛选和分页的细分报告。
主要功能
- 01获取分析报告
- 02查询细分报告
- 03支持筛选条件
- 04支持分页
适用场景
- 01查看特定时间范围的网站分析
- 02查询页面或入口页指标
- 03筛选并分页获取细分数据
MCP 相关
该服务通过 MCP 和 STDIO 向客户端提供 PlainSignal 分析工具,包括 `getReport` 和 `getSubReport`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| organizationID | string | 是 | 组织 ID |
| domainID | string | 是 | 域名 ID |
| periodFrom | string | 是 | RFC3339 格式的报告开始日期时间 |
| periodTo | string | 是 | RFC3339 格式的报告结束日期时间 |
| periodSelection | string | 是 | 如果用户想查看某个完整月份的数据(例如 4 月的数据),值应为 m;如果用户想查看完整一年的数据,值应为 y;否则值应为 d。可用值为 d、m 和 y,其中月:m,年:y,日:d。 |
| aggregationWindow | string | 是 | 数据聚合窗口。单日报告或少于或等于 1 天的报告使用 h,其他情况使用按日聚合。可接受的值:日:d,小时:h |
| filters | array | 否 | 筛选条件列表,为键值对字典。筛选条件示例:{"key": "", "values":["val1", "val2"]} |
详细介绍
PlainSignal MCP 服务
这是一个用于 PlainSignal 分析数据的模型上下文协议(MCP)服务实现。它提供用于通过 MCP 协议获取分析报告和指标的工具。
设置
安装
从 npm 安装(推荐)
# Install globally
npm install -g @plainsignal/plainsignal-mcp
# Or install locally in your project
npm install @plainsignal/plainsignal-mcp
从源代码安装
- 克隆此仓库
- 安装依赖项:
npm install
此项目使用 ES 模块,而不是 CommonJS。请确保使用支持 ES 模块的 Node.js 版本(Node.js 14+)。
使用方法
从 npm 安装时
# If installed globally
plainsignal-mcp --token <your_access_token>
# If installed locally
npx plainsignal-mcp --token <your_access_token>
# Or using an environment variable
export PLAINSIGNAL_TOKEN=<your_access_token>
plainsignal-mcp
从源代码使用时
使用访问令牌运行服务:
node src/index.js --token <your_access_token>
# Or using an environment variable
export PLAINSIGNAL_TOKEN=<your_access_token>
node src/index.js
你也可以指定自定义 API 基础 URL:
node src/index.js --token <your_access_token> --api-base-url <api_base_url>
或者使用简短格式:
node src/index.js -t <your_access_token> -u <api_base_url>
也可以将访问令牌和 API 基础 URL 设置为环境变量,然后使用测试脚本:
export PLAINSIGNAL_TOKEN=your_access_token
export API_BASE_URL=https://app.plainsignal.com/api/v1
./test.sh
默认情况下,服务会连接到 https://app.plainsignal.com/api/v1。
MCP 服务配置
Claude Desktop
将此代码片段添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"plainsignal": {
"command": "npx -y @plainsignal/plainsignal-mcp",
"env": {
"PLAINSIGNAL_TOKEN": "<YOUR_PLAINSIGNAL_TOKEN>"
}
}
}
}
可用工具
该服务提供以下工具:
getReport
获取指定域名和时间段的分析报告。
参数:
organizationID:组织 IDdomainID:域名 IDperiodFrom:报告开始日期时间,采用 RFC3339 格式periodTo:报告结束日期时间,采用 RFC3339 格式periodSelection:时间段类型(m:月,y:年,d:日)aggregationWindow:数据聚合时间窗口(h:小时,d:天)filters:(可选)以键值对形式提供的筛选条件列表
getSubReport
获取分析数据中特定方面的详细指标。
参数:
organizationID:组织 IDdomainID:域名 IDperiodFrom:报告开始日期时间,采用 RFC3339 格式periodTo:报告结束日期时间,采用 RFC3339 格式periodSelection:时间段类型(m:月,y:年,d:日)aggregationWindow:数据聚合时间窗口(h:小时,d:天)subReportType:报告类型(1:页面,2:入口页面等)filters:(可选)以键值对形式提供的筛选条件列表pagination:(可选)分页控制项,包含 limit 和 offset
API 参考
此服务与 PlainSignal API 通信。默认情况下,它会连接到 https://app.plainsignal.com/api/v1,但你可以通过以下几种方式配置 API 端点:
-
使用
--api-base-url命令行选项:node src/index.js --token <your_token> --api-base-url https://app.plainsignal.com/api/v1 -
设置
API_BASE_URL环境变量:export API_BASE_URL=https://app.plainsignal.com/api/v1 -
以编程方式实例化服务时,将自定义 API 基础 URL 传递给构造函数:
const server = new PlainSignalStdioServer(token, 'https://app.plainsignal.com/api/v1');
开发者指南
此服务使用 MCP SDK 实现,并通过 STDIO 通信。
示例
项目提供了一个示例客户端,用于演示如何使用 MCP 服务:
# Set your access token
export PLAINSIGNAL_TOKEN=your_access_token
# Run the example client
npm run example
或者运行资源示例客户端:
# Set your access token
export PLAINSIGNAL_TOKEN=your_access_token
# Run the resources example client
npm run resources-example
示例客户端演示了如何:
- 连接到 MCP 服务
- 列出可用工具
- 使用示例参数调用
getReport工具 - 处理并显示结果
资源示例客户端演示了如何:
- 连接到 MCP 服务
- 列出可用资源
- 读取
listDomains资源 - 处理并显示结果
许可证
此项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。