feat: add MCP healthcheck probes and new templates (grafana, home-assistant, node-red)
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / package (pull_request) Has been cancelled

- Add healthCheck spec to templates and servers (tool, arguments, interval, timeout, failureThreshold)
- Add healthStatus, lastHealthCheck, events fields to instances
- Create grafana, home-assistant, node-red templates with healthcheck probes
- Add healthcheck probes to existing templates (github, slack, postgres, jira)
- Show HEALTH column in `get instances` and Events section in `describe instance`
- Display healthCheck details in `describe server` and `describe template`
- Schema + storage + display only; actual probe runner is future work

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-02-22 22:48:59 +00:00
parent 93adcd4be7
commit c97219f85e
22 changed files with 178 additions and 8 deletions

View File

@@ -4,6 +4,10 @@ description: GitHub MCP server for repos, issues, PRs, and code search
packageName: "@anthropic/github-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/github
healthCheck:
tool: search_repositories
arguments:
query: "test"
env:
- name: GITHUB_TOKEN
description: Personal access token with repo scope

16
templates/grafana.yaml Normal file
View File

@@ -0,0 +1,16 @@
name: grafana
version: "1.0.0"
description: Grafana MCP server for dashboards, datasources, and alerts
packageName: "@leval/mcp-grafana"
transport: STDIO
repositoryUrl: https://github.com/levalhq/mcp-grafana
healthCheck:
tool: list_datasources
arguments: {}
env:
- name: GRAFANA_URL
description: Grafana instance URL (e.g. https://grafana.example.com)
required: true
- name: GRAFANA_SERVICE_ACCOUNT_TOKEN
description: Grafana service account token (glsa_...)
required: true

View File

@@ -0,0 +1,16 @@
name: home-assistant
version: "1.0.0"
description: Home Assistant MCP server for smart home control and entity management
packageName: "home-assistant-mcp-server"
transport: STDIO
repositoryUrl: https://github.com/tevonsb/homeassistant-mcp
healthCheck:
tool: get_entities
arguments: {}
env:
- name: HASS_URL
description: Home Assistant instance URL (e.g. http://homeassistant.local:8123)
required: true
- name: HASS_TOKEN
description: Home Assistant long-lived access token
required: true

View File

@@ -4,6 +4,11 @@ description: Jira MCP server for issues, projects, and boards
packageName: "@anthropic/jira-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/jira
healthCheck:
tool: search_issues
arguments:
jql: "created >= -1d"
maxResults: 1
env:
- name: JIRA_URL
description: Jira instance URL (e.g. https://company.atlassian.net)

16
templates/node-red.yaml Normal file
View File

@@ -0,0 +1,16 @@
name: node-red
version: "1.0.0"
description: Node-RED MCP server for flow management and automation
packageName: "mcp-node-red"
transport: STDIO
repositoryUrl: https://github.com/fx/mcp-node-red
healthCheck:
tool: get_settings
arguments: {}
env:
- name: NODE_RED_URL
description: Node-RED instance URL (e.g. http://nodered.local:1880)
required: true
- name: NODE_RED_TOKEN
description: Node-RED access token (optional if no auth)
required: false

View File

@@ -4,6 +4,10 @@ description: PostgreSQL MCP server for database queries and schema inspection
packageName: "@anthropic/postgres-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/postgres
healthCheck:
tool: query
arguments:
sql: "SELECT 1"
env:
- name: POSTGRES_CONNECTION_STRING
description: PostgreSQL connection string (e.g. postgresql://user:pass@host:5432/db)

View File

@@ -4,6 +4,9 @@ description: Slack MCP server for reading channels, messages, and user info
packageName: "@anthropic/slack-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/slack
healthCheck:
tool: list_channels
arguments: {}
env:
- name: SLACK_BOT_TOKEN
description: Slack bot token (xoxb-...)