Overview
- Server URL:
https://app.periscope.sh/mcp - Protocol: MCP over HTTP (streamable)
- Authentication: OAuth 2.0 (same login as the dashboard)
- Available tools: 18 read-only query tools
- Plan requirement: Business or Enterprise (included in 14-day trial)
Setup
Claude Code
Add Periscope as a remote MCP server:Cursor
Add the MCP server in your Cursor settings (.cursor/mcp.json):
Windsurf
Add the server in your Windsurf MCP configuration:OpenCode
Add the MCP server in youropencode.json:
Other MCP clients
Any MCP client that supports remote HTTP servers can connect to Periscope. The server supports standard OAuth 2.0 discovery.Authentication
When your MCP client first calls a Periscope tool:- A browser window opens for you to sign in (same account as the Periscope dashboard)
- After authentication, the token is returned to the MCP client
- All subsequent tool calls use this token automatically
Available tools
Periscope provides 18 read-only tools organized by category.Overview
| Tool | Description |
|---|---|
ping | Health check — returns “pong” to verify the server is running |
get_overview_summary | High-level DORA summary: PRs merged, cycle time p50, production deploys, lead time p50, all with period-over-period comparison |
DORA metrics
| Tool | Description |
|---|---|
get_deployment_frequency | Daily deployment counts, success/failure breakdown, environment breakdown, DORA level |
get_lead_time | PR merge to production time — p50, p75, p95 percentiles with sample PRs |
get_change_failure_rate | Failed deployment percentage, per-service breakdown, recent failures |
get_mttr | Mean time to recovery — p50, p75, p95 with incident details |
SPACE / PR analytics
| Tool | Description |
|---|---|
get_pr_cycle_time | PR open to merge time — p50, p75, p95 with weekly trends |
get_throughput | Weekly PR merge counts and averages |
get_pr_velocity | Daily PR merge counts over time |
get_contributor_activity | Per-contributor PR counts, sizes, cycle times |
get_service_health | Per-repository health status (healthy/warning/stale) |
get_risk_signals | Detected engineering risks with recommendations |
get_combined_activity | Daily PRs merged + deployments overlaid |
Deployment details
| Tool | Description |
|---|---|
get_recent_deployments | List of recent deployments with status, duration, pipeline URL |
get_deployment_service_breakdown | Per-service deployment stats, failure rates, durations |
get_prs_in_deployment | PRs included in specific deployments with lead times |
get_slowest_lead_times | PRs with the worst lead times (bottleneck identification) |
get_undeployed_prs | Merged PRs not yet deployed to production |
Common parameters
Most tools accept these parameters:| Parameter | Type | Options | Description |
|---|---|---|---|
time_range | string | "7d", "30d", "90d", "all" | Time range to analyze |
environment | string | "production", "staging", "all" | Environment filter (some tools) |
limit | number | Any positive integer | Max results to return (some tools) |
service | string | Any service name | Service filter (some tools) |
Usage examples
Check overall engineering health
Ask your AI assistant:“How are our DORA metrics looking for the last 30 days?”The assistant will call
get_overview_summary and summarize your PRs merged, cycle time, deployment count, and lead time with period-over-period comparisons.
Investigate deployment issues
“Which services have the highest failure rate this month?”The assistant will call
get_change_failure_rate and get_deployment_service_breakdown to identify problematic services.
Find undeployed code
“Are there any merged PRs that haven’t been deployed yet?”The assistant calls
get_undeployed_prs to show code that is merged but waiting for a deployment.
Identify team risks
“Are there any risk signals I should know about?”The assistant calls
get_risk_signals to surface bus factor risks, stale services, workload imbalances, and activity anomalies.
Understand a deployment
“What PRs went out in the last production deployment?”The assistant calls
get_prs_in_deployment with a limit of 1 to show the most recent deployment and its associated PRs.
Track cycle time trends
“How has our PR cycle time changed over the last 90 days?”The assistant calls
get_pr_cycle_time with time_range: "90d" and presents the weekly trend data.
Troubleshooting
Authentication fails
Authentication fails
Ensure you are signed in to the Periscope dashboard and have an active organization. The MCP server uses the same authentication as the web app. Try signing in to the dashboard first, then retry the MCP connection.
No data returned
No data returned
Verify that you have GitHub connected and repositories monitored in Settings > Repositories. For DORA metrics, you also need deployment events flowing through the deployment webhook.
Plan restriction
Plan restriction
The MCP server requires a Business or Enterprise plan. If you are on the Free plan, sending your first deployment event starts a 14-day trial that includes MCP access.
Tools not showing up
Tools not showing up
Make sure your MCP client supports remote HTTP servers. Some older MCP clients only support stdio-based servers. Check your client’s documentation for remote server support.
Full tool reference
See the API reference for detailed parameter and response schemas.