Skip to main content

MCP Server for Coroot

CI codecov PyPI version Python versions

A Model Context Protocol (MCP) server that provides seamless integration with Coroot observability platform. This server enables MCP clients to monitor applications, analyze performance metrics, examine logs and traces, and manage infrastructure through Coroot's comprehensive API.

Getting Started

Add this configuration to your MCP client settings:

{
  "mcpServers": {
    "coroot": {
      "command": "uvx",
      "args": ["mcp-coroot"],
      "env": {
        "COROOT_BASE_URL": "http://localhost:8080",
        "COROOT_USERNAME": "admin",
        "COROOT_PASSWORD": "your-password"
      }
    }
  }
}

Using Docker:

{
  "mcpServers": {
    "coroot": {
      "command": "docker",
      "args": ["run", "--rm", "-i", 
              "-e", "COROOT_BASE_URL=http://localhost:8080",
              "-e", "COROOT_USERNAME=admin",
              "-e", "COROOT_PASSWORD=your-password",
              "jamesbrink/mcp-coroot:latest"]
    }
  }
}

For SSO/MFA users, use session cookie authentication instead:

{
  "mcpServers": {
    "coroot": {
      "command": "uvx",
      "args": ["mcp-coroot"],
      "env": {
        "COROOT_BASE_URL": "http://localhost:8080",
        "COROOT_SESSION_COOKIE": "your-auth-cookie-value"
      }
    }
  }
}

Environment Variables

  • COROOT_BASE_URL - Your Coroot instance URL (required)
  • COROOT_USERNAME - Username for basic authentication
  • COROOT_PASSWORD - Password for basic authentication
  • COROOT_SESSION_COOKIE - Session cookie for SSO/MFA users
  • COROOT_API_KEY - API key (limited to data ingestion only)

That's it! Your MCP client can now interact with your Coroot instance.

Features

Core Capabilities

  • Application Monitoring - Real-time metrics, health checks, and performance analysis
  • Log Analysis - Search, filter, and analyze application logs with pattern detection
  • Distributed Tracing - Trace requests across microservices and identify bottlenecks
  • Infrastructure Overview - Monitor nodes, containers, and system resources
  • Incident Management - Track and analyze incidents with root cause analysis
  • Performance Profiling - CPU and memory profiling with flame graphs

Management Features

  • Project Management - Create, configure, and manage Coroot projects
  • Integration Configuration - Set up Prometheus, Slack, PagerDuty, and more
  • Dashboard Customization - Create and manage custom dashboards
  • Cost Tracking - Monitor cloud costs with custom pricing rules
  • User & Access Control - Manage users, roles, and permissions

Advanced Features

  • AI-Powered RCA - Automatic root cause analysis for application issues
  • Risk Assessment - Identify and track infrastructure and application risks
  • Deployment Tracking - Monitor deployments and their impact
  • SLO Management - Configure and track Service Level Objectives
  • Database Instrumentation - Specialized monitoring for databases

Installation

Using uvx (Recommended)

# Install and run directly
uvx mcp-coroot

Using pip

pip install mcp-coroot

Using Docker

docker run --rm -i \
  -e COROOT_BASE_URL="http://localhost:8080" \
  -e COROOT_USERNAME="admin" \
  -e COROOT_PASSWORD="your-password" \
  jamesbrink/mcp-coroot:latest

From Source

git clone https://github.com/jamesbrink/mcp-coroot.git
cd mcp-coroot
uv sync --all-groups
uv run mcp-coroot

Authentication Methods

Username/Password

Best for users with basic authentication. The server automatically handles login and session management.

Session Cookie (SSO/MFA)

Required for organizations using:

  • Single Sign-On (SAML, OIDC)
  • Multi-Factor Authentication (2FA/MFA)
  • Advanced authentication workflows

To get your session cookie:

  1. Login to Coroot through your browser
  2. Open Developer Tools (F12)
  3. Go to Application/Storage → Cookies
  4. Copy the value of the auth cookie

API Key

Only supports data ingestion endpoints (/v1/*). Cannot be used for management APIs.

Available Tools

The server provides 61 tools organized into functional categories:

🔐 Authentication & Users (5 tools)

  • get_current_user - Get authenticated user information
  • update_current_user - Update user profile
  • list_users - List all users
  • create_user - Create new users
  • get_roles - View roles and permissions

📊 Project Management (9 tools)

  • list_projects - List all accessible projects
  • get_project - Get project details
  • create_project - Create new project
  • get_project_status - Check project health
  • update_project_settings - Update project configuration
  • delete_project - Delete project
  • list_api_keys - View API keys
  • create_api_key - Generate API keys
  • delete_api_key - Delete API keys

🚀 Application Monitoring (3 tools)

  • get_application - Comprehensive application metrics
  • get_application_logs - Search and analyze logs
  • get_application_traces - View distributed traces

🌐 Overview & Analysis (5 tools)

  • get_applications_overview - All applications summary
  • get_nodes_overview - Infrastructure overview
  • get_traces_overview - Tracing summary
  • get_deployments_overview - Deployment history
  • get_risks_overview - Risk assessment

📈 Dashboard Management (5 tools)

  • list_dashboards - View dashboards
  • create_dashboard - Create dashboard
  • get_dashboard - Get dashboard details
  • update_dashboard - Update dashboard
  • delete_dashboard - Remove dashboard

🔌 Integrations (4 tools)

  • list_integrations - View integrations
  • configure_integration - Configure integration
  • test_integration - Test connectivity
  • delete_integration - Remove integration

⚙️ Configuration (9 tools)

  • list_inspections - View inspection types
  • get_inspection_config - Get inspection settings
  • update_inspection_config - Update inspections
  • get_application_categories - View categories
  • create_application_category - Create new category
  • update_application_category - Update existing category
  • delete_application_category - Delete category
  • get_custom_applications - View custom apps
  • update_custom_applications - Define custom apps

🔍 Advanced Features (15 tools)

Including RCA, profiling, cloud pricing, database instrumentation, SSO/AI configuration, and more.

Example Usage

Basic Monitoring

"Show me all applications in the production project"
"Check the health status of the API service"
"Are there any critical incidents right now?"

Troubleshooting

"Search for error logs in the payment service from the last hour"
"Show me slow database queries"
"Analyze the root cause of high latency in the frontend"

Configuration

"Set up Slack notifications for critical alerts"
"Create a dashboard for monitoring Redis performance"
"Configure SLO thresholds for the API service"

Development

Using Test PyPI Version

To use the pre-release version from Test PyPI:

{
  "mcpServers": {
    "coroot": {
      "command": "uvx",
      "args": [
        "--index-url",
        "https://test.pypi.org/simple/",
        "--extra-index-url",
        "https://pypi.org/simple/",
        "mcp-coroot"
      ],
      "env": {
        "COROOT_BASE_URL": "http://localhost:8080",
        "COROOT_USERNAME": "admin",
        "COROOT_PASSWORD": "your-password"
      }
    }
  }
}

Note: The --extra-index-url is required because Test PyPI doesn't host all dependencies.

Testing

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov

# Run specific tests
uv run pytest tests/test_server.py -v

Code Quality

# Type checking
uv run mypy src

# Linting
uv run ruff check src tests

# Formatting
uv run ruff format src tests

API Compatibility

This MCP server is compatible with Coroot v1.0+ and implements the full management API surface. For data ingestion endpoints, use the Coroot API directly with your API key.

Troubleshooting

Connection Issues

  • Verify Coroot is accessible at the configured URL
  • Check firewall rules and network connectivity
  • Ensure credentials are correct

Authentication Errors

  • Username/password authentication is recommended for automatic login
  • Session cookies expire after 7 days of inactivity
  • API keys only work for data ingestion, not management APIs

Large Response Errors

Some endpoints return large datasets. Use time filters:

  • get_application_traces - Use from_timestamp and to_timestamp
  • get_application_profiling - Limit time range to reduce data size

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Ensure all tests pass
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Metadata

Release files for mcp-coroot 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-coroot 0.1.1
File Size Uploaded
mcp_coroot-0.1.1.tar.gz 107.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-coroot 0.1.1
File Interpreter ABI Platform
mcp_coroot-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 131.2 kB

Release files / mcp_coroot-0.1.1.tar.gz

Download URL mcp_coroot-0.1.1.tar.gz
Size 107.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5909f91e7521d1ed9d7963af5528d39a84dbda5a38b39003afde4305fc118f43
BLAKE2b-256 checksum
How to use checksums
049a7091f91d7708fe3b66fc4f70183ec1c20d71eaa529cf8d63944b8b4b6f68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2025.

Transparency log

Release files / mcp_coroot-0.1.1-py3-none-any.whl

Download URL mcp_coroot-0.1.1-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61709ab757fbb7adfaf4c63ae3d95317f076837bc3b443a5ea27c7e1938303aa
BLAKE2b-256 checksum
How to use checksums
9b76f0a45eaabaa091fcb86dac78e2815f63cd8c96976bc570f496880a68a3a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page