Skip to main content

MCP server for Coroot observability platform

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_jamesbrink_mcp_coroot-0.1.1.tar.gz (107.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_jamesbrink_mcp_coroot-0.1.1-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_jamesbrink_mcp_coroot-0.1.1.tar.gz.

File metadata

  • Download URL: iflow_mcp_jamesbrink_mcp_coroot-0.1.1.tar.gz
  • Upload date:
  • Size: 107.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_jamesbrink_mcp_coroot-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a351d225105b7d7ca2adbc327d62b0bc2b651fc376bf5351d751aa7416035618
MD5 54f175bb6783c7cd689f7d4a754b052f
BLAKE2b-256 305fa0831ba336041f5bad71eecdf0c662ba3f6403b4e6cc7cf4ff4288f1fbfb

See more details on using hashes here.

File details

Details for the file iflow_mcp_jamesbrink_mcp_coroot-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_jamesbrink_mcp_coroot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_jamesbrink_mcp_coroot-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bf4bb94ec8a37ffcdeb313345bead21981cddb2e3b9b7a59c9dea33f384eea1d
MD5 b96645971d086c7ad54ccdadfeefada4
BLAKE2b-256 b8e592fbb0c990e404de17a0d6d1441514474a40800c44e0b7bef451c5c9b6ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page