DAKboard MCP Server
A Model Context Protocol (MCP) server for managing DAKboard digital dashboards - screens, blocks, devices, loops, and metrics.
Quick Start
Option 1: NPX (No install required)
DAKBOARD_API_KEY=your_api_key npx dakboard-mcp-server
Or add to your MCP config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"dakboard": {
"command": "npx",
"args": ["dakboard-mcp-server"],
"env": {
"DAKBOARD_API_KEY": "your_api_key"
}
}
}
}
Option 2: Claude Code
claude mcp add --transport stdio dakboard -- npx dakboard-mcp-server
Then set the environment variable in your shell before launching Claude Code:
export DAKBOARD_API_KEY=your_api_key
Tools
Screens
| Tool | Description |
|---|---|
list_screens |
List all DAKboard screens |
get_screen |
Get detailed screen information including settings |
update_screen |
Update screen settings (name, orientation, dimensions, refresh rate) |
Blocks
| Tool | Description |
|---|---|
list_blocks |
List all blocks on a screen |
get_block |
Get detailed block information |
update_block |
Update block position, size, content, and visibility |
visualize_screen_layout |
Visualize spatial layout as ASCII diagram (provide screen_uuid for accurate layout) |
Loops
| Tool | Description |
|---|---|
list_loops |
List all screen loops |
get_loop |
Get loop details including screen rotation |
Devices
| Tool | Description |
|---|---|
list_devices |
List all DAKboard devices |
get_device |
Get detailed device information |
update_device |
Update device settings (name, IP address, assigned screen) |
Metrics
| Tool | Description |
|---|---|
list_metrics |
List all custom metrics |
get_metric |
Get a metric with its data points |
create_metric_data_points |
Create data points for a metric |
delete_metric |
Delete a metric and all its data points |
delete_metric_data_points |
Delete data points at a specific timestamp |
Utility
| Tool | Description |
|---|---|
test_dakboard_connection |
Test server connection and configuration |
Configuration
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
DAKBOARD_API_KEY |
Yes | - | Your DAKboard API key |
TRANSPORT_TYPE |
No | stdio |
Transport mode: stdio or httpStream |
PORT |
No | 3000 |
Port for HTTP server mode |
HOST |
No | 127.0.0.1 |
Host for HTTP server mode |
Getting Your API Key
- Log in to DAKboard
- Go to Settings > API
- Copy your API key
Development
Commands
pnpm install # Install dependencies
pnpm build # Build TypeScript
pnpm dev # Build with watch mode
pnpm test # Run tests
pnpm lint # Lint code
pnpm format # Format code
pnpm validate # Format + lint + test + build (pre-commit check)
pnpm inspect # Build and launch MCP Inspector
CLI Options
npx dakboard-mcp-server --version # Show version
npx dakboard-mcp-server --help # Show help
HTTP Server Mode
For web-based clients, use HTTP transport:
DAKBOARD_API_KEY=your_api_key TRANSPORT_TYPE=httpStream PORT=3000 node dist/index.js
The server will be available at http://127.0.0.1:3000/mcp.
Architecture
Built with:
- FastMCP - MCP server framework
- Zod - Schema validation for tool parameters
- functype - Functional programming (Either for errors, Branded types for IDs)
- ts-builds - Standardized TypeScript build toolchain
License
MIT