Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@skyspark-mcplist all sites in the current project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 issuesProduction-tested — used daily for building analytics dashboards
Quick Start
pip install skyspark-mcpCreate 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-passwordRun the server:
# SSE transport (default, port 8765)
skyspark-mcp
# stdio transport (for direct MCP client integration)
skyspark-mcp --stdioTools
Core
Tool | Description |
| Evaluate any Axon expression |
| Server info (version, project, user) |
| Read records by Haystack filter |
| Read a single record by ID |
| Full-text search across records |
CRUD
Tool | Description |
| Create a new record |
| Update record tags |
| Delete matching records |
Functions
Tool | Description |
| List project functions |
| Read function source code |
| Update function source (base64-safe) |
| Batch commit multiple functions |
| Compare current vs proposed source |
| List ALL functions including built-ins |
Content (base64-safe)
Tool | Description |
| Update view source |
| Update Docunomicon page content |
| Create record with complex tag values |
Discovery
Tool | Description |
| List views |
| List Docunomicon templates |
| List installed extensions |
| List 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
License
MIT — built by Pip 🌱
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.