MCP Hub
Back to servers

skyspark-mcp

Enables AI assistants to interact with SkyFoundry SkySpark building automation data via the Model Context Protocol. It allows users to evaluate Axon expressions, perform CRUD operations on records, and manage project functions through a comprehensive suite of 21 tools.

Updated
Feb 17, 2026

skyspark-mcp

MCP server for SkySpark — connect AI assistants to your building automation data.

Evaluate Axon expressions, read/write records, manage functions, and explore your SkySpark projects through the Model Context Protocol.

Features

  • 21 tools for comprehensive SkySpark interaction
  • SCRAM, token, or no-auth — works with any network setup (including Tailscale)
  • Multi-project — target different projects from the same server
  • Base64-safe commits — avoids Axon ${} string interpolation issues
  • Production-tested — used daily for building analytics dashboards

Quick Start

pip install skyspark-mcp

Create a .env file (see .env.example):

SKYSPARK_HOST=192.168.1.100
SKYSPARK_PORT=8080
SKYSPARK_PROJECT=demo
SKYSPARK_AUTH=scram
SKYSPARK_USERNAME=su
SKYSPARK_PASSWORD=your-password

Run the server:

# SSE transport (default, port 8765)
skyspark-mcp

# stdio transport (for direct MCP client integration)
skyspark-mcp --stdio

Tools

Core

ToolDescription
ss_evalEvaluate any Axon expression
ss_aboutServer info (version, project, user)
ss_readRead records by Haystack filter
ss_read_by_idRead a single record by ID
ss_searchFull-text search across records

CRUD

ToolDescription
ss_createCreate a new record
ss_updateUpdate record tags
ss_deleteDelete matching records

Functions

ToolDescription
ss_func_listList project functions
ss_func_readRead function source code
ss_func_commitUpdate function source (base64-safe)
ss_func_commit_batchBatch commit multiple functions
ss_func_diffCompare current vs proposed source
ss_funcs_allList ALL functions including built-ins

Content (base64-safe)

ToolDescription
ss_view_updateUpdate view source
ss_page_updateUpdate Docunomicon page content
ss_rec_createCreate record with complex tag values

Discovery

ToolDescription
ss_viewsList views
ss_templatesList Docunomicon templates
ss_libsList installed extensions
ss_projectsList available projects

Authentication

SCRAM (default)

Standard SkySpark authentication. Set SKYSPARK_USERNAME and SKYSPARK_PASSWORD.

No Auth

For trusted networks (Tailscale, VPN, localhost). Set SKYSPARK_AUTH=none. The server strips auth headers automatically.

Token

Pre-shared auth token. Set SKYSPARK_AUTH=token and SKYSPARK_PASSWORD=your-token.

Multi-Project

Every tool accepts an optional project and server parameter:

ss_eval(expr="readAll(site)", project="other_project")
ss_read(filter_expr="site", server="http://other-server:8080", project="demo")

Clients are pooled per server+project combination.

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "skyspark": {
      "command": "skyspark-mcp",
      "args": ["--stdio"],
      "env": {
        "SKYSPARK_HOST": "192.168.1.100",
        "SKYSPARK_PORT": "8080",
        "SKYSPARK_PROJECT": "demo",
        "SKYSPARK_AUTH": "scram",
        "SKYSPARK_USERNAME": "su",
        "SKYSPARK_PASSWORD": "your-password"
      }
    }
  }
}

Usage with mcporter

# SSE
npx mcporter call --allow-http 'http://localhost:8765/mcp.ss_eval(expr: "readAll(site)")'

# stdio
npx mcporter call --stdio "skyspark-mcp --stdio" 'ss_eval(expr: "1 + 1")'

Dependencies

  • phable — Python Haystack client
  • FastMCP — MCP server framework

License

MIT — built by Pip 🌱

Reviews

No reviews yet

Sign in to write a review