MCP server by jordanburke
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 |
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