Skip to main content
Glama
jontiadcock

JonDash-mcp

by jontiadcock

JonDash MCP

An MCP server that lets an AI assistant — Claude Desktop, Claude Code, or any MCP client — read and manage a self-hosted JonDash dashboard.

Ask "is my dashboard up and is there an update?", "what services do I have?", "who signed in this week?" — answered from your own instance, over an authenticated API, with no browser and no screen scraping.

Status: early. One tool works today. get_server_status runs against any JonDash, because it is built on the public health probe. Everything else needs the scoped-token API described in docs/API-CONTRACT.md, which is not in JonDash yet. See Roadmap.

The JonDash project

Repository

What it is

JonDash

The dashboard itself — the app you install and run.

JonDash-addons

The official source of add-on modules and helpers, installed from inside JonDash.

JonDash-mcp (you are here)

An MCP server so an AI assistant can read and manage your instance.


Related MCP server: Uptime Agent MCP Server

How it works

Claude  ──stdio/MCP──>  jondash-mcp  ──HTTPS + Bearer token──>  JonDash  ──>  SQLite

The server holds a scoped API token and talks to JonDash's JSON API. It never touches the database, never scrapes the web UI, and never reuses a browser session — so every request goes through exactly the same permission checks as a signed-in user, and a token can never do more than the account it belongs to.

Requirements

  • Node.js 20.11+

  • A running JonDash instance you administer

  • An API token from that instance (for anything beyond the status check)

Install

git clone https://github.com/jontiadcock/JonDash-mcp.git
cd JonDash-mcp
npm install
npm run build

Configure

All configuration is environment variables:

Variable

Required

Default

Purpose

JONDASH_URL

yes

Your instance, e.g. http://localhost:3000

JONDASH_TOKEN

for everything but the status check

A token minted in JonDash

JONDASH_TIMEOUT_MS

no

10000

Per-request timeout (1000–60000)

JONDASH_ALLOW_WRITES

no

0

Set to 1 to allow write tools to be registered at all

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "jondash": {
      "command": "node",
      "args": ["C:/path/to/JonDash-mcp/dist/index.js"],
      "env": {
        "JONDASH_URL": "http://localhost:3000",
        "JONDASH_TOKEN": "jd_your_token_here"
      }
    }
  }
}

Claude Code

claude mcp add jondash --env JONDASH_URL=http://localhost:3000 --env JONDASH_TOKEN=jd_your_token_here -- node /path/to/JonDash-mcp/dist/index.js

Minting a token

(Once the API ships — see docs/API-CONTRACT.md.) In JonDash: Account → API tokens → New token, choose the scopes, confirm with your authenticator, and copy the value. It is shown once and never again. Grant read scopes only unless you have a reason not to.

Tools

Tool

Scope needed

What it does

get_server_status

none

Is JonDash up, how long has it been up, what version, is an update available

Planned, once the API exists — read first, writes opt-in:

Tool

Scope

list_services

services:read

your service tiles

list_service_groups

groups:read

shared tile bundles

list_modules

modules:read

installed add-on modules

list_users

users:read

accounts (admin)

query_audit_log

audit:read

filtered audit events (admin)

list_sessions

sessions:read

who is signed in (admin)

add_service / update_service / delete_service

services:write

manage your own tiles

enable_module / disable_module

modules:write

turn modules on and off (admin)

check_for_updates

status:read

trigger an update check

Deliberately not exposed: applying updates, restarting or shutting down the server, exporting or restoring backups, resetting a user's access, deleting users, and anything touching passwords, 2FA secrets or tokens. Those are destructive, lock-you-out, or exfiltration-shaped, and they stay in the web UI behind a real session. A bearer token sitting in an AI client's config is a weaker credential than an interactive password + 2FA login, so this server's reach is deliberately smaller than the UI's — not equal to it.

Security

  • Least privilege. The server can only do what its token's scopes allow, intersected with what the owning account is allowed. Write tools additionally require JONDASH_ALLOW_WRITES=1, so the default posture is read-only no matter how broad the token is.

  • No back doors. No database access, no HTML scraping, no cookie reuse. If the API cannot do it, this server cannot do it.

  • Secrets never surface. The token is redacted from every log line and error message, and the API never returns password hashes, 2FA secrets, backup codes, or session tokens.

  • Tool output is data, not instructions. Tile titles, module descriptions and audit entries are written by users; the server tells the model to treat them as content, never as commands.

  • Revoke at will. Deleting the token in JonDash cuts this server off immediately.

Report a security problem privately via github.com/jontiadcock rather than opening a public issue.

Development

Command

Description

npm run typecheck

tsc --noEmit

npm run build

compile to dist/

npm run dev

run from source (Node type-stripping)

npm start

run the built server

Debug output goes to stderr — stdout is the JSON-RPC channel and must carry nothing else.

Roadmap

  1. Scaffold + get_server_status against the public health probe

  2. JonDash ships scoped API tokens + /api/v1the spec (blocking, core app)

  3. Read tools: services, groups, modules, users, audit, sessions

  4. Write tools, opt-in and guarded

  5. Module-contributed tools — add-on modules declare their own MCP tools and this server registers them dynamically, so installing a module gives the assistant new abilities with no MCP release

Licence

Personal use only — see LICENSE. Same terms as JonDash: free for your own non-commercial use, no selling, no redistribution.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Enables AI assistants to interact with Grafana dashboards, datasources, alerts, incidents, and monitoring data through 43 comprehensive tools. Supports querying Prometheus metrics, Loki logs, managing incidents, and dashboard operations with full authentication support.
    43
    762
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI assistants to IonHour uptime monitoring workspaces to manage projects, monitoring checks, and incident responses. It enables users to view reliability metrics, send heartbeats, and manage status pages through natural language.
    36
    MIT

View all related MCP servers

Related MCP Connectors

  • Real-time status for 75+ AI services (OpenAI, Anthropic, Cursor). No auth, CORS-enabled.

  • AI access to Hitsteps analytics, live visitors, uptime, goals, alerts, and chats.

  • Live status, API pricing and rate limits for ChatGPT, Claude, Gemini, Cursor and 42+ AI tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jontiadcock/JonDash-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server