Skip to main content
Glama
README.md
# pipelines-mcp

Read-only MCP server for pipeline jobs, pods, configs, and logs.

It talks to the `dev` EKS cluster (`pipelines-prd` namespace) and the log store. Region `us-east-2`. SSO profile `reveliolabs` is only for EKS.

## Run

Needs Python 3.13 and [uv](https://docs.astral.sh/uv/). Cluster tools need AWS SSO for the `reveliolabs` profile.

```bash
uv sync
uv run pipelines-mcp
```

The process starts without talking to AWS. Cluster tools log you in if needed. A helper on `127.0.0.1:18201` gets the login; retry. If none, they return a URL. Over SSH: `RemoteForward 18201 127.0.0.1:18201`.

## Use in OpenCode

Add this to `~/.config/opencode/opencode.json`, or to an `opencode.json` in a project. Use the real absolute path to this repo.

```json
{
  "mcp": {
    "pipelines": {
      "type": "local",
      "command": [
        "uv",
        "run",
        "--directory",
        "/absolute/path/to/pipelines-mcp",
        "pipelines-mcp"
      ],
      "enabled": true
    }
  }
}
```

`uv` must be on PATH. Restart OpenCode after saving.

If the user gives a GitHub or Jenkins run, read that CI log first for the request_id UUID (not the run id), then read pipeline logs. If a cluster tool says AWS login started, retry the same request. Do not ask the user to open a URL unless the tool returned one.

## Dev

```bash
uv sync --group dev
uv run pytest
uv run ruff check src tests
uv run basedpyright
```

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct resource/action pairing: jobs, pods, job configs, pod configs, and two log types. Pipeline worker logs and service logs are the only overlapping pair, but the names and descriptions cleanly separate them.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using get_ or list_ prefixes. The resource nouns are uniform and predictable, with job/config/pod/log/service modifiers making the hierarchy easy to infer.

Tool Count5/5

Eight tools is a well-scoped size for a pipeline inspection server. Each tool covers a distinct need without redundancy or surface bloat.

Completeness4/5

The set provides solid read-only coverage of jobs, pods, configs, and logs, which matches an observability-focused purose. Minor gaps exist, such as no direct way to list services or aggregate request-level status, but agents can work around these using the existing list and get tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues