PlainSignal MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PlainSignal MCP Serverget a report for domain 12345 from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PlainSignal MCP Server
This is a Model Context Protocol (MCP) server implementation for PlainSignal analytics data. It provides tools for retrieving analytics reports and metrics through the MCP protocol.
Setup
Installation
From npm (recommended)
# Install globally
npm install -g @plainsignal/plainsignal-mcp
# Or install locally in your project
npm install @plainsignal/plainsignal-mcpFrom source
Clone this repository
Install dependencies:
npm installThis project uses ES modules instead of CommonJS. Make sure you're using a Node.js version that supports ES modules (Node.js 14+).
Related MCP server: Matomo MCP Server
Usage
When installed from 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-mcpWhen using from source
Run the server with your access token:
node src/index.js --token <your_access_token>
# Or using an environment variable
export PLAINSIGNAL_TOKEN=<your_access_token>
node src/index.jsYou can also specify a custom API base URL:
node src/index.js --token <your_access_token> --api-base-url <api_base_url>Or use the short format:
node src/index.js -t <your_access_token> -u <api_base_url>Alternatively, set the access token and API base URL as environment variables and use the test script:
export PLAINSIGNAL_TOKEN=your_access_token
export API_BASE_URL=https://app.plainsignal.com/api/v1
./test.shBy default, the server connects to https://app.plainsignal.com/api/v1.
MCP Server configs
Claude Desktop
Add this snippet to your claude_desktop_config.json:
{
"mcpServers": {
"plainsignal": {
"command": "npx -y @plainsignal/plainsignal-mcp",
"env": {
"PLAINSIGNAL_TOKEN": "<YOUR_PLAINSIGNAL_TOKEN>"
}
}
}
}Available Tools
The server provides the following tools:
getReport
Retrieves an analytics report for a specified domain and time period.
Parameters:
organizationID: Organization IDdomainID: Domain IDperiodFrom: Report start datetime in RFC3339 formatperiodTo: Report end datetime in RFC3339 formatperiodSelection: Period type (m: month, y: year, d: day)aggregationWindow: Data aggregation window (h: hour, d: day)filters: (Optional) List of filters as key-value pairs
getSubReport
Retrieves detailed metrics for a specific aspect of analytics data.
Parameters:
organizationID: Organization IDdomainID: Domain IDperiodFrom: Report start datetime in RFC3339 formatperiodTo: Report end datetime in RFC3339 formatperiodSelection: Period type (m: month, y: year, d: day)aggregationWindow: Data aggregation window (h: hour, d: day)subReportType: Type of report (1: page, 2: entry page, etc.)filters: (Optional) List of filters as key-values pairspagination: (Optional) Pagination controls with limit and offset
API Reference
This server communicates with the PlainSignal API. By default, it connects to https://app.plainsignal.com/api/v1, but you can configure the API endpoint in several ways:
Use the
--api-base-urlcommand line option:node src/index.js --token <your_token> --api-base-url https://app.plainsignal.com/api/v1Set the
API_BASE_URLenvironment variable:export API_BASE_URL=https://app.plainsignal.com/api/v1Pass a custom API base URL to the constructor when instantiating the server programmatically:
const server = new PlainSignalStdioServer(token, 'https://app.plainsignal.com/api/v1');
For Developers
The server is implemented using the MCP SDK and communicates over STDIO.
Examples
An example client is provided to demonstrate how to use the MCP server:
# Set your access token
export PLAINSIGNAL_TOKEN=your_access_token
# Run the example client
npm run exampleOr run the resources example client:
# Set your access token
export PLAINSIGNAL_TOKEN=your_access_token
# Run the resources example client
npm run resources-exampleThe example client demonstrates:
Connecting to the MCP server
Listing available tools
Calling the
getReporttool with sample parametersProcessing and displaying the results
The resources example client demonstrates:
Connecting to the MCP server
Listing available resources
Reading the
listDomainsresourceProcessing and displaying the results
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.
Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.
Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.
- AgentCatOAuthcom.agentcat
Analytics and debugging for your MCP server — explore usage and sessions, then root-cause errors.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides an interface to access Google Analytics Data API through Model Context Protocol (MCP), allowing users to retrieve reports and realtime data from Google Analytics 4 properties.711 npm7MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that provides tools to interact with Matomo Analytics API, enabling management of sites, users, goals, segments, and access to analytics reports through a MCP interface.115 npmISC
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to query and analyze government website analytics from analytics.usa.gov via the Model Context Protocol, supporting single report, multiple reports, and aggregation tools.4MIT
- FlicenseNot gradedqualityCmaintenanceExposes product analytics metrics from an internal data warehouse via MCP, enabling agents to query metrics, product summaries, and event breakdowns.-