Koalr — Deploy Risk Scoring

Created By
Andrew McCarron2 months ago
core pull requests for deployment risk using 36 signals: change entropy, DDL migration detection, CODEOWNERS violations, coverage gaps, and more. Get a 0-100 risk score before you merge. Free tier available at koalr.com
Overview

koalr-mcp

0.5.1 • Public • Published

koalr-mcp

Koalr MCP server — connect your engineering metrics, deploy risk scoring, and DORA performance data to Claude, Cursor, Windsurf, and any MCP-compatible AI assistant.

npm version smithery badge

Quick Start

Generate an API Key

  1. Go to app.koalr.com/settings/api-keys
  2. Create a new API key with the scopes you need
  3. Copy the key (shown once) — it starts with koalr_

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "koalr": {
      "command": "npx",
      "args": ["-y", "koalr-mcp@latest"],
      "env": {
        "KOALR_API_KEY": "koalr_your_key_here"
      }
    }
  }
}

Cursor

Add to your Cursor MCP settings (~/.cursor/mcp.json):

{
  "mcpServers": {
    "koalr": {
      "command": "npx",
      "args": ["-y", "koalr-mcp@latest"],
      "env": {
        "KOALR_API_KEY": "koalr_your_key_here"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "koalr": {
      "command": "npx",
      "args": ["-y", "koalr-mcp@latest"],
      "env": {
        "KOALR_API_KEY": "koalr_your_key_here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add koalr \
  -e KOALR_API_KEY=koalr_your_key_here \
  -- npx -y koalr-mcp@latest

Environment Variables

VariableDescriptionDefault
KOALR_API_KEYYour Koalr API key (required). Starts with koalr_.
KOALR_API_URLKoalr API base URL (for self-hosted or local dev)http://localhost:3001
MCP_TRANSPORTTransport mode: stdio (default) or http stdio
PORTPort for HTTP transport mode3010

Available Tools

Organization

ToolDescription
get_org_healthComprehensive org health: DORA tier, cycle time, teams, incidents
get_well_being_summaryDeveloper well-being: focus time, meeting load, burnout signals

DORA Metrics

ToolDescription
get_dora_summaryDeploy frequency, lead time, change failure rate, MTTR
get_dora_trendWeekly trend for any DORA metric

Pull Requests

ToolDescription
get_pr_summaryCycle time, throughput, review health metrics
get_open_prsCurrently open PRs with age and risk indicators
get_at_risk_prsPRs at risk of being long-running or blocked

Teams

ToolDescription
list_teamsAll teams with IDs and member counts
get_teamTeam-level DORA and flow metrics
list_team_membersTeam roster with GitHub logins

Repositories

ToolDescription
list_repositoriesAll repos with health scores
get_repositoryRepo metrics: deployment frequency, cycle time, contributors

Developers

ToolDescription
get_developerIndividual developer metrics and recent activity
list_top_contributorsMost active contributors by commits and PRs
ToolDescription
searchSearch developers, repos, PRs, and teams by name

Coverage

ToolDescription
get_coverage_summaryTest coverage by repository with trend

Incidents

ToolDescription
list_recent_incidentsRecent incidents from PagerDuty/OpsGenie with MTTR

AI Adoption

ToolDescription
get_ai_adoption_summaryGitHub Copilot and Cursor usage metrics
get_ai_adoption_trendAI tool adoption trend over time

Example Prompts

Once connected, you can ask your AI agent things like:

  • "What is our team's DORA performance tier this month?"
  • "Show me all PRs that have been open for more than 3 days"
  • "Which developers have the highest PR throughput on the backend team?"
  • "How is our AI coding tool adoption trending?"
  • "What was our MTTR for incidents last quarter?"
  • "Find the auth-service repository and show me its deployment frequency"

HTTP Transport (Remote Hosting)

For hosting the MCP server remotely (e.g., at mcp.koalr.com):

MCP_TRANSPORT=http PORT=3010 KOALR_API_KEY=koalr_... node dist/index.js

The server exposes POST /mcp and GET /mcp endpoints following the MCP Streamable HTTP transport spec.

Local Development

# From repo root
pnpm install
pnpm exec turbo build --filter=koalr-mcp

# Run in stdio mode (test with MCP Inspector) KOALR_API_KEY=koalr_... node apps/mcp/dist/index.js

# Run in HTTP mode MCP_TRANSPORT=http KOALR_API_KEY=koalr_... node apps/mcp/dist/index.js

Server Config

{
  "mcpServers": {
    "koalr": {
      "command": "npx",
      "args": [
        "-y",
        "koalr-mcp"
      ],
      "env": {
        "KOALR_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
Project Info
Created At
2 months ago
Updated At
a month ago
Author Name
Andrew McCarron
Star
-
Language
-
License
-
Category

Recommend Servers

View All
GovQL
@Alex Stout

# govql-mcp-server An MCP (Model Context Protocol) server for [GovQL](https://govql.us) — gives AI clients like Claude Desktop, Claude Code, and Cursor direct access to the US Congressional GraphQL API at [api.govql.us/graphql](https://api.govql.us/graphql) without bespoke HTTP wiring. For the design rationale (why FastMCP-Python, the passthrough+curated philosophy, roadmap through v0.4), see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md). ## What you can do with it Ask an agent questions like: - *"How did Vermont's two senators vote on the most recent nomination?"* - *"Which legislators in the 118th Congress switched parties during their service?"* - *"Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes in the most recent Congress."* The agent picks the right tool, writes the GraphQL query against the live schema, and parses the response — no manual API wrangling. ## Install The server runs as a per-client subprocess over stdio. Pick your client: ### Claude Desktop Edit `claude_desktop_config.json` (Settings → Developer → Edit Config): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` Restart Claude Desktop. The `govql` tools appear in the tools panel. ### Claude Code Add to `.mcp.json` in your project (or `~/.mcp.json` for global): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` ### Cursor Settings → MCP → Add Server. Use the same `command` / `args` as above. ### Other clients Any MCP-compatible client that supports stdio servers will work. The command is `uvx govql-mcp-server` with no required arguments. ## Tools | Tool | Purpose | |---|---| | `execute_graphql` | Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness. | | `list_types` | Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable. | | `describe_type` | Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query. | ## Configuration All env vars are optional — the package is zero-config for end users. | Env var | Default | Purpose | |---|---|---| | `GOVQL_ENDPOINT` | `https://api.govql.us/graphql` | Endpoint to query. Override to point at a local dev stack. | | `GOVQL_TIMEOUT_MS` | `30000` | Per-request HTTP timeout. | | `LOG_LEVEL` | `INFO` | Logging level. Logs go to stderr only (stdout is reserved for the MCP transport). | ## Limits (enforced by the upstream API) - Max query depth: 10 - Max query complexity: ~10 billion points (`first: N` multiplies child cost by N — keep page sizes reasonable on deeply nested queries) - Rate limit: 100 requests / 60 s per source IP A depth or complexity violation surfaces as a GraphQL `errors` entry in the tool response so the agent can adjust and retry. ## Data freshness Every `execute_graphql` response includes a `last_ingest` ISO timestamp. Vote data refreshes hourly; legislator data refreshes daily. ## Status Version 0.1.0 ships three foundational tools: a GraphQL passthrough (`execute_graphql`) and two narrow schema-discovery tools (`list_types`, `describe_type`). Curated higher-level tools (`find_legislator`, `get_voting_record`, `compare_voters`, etc.) are planned for subsequent releases — see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md) for the roadmap. ## Links - [GovQL project site](https://govql.us) - [GraphQL API](https://api.govql.us/graphql) - [Source / issues](https://github.com/govql/govql)

3 hours ago