openITCOCKPIT

Official registry Other

openITCOCKPIT monitoring: host and service state, history, downtimes, acknowledgements, patches

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

OCI package docker.io/openitcockpit/mcp-server:0.5.0
Claude Code
claude mcp add openitcockpit -e 'OITC_APIKEY=<your oitc_apikey>' -e 'OITC_BASEURL=<OITC_BASEURL>' -e 'OITC_TRANSPORT=stdio' -e 'OITC_ENABLE_WRITE_TOOLS=false' -e 'OITC_VERIFY_TLS=true' -- docker run -i --rm docker.io/openitcockpit/mcp-server:0.5.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "openitcockpit": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/openitcockpit/mcp-server:0.5.0"
            ],
            "env": {
                "OITC_APIKEY": "<your oitc_apikey>",
                "OITC_BASEURL": "<OITC_BASEURL>",
                "OITC_TRANSPORT": "stdio",
                "OITC_ENABLE_WRITE_TOOLS": "false",
                "OITC_VERIFY_TLS": "true"
            }
        }
    }
}

Environment variables

  • OITC_APIKEY required secret API key of a dedicated, least-privilege openITCOCKPIT user. This server presents it to openITCOCKPIT; it is never handed to a client.
  • OITC_BASEURL required Base URL of the openITCOCKPIT instance, e.g. https://openitcockpit.example.org - without a path.
  • OITC_TRANSPORT Transport mode. The image defaults to 'http', which additionally requires MCP_AUTH_TOKEN and a published port; a client that runs this container itself wants 'stdio'.
  • OITC_ENABLE_WRITE_TOOLS Register the 15 tools that change the monitoring configuration. Off by default: they are not even registered unless this is 'true'.
  • OITC_VERIFY_TLS Verify the openITCOCKPIT TLS certificate. On by default; for a self-signed instance set OITC_CA_BUNDLE rather than turning this off.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. openITCOCKPIT MCP Server
  2. Quickstart
  3. What you can ask it
  4. Limiting an instance
  5. Measuring a model
  6. Documentation
  7. Security in one paragraph
  8. License

openITCOCKPIT MCP Server

An MCP server that puts an openITCOCKPIT monitoring instance in front of an LLM client: what is broken and why, what someone already handles, what changed - and, off by default, the tools that act on it.

[!CAUTION] Use at your own risk. This server lets a language model read and - with write tools enabled - change your monitoring configuration. A model can misunderstand a request or pick the wrong call. Review what it proposes before you approve it, and start with read-only access. The software is provided "as is", without warranty or liability of any kind; see the MIT License.

  • Requires openITCOCKPIT 5.6 or newer (compatibility).
  • 42 tools, 20 read-only and 22 that change something.
  • Write tools are off by default and are not registered until you enable them.
  • Names, never IDs. Tools take hostnames, template names and container paths; the server resolves them.
  • Scope-checked writes. References are validated against the target container before anything is sent, which openITCOCKPIT's own API does not do.

Quickstart

cp .env.example .env          # fill in the two secrets, see Configuration
docker compose up --build

Point your client at http://localhost:8000/mcp with the bearer token from your .env. Compose reads that same file for the published port, so setting OITC_PORT there moves both sides at once.

Three settings matter to start: MCP_AUTH_TOKEN (what clients present to this server), OITC_BASEURL and OITC_APIKEY (what this server presents to openITCOCKPIT). Everything else has a default - all of it.

What you can ask it

AskWhat answers it
"What is broken right now?"get_problem_overview - causes separated from their consequences
"Why is db-01 critical?"get_service_health, investigate_problem
"Is anyone on it already?"the same tools: downtime and acknowledgement come with the state
"What happened during the night shift?"get_shift_summary
"Why did I get no alert for web01?"explain_notification
"Take web01 out until Monday"schedule_downtime (write)
"Which templates could web-05 use?"get_allowed_elements_for_container

Every tool by name, with its parameters and what it costs in context: docs/tools.md, generated from the code. What a result looks like and what happens when you write: docs/using-the-tools.md.

Limiting an instance

Running a monitoring instance is not one job, so a surface small enough to be easy would be too small to be useful. Instead the server keeps every tool the work needs and a toolset hands one agent its share: around ten tools, complete for that job and nothing beyond it. A tool that was never registered cannot be called at all.

OITC_TOOLSETS=health          # find things and see how they are doing
OITC_TOOLSETS=operations      # acknowledge, maintenance windows, check now
OITC_TOOLSETS=lifecycle       # take things out of the monitoring, or delete them

The shipped sets are health, operations, lifecycle, patch, reporting, catalog, onboarding, config and provisioning. Sets are defined in a file you can replace: docs/toolsets.md.

Measuring a model

oitc-mcp-eval asks operator questions against your instance and checks whether a model answers them from the tools instead of inventing. It keeps every run in SQLite, so models and changes stay comparable.

oitc-mcp-eval --model your-model --samples 3     # against the configured instance
oitc-mcp-eval --compare                          # newest run of every model
./scripts/eval-throwaway.sh --model your-model   # instance created and removed for you

docs/evals.md.

Documentation

Configurationevery setting, and which secret goes where
Connecting a clientHTTP and stdio, with working examples
InstallationDocker, from source, MCP Registry
Toolsevery tool, generated from the code
Working with the toolsresult shapes, container scope, read-modify-write
Toolsetslimiting an instance, writing your own set
Skills and promptsthe material served alongside the tools
Measuring a modelthe eval, its cases, and reading the results
Securitywhat this server can reach, and what it refuses
Architecturehow the pieces fit together
Tool designthe rules a new tool follows
openITCOCKPIT API notesthe behaviour this server works around
Versioningversion numbers and compatibility
Developmentchecks, tests, running from a checkout

Security in one paragraph

The server holds one openITCOCKPIT credential and never sends it to a client. Clients authenticate with their own token; in delegated mode each request carries a short-lived user token instead, and the server acts as that user with their permissions. Write tools stay unregistered until you enable them. The details, including what to give the openITCOCKPIT user: docs/security.md.

License

MIT.

Frequently asked questions

What is openITCOCKPIT?

openITCOCKPIT monitoring: host and service state, history, downtimes, acknowledgements, patches

How do I install openITCOCKPIT?

It runs on your machine. In Claude Code: claude mcp add openitcockpit -e 'OITC_APIKEY=<your oitc_apikey>' -e 'OITC_BASEURL=<OITC_BASEURL>' -e 'OITC_TRANSPORT=stdio' -e 'OITC_ENABLE_WRITE_TOOLS=false' -e 'OITC_VERIFY_TLS=true' -- docker run -i --rm docker.io/openitcockpit/mcp-server:0.5.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does openITCOCKPIT need an API key?

Yes. It expects OITC_APIKEY, OITC_BASEURL, which you set in its configuration.

Is openITCOCKPIT open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains openITCOCKPIT?

It is published by openITCOCKPIT. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.