> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server Monitors

> Monitor AI tool server availability with DevHelm MCP server monitors

MCP server monitors verify that Model Context Protocol servers are running, responsive, and returning valid tool listings. Use them to monitor AI tool infrastructure that your agents and applications depend on.

<Tip>
  **Define this in code.** [YAML format](/mac/yaml/monitors) · [Terraform](/mac/terraform/monitors)
</Tip>

## When to use MCP server monitors

* **AI tool infrastructure** — verify MCP servers that power Cursor, Claude Desktop, or custom agents
* **Tool availability** — confirm specific tools are listed and available
* **Protocol compliance** — validate MCP protocol version and capabilities
* **Tool count drift** — detect unexpected changes to the tool catalog

## How it works

1. DevHelm launches the MCP server using the configured command and arguments
2. A connection is established over the MCP protocol
3. Assertions evaluate the server's response — capabilities, tool listings, protocol version
4. Response time is measured from launch to successful initialization

## Quick example

<CodeGroup>
  ```bash CLI theme={null}
  devhelm monitors create \
    --name "DevHelm MCP" \
    --type MCP_SERVER \
    --url uvx \
    --frequency 300 \
    --regions us-east
  ```

  ```yaml devhelm.yml theme={null}
  monitors:
    - name: DevHelm MCP
      type: MCP_SERVER
      config:
        command: uvx
        args: ["devhelm-mcp-server"]
        env:
          DEVHELM_API_TOKEN: ${DEVHELM_MCP_TOKEN}
      frequencySeconds: 300
      regions: [us-east]
      assertions:
        - type: mcp_connects
          severity: fail
        - type: mcp_tool_available
          toolName: list_monitors
          severity: fail
  ```
</CodeGroup>

With the CLI, `--url` is the command that launches the MCP server. Arguments and environment variables aren't settable via flags — use YAML config-as-code (`config.args`, `config.env`) or the API for the full configuration, as shown above.

## Next steps

<CardGroup cols={2}>
  <Card title="Configuration" icon="gear" href="/monitoring/mcp-server/configuration">
    Command, args, env, and all MCP assertions.
  </Card>

  <Card title="MCP Server SDK" icon="robot" href="/sdk/mcp/overview">
    The DevHelm MCP server for AI agents.
  </Card>
</CardGroup>
