MCP Servers Guide
This skill provides comprehensive guidance for working with MCP (Model Context Protocol) servers, including PixelLab, ElevenLabs, and Screenshot Analyzer.
Overview
MCP servers provide specialized capabilities:
- PixelLab: Pixel art asset generation (characters, animations, tilesets)
- ElevenLabs: Audio processing (TTS, STT, voice cloning, music)
- Screenshot Analyzer: Visual analysis of screenshots
PixelLab MCP Server
Tools Available
create_character - Generate pixel art characters
animate_character - Create character animations
get_character - Check character status and retrieve
list_characters - List all created characters
delete_character - Delete a character
create_topdown_tileset - Generate top-down game tilesets
get_topdown_tileset - Check tileset status
create_sidescroller_tileset - Generate sidescroller tilesets
get_sidescroller_tileset - Check sidescroller tileset status
create_isometric_tile - Generate isometric tiles
get_isometric_tile - Check isometric tile status
create_map_object - Generate map objects with transparent backgrounds
Critical: Non-Blocking Operations & Asset Download Workflow
All creation tools return immediately with job IDs - they process in the background (2-5 minutes). You MUST follow this complete workflow:
- Create: Submit request → Get job ID instantly
- Wait: Poll status using the appropriate
get_* tool (e.g., get_character, get_topdown_tileset) until status is "completed"
- Download: Use the download URL from the completed asset to download the file(s)
- Save: Save downloaded files to appropriate locations in the codebase (e.g.,
assets/, public/, src/assets/, public/images/)
- Use Local Files: Reference the local file paths in your code - NEVER use external URLs
Async Operation Best Practices
Polling Strategy:
- Use exponential backoff: 5s → 10s → 20s → 40s intervals
- Respect API-provided ETAs when available
- Don't poll more frequently than every 5 seconds
- Stop polling when status === "completed"
Download Validation:
- ALWAYS verify status === "completed" before download
- Handle HTTP 423 (Locked) errors gracefully
- Don't attempt download until resource is ready
Parallel Work:
- Use waiting time for parallel work:
- Code integration
- Documentation
- Test preparation
- Don't wait idly for async operations
Timeout Handling:
- Set maximum timeout (e.g., 5 minutes for character generation)
- Log progress and ETA for transparency
- Handle timeout errors gracefully
Mandatory: All Assets Must Be Local Files
- PROHIBITED: Using external URLs from PixelLab download links in your code
- REQUIRED: Download all asset files and save them to the codebase
- REQUIRED: Use local file paths when referencing assets in code
- Save assets to project-appropriate directories:
- Web projects:
public/, public/images/, src/assets/, or assets/
- Game projects:
assets/, src/assets/, or project-specific asset directories
- Check the project structure to determine the appropriate location
Example Complete Workflow
1. create_character(...) → Returns character_id
2. get_character(character_id) → Check status, repeat until "completed"
3. Extract download URL from completed character data
4. Download ZIP/image files using the download URL
5. Save to codebase: assets/characters/character_name.zip or assets/characters/character_name.png
6. Reference in code: "./assets/characters/character_name.png" (NOT the external URL)
Skill Reference
When working with PixelLab tools:
- Load the
pixellab-mcp skill for complete documentation: load_skill("pixellab-mcp")
- The skill includes full API reference, workflows, examples, and best practices
ElevenLabs MCP Server
Tools Available
text_to_speech - Convert text to speech
speech_to_text - Transcribe audio to text
text_to_sound_effects - Generate sound effects from text
voice_clone - Clone voices from audio samples
create_agent - Create conversational AI agents
compose_music - Generate music from prompts
isolate_audio - Isolate audio from files
- And more audio processing tools
⚠️ CRITICAL: AUDIO TOOLS ONLY - DO NOT USE FOR VISUAL ANALYSIS
- NEVER use ElevenLabs tools for screenshot analysis or visual tasks
- NEVER use
text_to_speech() to "verbalize" or "speak about" screenshot content
- For visual analysis of screenshots, use
analyze_screenshot() from Screenshot Analyzer MCP Server
- ElevenLabs tools are for AUDIO processing only: converting text to speech, speech to text, voice cloning, etc.
- If the task involves analyzing what you see in an image/screenshot, this is a VISUAL task requiring Screenshot Analyzer tools
Critical: Cost Warnings
MANY TOOLS INCUR API COSTS - Only use when explicitly requested by the user:
- Text-to-Speech (TTS) operations
- Speech-to-Text (STT) operations
- Voice cloning
- Agent creation and conversations
- Music composition
- Audio processing
- Outbound phone calls
Always check with the user before using cost-incurring tools unless they explicitly request them.
Skill Reference
When working with ElevenLabs tools:
- Load the
elevenlabs-mcp skill for complete documentation: load_skill("elevenlabs-mcp")
- The skill includes full API reference, workflows, examples, parameters, and best practices
- Key capabilities: TTS with multiple voices/models, STT with diarization, voice cloning, conversational AI agents with knowledge bases, music composition, audio processing
Screenshot Analyzer MCP Server
Tools Available
analyze_screenshot(screenshot, prompt) - Analyze screenshots with AI vision
Screenshot Analyzer Workflow
- Load Skill: Load the
screenshot-analysis skill for complete documentation: load_skill("screenshot-analysis")
- Analyze: Use
analyze_screenshot() with a captured screenshot and custom analysis prompts
When to Use Screenshot Analyzer
MANDATORY: Load the screenshot-analysis skill first: load_skill("screenshot-analysis")
The skill includes:
- Full API reference
- Workflows and examples
- Prompt crafting best practices
- Common use cases
- Cost optimization
- Error handling
- Workflow patterns
⚠️ CRITICAL: DO NOT USE ELEVENLABS TOOLS FOR VISUAL ANALYSIS
- NEVER use
text_to_speech() or any ElevenLabs tool for screenshot analysis
- Screenshot analysis requires
analyze_screenshot() - this is a VISUAL task, not an AUDIO task
- If you need to analyze what you see in a screenshot, use
analyze_screenshot() from Screenshot Analyzer
- Only use ElevenLabs tools (
text_to_speech(), speech_to_text(), etc.) for actual AUDIO processing tasks
Tool Selection Examples
✅ CORRECT: Screenshot Analysis Tasks
- "Analyze this screenshot to see if the login button is visible" →
analyze_screenshot()
- "Check if the error message appears on the page" →
analyze_screenshot()
- "Describe what you see in this game screenshot" →
analyze_screenshot()
- "Verify the UI layout matches the design" →
analyze_screenshot()
❌ INCORRECT: Using Audio Tools for Visual Tasks
- "Analyze this screenshot to see if the login button is visible" →
text_to_speech()
- "Check if the error message appears on the page" →
text_to_speech()
- "Describe what you see in this game screenshot" →
text_to_speech()
✅ CORRECT: Audio Processing Tasks
- "Convert this text to speech" →
text_to_speech()
- "Transcribe this audio file" →
speech_to_text()
- "Create sound effects for the game" →
text_to_sound_effects()
- "Clone this voice for the character" →
voice_clone()
Tool Selection Decision Framework
Domain Validation
| Task Type |
Correct Tool |
❌ Never Use |
| Analyze screenshot content |
analyze_screenshot() |
text_to_speech() |
| Check if UI element is visible |
analyze_screenshot() |
text_to_speech() |
| Describe what you see in image |
analyze_screenshot() |
text_to_speech() |
| Convert text to audio |
text_to_speech() |
analyze_screenshot() |
| Transcribe speech |
speech_to_text() |
analyze_screenshot() |
| Generate sound effects |
text_to_sound_effects() |
analyze_screenshot() |
Key Principles
- Visual tasks → Screenshot Analyzer
- Audio tasks → ElevenLabs
- NEVER cross domains: Visual ≠ Audio
- Cost awareness: ElevenLabs costs money - Screenshot Analyzer is free
Integration with Other Skills
This skill works with:
- tool-selection-framework: For comprehensive tool selection guidance
- screenshot-handling: For proper screenshot file management
- asset-integration-workflow: For integrating downloaded assets into projects
1---2name: mcp-servers-guide3description: Comprehensive guide to MCP servers including PixelLab (async operations, asset download), ElevenLabs (cost warnings, tool selection), and Screenshot Analyzer workflows. Use when working with MCP servers for asset generation, audio processing, or screenshot analysis.4---56# MCP Servers Guide78This skill provides comprehensive guidance for working with MCP (Model Context Protocol) servers, including PixelLab, ElevenLabs, and Screenshot Analyzer.910## Overview1112MCP servers provide specialized capabilities:13- **PixelLab**: Pixel art asset generation (characters, animations, tilesets)14- **ElevenLabs**: Audio processing (TTS, STT, voice cloning, music)15- **Screenshot Analyzer**: Visual analysis of screenshots1617## PixelLab MCP Server1819### Tools Available2021- `create_character` - Generate pixel art characters22- `animate_character` - Create character animations23- `get_character` - Check character status and retrieve24- `list_characters` - List all created characters25- `delete_character` - Delete a character26- `create_topdown_tileset` - Generate top-down game tilesets27- `get_topdown_tileset` - Check tileset status28- `create_sidescroller_tileset` - Generate sidescroller tilesets29- `get_sidescroller_tileset` - Check sidescroller tileset status30- `create_isometric_tile` - Generate isometric tiles31- `get_isometric_tile` - Check isometric tile status32- `create_map_object` - Generate map objects with transparent backgrounds3334### Critical: Non-Blocking Operations & Asset Download Workflow3536**All creation tools return immediately with job IDs** - they process in the background (2-5 minutes). You MUST follow this complete workflow:37381. **Create**: Submit request → Get job ID instantly392. **Wait**: Poll status using the appropriate `get_*` tool (e.g., `get_character`, `get_topdown_tileset`) until status is "completed"403. **Download**: Use the download URL from the completed asset to download the file(s)414. **Save**: Save downloaded files to appropriate locations in the codebase (e.g., `assets/`, `public/`, `src/assets/`, `public/images/`)425. **Use Local Files**: Reference the local file paths in your code - NEVER use external URLs4344### Async Operation Best Practices4546**Polling Strategy:**47- Use exponential backoff: 5s → 10s → 20s → 40s intervals48- Respect API-provided ETAs when available49- Don't poll more frequently than every 5 seconds50- Stop polling when status === "completed"5152**Download Validation:**53- ALWAYS verify status === "completed" before download54- Handle HTTP 423 (Locked) errors gracefully55- Don't attempt download until resource is ready5657**Parallel Work:**58- Use waiting time for parallel work:59 - Code integration60 - Documentation61 - Test preparation62- Don't wait idly for async operations6364**Timeout Handling:**65- Set maximum timeout (e.g., 5 minutes for character generation)66- Log progress and ETA for transparency67- Handle timeout errors gracefully6869### Mandatory: All Assets Must Be Local Files7071- **PROHIBITED**: Using external URLs from PixelLab download links in your code72- **REQUIRED**: Download all asset files and save them to the codebase73- **REQUIRED**: Use local file paths when referencing assets in code74- Save assets to project-appropriate directories:75 - Web projects: `public/`, `public/images/`, `src/assets/`, or `assets/`76 - Game projects: `assets/`, `src/assets/`, or project-specific asset directories77 - Check the project structure to determine the appropriate location7879### Example Complete Workflow8081```821. create_character(...) → Returns character_id832. get_character(character_id) → Check status, repeat until "completed"843. Extract download URL from completed character data854. Download ZIP/image files using the download URL865. Save to codebase: assets/characters/character_name.zip or assets/characters/character_name.png876. Reference in code: "./assets/characters/character_name.png" (NOT the external URL)88```8990### Skill Reference9192**When working with PixelLab tools:**93- Load the `pixellab-mcp` skill for complete documentation: `load_skill("pixellab-mcp")`94- The skill includes full API reference, workflows, examples, and best practices9596## ElevenLabs MCP Server9798### Tools Available99100- `text_to_speech` - Convert text to speech101- `speech_to_text` - Transcribe audio to text102- `text_to_sound_effects` - Generate sound effects from text103- `voice_clone` - Clone voices from audio samples104- `create_agent` - Create conversational AI agents105- `compose_music` - Generate music from prompts106- `isolate_audio` - Isolate audio from files107- And more audio processing tools108109### ⚠️ CRITICAL: AUDIO TOOLS ONLY - DO NOT USE FOR VISUAL ANALYSIS110111- **NEVER** use ElevenLabs tools for screenshot analysis or visual tasks112- **NEVER** use `text_to_speech()` to "verbalize" or "speak about" screenshot content113- For visual analysis of screenshots, use `analyze_screenshot()` from Screenshot Analyzer MCP Server114- ElevenLabs tools are for AUDIO processing only: converting text to speech, speech to text, voice cloning, etc.115- If the task involves analyzing what you see in an image/screenshot, this is a VISUAL task requiring Screenshot Analyzer tools116117### Critical: Cost Warnings118119**MANY TOOLS INCUR API COSTS** - Only use when explicitly requested by the user:120121- Text-to-Speech (TTS) operations122- Speech-to-Text (STT) operations123- Voice cloning124- Agent creation and conversations125- Music composition126- Audio processing127- Outbound phone calls128129**Always check with the user before using cost-incurring tools** unless they explicitly request them.130131### Skill Reference132133**When working with ElevenLabs tools:**134- Load the `elevenlabs-mcp` skill for complete documentation: `load_skill("elevenlabs-mcp")`135- The skill includes full API reference, workflows, examples, parameters, and best practices136- Key capabilities: TTS with multiple voices/models, STT with diarization, voice cloning, conversational AI agents with knowledge bases, music composition, audio processing137138## Screenshot Analyzer MCP Server139140### Tools Available141142- `analyze_screenshot(screenshot, prompt)` - Analyze screenshots with AI vision143144### Screenshot Analyzer Workflow1451461. **Load Skill**: Load the `screenshot-analysis` skill for complete documentation: `load_skill("screenshot-analysis")`1472. **Analyze**: Use `analyze_screenshot()` with a captured screenshot and custom analysis prompts148149### When to Use Screenshot Analyzer150151**MANDATORY**: Load the `screenshot-analysis` skill first: `load_skill("screenshot-analysis")`152153The skill includes:154- Full API reference155- Workflows and examples156- Prompt crafting best practices157- Common use cases158- Cost optimization159- Error handling160- Workflow patterns161162### ⚠️ CRITICAL: DO NOT USE ELEVENLABS TOOLS FOR VISUAL ANALYSIS163164- **NEVER** use `text_to_speech()` or any ElevenLabs tool for screenshot analysis165- Screenshot analysis requires `analyze_screenshot()` - this is a VISUAL task, not an AUDIO task166- If you need to analyze what you see in a screenshot, use `analyze_screenshot()` from Screenshot Analyzer167- Only use ElevenLabs tools (`text_to_speech()`, `speech_to_text()`, etc.) for actual AUDIO processing tasks168169### Tool Selection Examples170171**✅ CORRECT: Screenshot Analysis Tasks**172- "Analyze this screenshot to see if the login button is visible" → `analyze_screenshot()`173- "Check if the error message appears on the page" → `analyze_screenshot()`174- "Describe what you see in this game screenshot" → `analyze_screenshot()`175- "Verify the UI layout matches the design" → `analyze_screenshot()`176177**❌ INCORRECT: Using Audio Tools for Visual Tasks**178- "Analyze this screenshot to see if the login button is visible" → ~~`text_to_speech()`~~179- "Check if the error message appears on the page" → ~~`text_to_speech()`~~180- "Describe what you see in this game screenshot" → ~~`text_to_speech()`~~181182**✅ CORRECT: Audio Processing Tasks**183- "Convert this text to speech" → `text_to_speech()`184- "Transcribe this audio file" → `speech_to_text()`185- "Create sound effects for the game" → `text_to_sound_effects()`186- "Clone this voice for the character" → `voice_clone()`187188## Tool Selection Decision Framework189190### Domain Validation191192| Task Type | Correct Tool | ❌ Never Use |193|-----------|--------------|--------------|194| Analyze screenshot content | `analyze_screenshot()` | `text_to_speech()` |195| Check if UI element is visible | `analyze_screenshot()` | `text_to_speech()` |196| Describe what you see in image | `analyze_screenshot()` | `text_to_speech()` |197| Convert text to audio | `text_to_speech()` | `analyze_screenshot()` |198| Transcribe speech | `speech_to_text()` | `analyze_screenshot()` |199| Generate sound effects | `text_to_sound_effects()` | `analyze_screenshot()` |200201### Key Principles2022031. **Visual tasks** → Screenshot Analyzer2042. **Audio tasks** → ElevenLabs2053. **NEVER cross domains**: Visual ≠ Audio2064. **Cost awareness**: ElevenLabs costs money - Screenshot Analyzer is free207208## Integration with Other Skills209210This skill works with:211212- **tool-selection-framework**: For comprehensive tool selection guidance213- **screenshot-handling**: For proper screenshot file management214- **asset-integration-workflow**: For integrating downloaded assets into projects