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., "@Vestaboard MCP ServerSend 'Welcome to the office!' to the Vestaboard"
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.
Vestaboard MCP Server
A Model Context Protocol server for controlling Vestaboard displays via both cloud and local APIs.
Features
Cloud API Support: Send messages, read current display, manage transitions
Local API Support: Direct control of devices on your network
Message Formatting: Convert text to character codes automatically
Animation Effects: Animate message display with multiple strategies
Environment Configuration: Use
.envfiles for API credentials (minimal deps)Type Safe: Full Python type hints with mypy support
Installation
Prerequisites
Python 3.10+
A Vestaboard device
Setup
# Clone and install
git clone https://github.com/lintility/vestaboard-mcp.git
cd vestaboard-mcp
pip install -e .
# Configure credentials
cp src/.env.example .envEdit .env with your API credentials:
VESTABOARD_CLOUD_TOKEN: Get from https://www.vestaboard.com/account/integrationsVESTABOARD_LOCAL_ENABLEMENT_TOKEN: Sent via email by VestaboardVESTABOARD_LOCAL_API_KEY: Auto-populated after enabling local API (optional)
Usage
Run the Server
python -m src.serverConfigure with Claude
Add to ~/.config/claude/mcp.json:
{
"mcpServers": {
"vestaboard": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/vestaboard-mcp",
"env": {
"VESTABOARD_CLOUD_TOKEN": "your_token",
"VESTABOARD_LOCAL_API_KEY": "your_local_key"
}
}
}
}Available Tools
Cloud API
cloud_read_message: Get current display
cloud_send_message: Send text or character codes
cloud_format_message: Convert text to character codes
cloud_get_transition: Get transition settings
cloud_set_transition: Set animation effects (wave, drift, curtain, classic)
Local API
local_enable_api: Activate local API (one-time setup)
local_send_message: Send message with optional animation
local_read_message: Read current display
Project Structure
vestaboard-mcp/
├── src/
│ ├── server.py # MCP server implementation
│ ├── vestaboard.py # API client classes
│ └── .env.example # Configuration template
├── tests/
│ └── test_server.py # Test suite
├── pyproject.toml # Dependencies and config
└── README.md # This fileDevelopment
# Run tests
pytest tests/
# Format code
black src/ tests/
# Lint
ruff check src/ tests/
# Type check
mypy src/Dependencies
Core:
mcp>=0.1.0- Model Context Protocol SDKhttpx>=0.24.0- Async HTTP clientpython-dotenv>=1.0.0- Environment configuration
Dev:
pytest>=7.4.0- Testingpytest-asyncio>=0.21.0- Async test supportblack>=23.0.0- Code formattingruff>=0.0.275- Lintingmypy>=1.0.0- Type checking
API Documentation
Resources
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.