Skip to main content
Glama

cockpit-mcp

A small, read-only MCP server for Cockpit CMS. It lets an AI agent understand the content behind a page — the models, fields, and types — by asking tools, instead of fetching the whole REST API or reading docs.

Generic and reusable: point it at any Cockpit v2 instance (Core or Pro) via env vars. Write it once, reuse in every project — the code is generic; only COCKPIT_URL + COCKPIT_TOKEN change per project.

Run with npx (no install)

It runs straight from GitHub — no clone, no registry:

npx -y github:Avanxo-Technology/cockpit-mcp          # latest main
npx -y github:Avanxo-Technology/cockpit-mcp#v0.1.0   # pinned to a tag

Related MCP server: MCP Server for Database

Tools

Tool

What it does

list_models

List all content models (collections & singletons) with a one-line summary. Start here.

describe_model

Field schema for one model — names, types, required, choices, linked models, nested fields. The "understand this quickly" tool.

list_items

List items for a model (Mongo-style filter, sort, fields, limit).

get_item

Fetch one item by _id.

search

Case-insensitive substring match on a text field.

All tools are GET-only; the server never mutates content.

Setup

cd cockpit-mcp
npm install
cp .env.example .env   # then fill in COCKPIT_URL and COCKPIT_TOKEN

Create the token in Cockpit admin: Settings → API → add token (a read scope is enough).

Register with opencode / Claude (stdio)

Example MCP client config:

{
  "mcpServers": {
    "cockpit": {
      "command": "npx",
      "args": ["-y", "github:Avanxo-Technology/cockpit-mcp"],
      "env": {
        "COCKPIT_URL": "http://localhost:8080",
        "COCKPIT_TOKEN": "your-token-here"
      }
    }
  }
}

Each project registers the same package and supplies its own COCKPIT_URL / COCKPIT_TOKEN — one package, reused everywhere. (For local dev against a checkout, swap command to node with the path to src/index.js.)

The server logs a connection/health line to stderr on startup (never to stdout, which carries the JSON-RPC stream).

Compatibility

Targets Cockpit v2 (Core & Pro) REST API: GET /api/content/models, /api/content/items/{model}, /api/content/item/{model}/{id}, auth via the api-key header. On startup it probes list_models; if the URL/token is wrong it warns (auth failures surface as a clear message) and tools return errors until fixed — the server itself still starts.

Available Tools

5 tools
describe_modelA

Describe one content model's field schema (names, types, required, choices, linked models, nested fields). Use this to understand the exact shape of the data behind a page or component — instead of fetching the whole API or docs.

Inputs: model (required).

get_itemA

Get a single content item by its id. Read-only.

Inputs: id (required), model (required), fields, populate.

list_itemsA

List content items for a model. Supports an optional Mongo-style filter (JSON), sort, field projection, and limit. Read-only.

Inputs: model (required), skip, sort, limit, +3 more.

list_modelsA

List all Cockpit content models (collections & singletons) with a one-line summary each. Start here to see what content exists.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a distinct operation: schema description, item retrieval by ID, filtered listing, model listing, and text search. No overlap in functionality.

    Naming Consistency4/5

    Most tools use a clear verb_noun pattern (describe_model, get_item, list_items, list_models). 'search' deviates by omitting the noun but still follows the verb-first convention. Overall consistent.

    Tool Count5/5

    Five tools is appropriate for a read-only content management server. Each tool serves a clear purpose without excess or deficiency.

    Completeness5/5

    The toolset fully covers the read-only domain: discover models, inspect schemas, retrieve items, and search. No gaps for the intended functionality.

    Related MCP Connectors

    Related MCP Servers