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., "@wzrdbrain MCP Servergenerate a smooth 5-trick skating combo"
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.
wzrdbrain MCP Server
An MCP (Model Context Protocol) server that provides a physics-aware combo generator for wizard-style inline skating, powered by the wzrdbrain Python package.
Unlike random trick generators, this server understands skating physics. It models moves as state transitions (direction, edge, stance, weight point), ensuring that the combinations it generates are actually executable and flow naturally.
Prerequisites
Python 3.13+
uv for dependency management
Node.js (optional, for MCP Inspector)
Installation
git clone https://github.com/your-username/wzrdbrain-mcp.git
cd wzrdbrain-mcp
uv syncClient Configuration
Claude Desktop
Open the configuration file for your operating system:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the following, replacing <ABSOLUTE_PATH_TO_PROJECT> with the actual path:
{
"mcpServers": {
"wzrdbrain": {
"command": "uv",
"args": [
"--directory",
"<ABSOLUTE_PATH_TO_PROJECT>",
"run",
"mcp-server-wzrdbrain"
]
}
}
}Restart Claude Desktop. The wzrdbrain tools will appear via the hammer icon in your chat.
Claude Code
claude mcp add wzrdbrain -- uv --directory <ABSOLUTE_PATH_TO_PROJECT> run mcp-server-wzrdbrainGemini CLI
Add to .gemini/settings.json (project-level) or ~/.gemini/settings.json (user-level), replacing <ABSOLUTE_PATH_TO_PROJECT> with the actual path:
{
"mcpServers": {
"wzrdbrain": {
"command": "uv",
"args": [
"--directory",
"<ABSOLUTE_PATH_TO_PROJECT>",
"run",
"mcp-server-wzrdbrain"
]
}
}
}See the Gemini CLI MCP docs for additional options like timeout and env.
MCP Inspector
Test the tools locally before connecting to a client:
npx @modelcontextprotocol/inspector uv run mcp-server-wzrdbrainTools
generate_skating_combo
Generates a physics-aware sequence of inline skating tricks.
Parameter | Type | Default | Range |
| integer | 3 | 1–20 |
Each line shows the trick name and its entry/exit state (direction/edge/stance/point):
1. Front Soul Slide: front/outside/open/all → front/outside/open/all
2. Front Mizu Slide: front/inside/open/all → front/inside/open/all
3. Front Fast Slide: front/outside/open/all → front/outside/open/alllist_trick_categories
Returns the available trick categories as a sorted list. No parameters.
['base', 'manual', 'pivot', 'slide', 'swivel', 'transition', 'turn']get_tricks_by_category
Lists all tricks in a given category. Case-insensitive.
Parameter | Type | Required |
| string | yes |
Tricks in category:
- Back Predator (Open)
- Back Predator One
- Front Predator (Open)
- Front Predator OneInvalid categories return an error listing valid options:
Error: Invalid category. Valid categories are: base, manual, pivot, slide, swivel, transition, turnPrompts
skating_practice_routine
A prompt template that instructs the LLM to generate a 4-trick combo and structure it into a 30-minute practice session:
Warm-up (5 minutes)
Trick Breakdown & Practice (15 minutes)
Combo Execution (5 minutes)
Cool-down (5 minutes)
Error Messages
Message | Cause |
| Passed a string, float, or non-integer type |
| Value outside the allowed range |
| Unrecognized category name |
| Unexpected exception from wzrdbrain |
Development
Setup
uv sync --extra testRunning Tests
# All tests
uv run pytest -v
# Single test
uv run pytest tests/test_server.py::TestGenerateSkatingComboHappy::test_default_three_tricks
# Coverage (target: 100%)
uv run pytest --cov=wzrdbrain_mcp --cov-report=term-missingProject Structure
src/wzrdbrain_mcp/server.py # All MCP tools, prompts, and the entry point
tests/test_server.py # Full test suite
pyproject.toml # Dependencies (pinned with ==) and pytest configArchitecture
FastMCP decorated functions are plain callables — tests call them directly without an MCP client.
wzrdbrainlibrary provides two touchpoints:wzrdbrain.generate_combo()for combo generation andMOVESdict for the trick catalog.State transitions are modeled as
direction/edge/stance/point.Input validation returns error strings, not exceptions. Maintain this pattern for new tools.
Output sanitization validates the structure of
wzrdbrainresponses before formatting.Logging goes to stderr only. User input is sanitized via
_sanitize_for_log()before logging to prevent log injection.Dependencies are pinned with exact versions (
==) inpyproject.tomland locked viauv.lock.
Adding a New Tool
Add a
@mcp.tool()function inserver.pyValidate all inputs (type checks, range bounds) — return error strings for invalid input
Sanitize outputs from
wzrdbrainbefore returningLog user-supplied values through
_sanitize_for_log()onlyAdd tests in
tests/test_server.py— direct calls for happy paths,unittest.mock.patchfor error pathsVerify coverage stays at 100%:
uv run pytest --cov=wzrdbrain_mcp --cov-report=term-missingUpdate this README with the new tool's documentation
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.