mcp-sprites
v0.1.1
Published
MCP server that serves character emotion sprites to LLMs
Maintainers
Readme
mcp-sprites 🎭
An MCP (Model Context Protocol) server that serves character emotion sprites to LLMs. Give your AI assistant a face!
The Problem
LLMs in chat interfaces are text-only. But humans communicate with expressions! This MCP fills the gap:
- Sprites → Instantly usable web URLs
- Agent uses in conversation →
 - Works in any markdown-capable chat UI
Features
- 🎨 JSON-backed character packs (easy to extend)
- 🔧 Simple tools for listing and fetching sprites
- 📝 Markdown output ready for chat UIs
- 📦 Ships with 2 packs:
aria(anime-style) andmemes(33 animal meme emotions!)
Installation
npm install mcp-spritesMCP Client Config
Add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"sprites": {
"command": "npx",
"args": ["mcp-sprites"]
}
}
}Tools
| Tool | Description |
|------|-------------|
| list_characters() | Returns available character packs |
| list_emotions(character) | Returns emotions for a character |
| get_sprite(character, emotion) | Returns  markdown |
| get_sprite_url(character, emotion) | Returns just the URL |
| random_emotion(character) | Returns a random emotion sprite |
Built-in Character Packs
aria - Anime-style character
7 emotions: neutral, surprised, happy, worried, shocked, excited, smug
memes - Animal meme reactions
33 emotions including:
| Happy | Sad | Angry | Thinking | |-------|-----|-------|----------| | excited | empty_inside | annoyed | skeptical | | lovestruck | deeply_sad | crazy_angry | pondering | | chill_vibes | mourning | frustrated | denial | | happy | sobbing | angry | confused | | loving | pepe_crying | | bewildered | | dancing | pepe_sad | | | | cheering | | | | | cozy | | | | | delighted | | | |
Plus: guilty_pleasure, terrified, pepe_anxious, dramatic, mischievous, watching_drama, pleading, hungry
Example Usage
In your system prompt:
You have access to mcp-sprites. Use get_sprite("memes", "emotion")
to express your feelings visually in chat!Then the LLM can do:
get_sprite("memes", "excited") → Adding Custom Characters
Edit src/characters.json:
{
"my_character": {
"emotions": ["happy", "sad", "angry"],
"urls": {
"happy": "https://your-cdn.com/happy.png",
"sad": "https://your-cdn.com/sad.png",
"angry": "https://your-cdn.com/angry.png"
}
}
}Or use indexed URLs:
{
"my_character": {
"baseUrl": "https://your-cdn.com/sprites/{index}.png",
"emotions": ["happy", "sad", "angry"]
}
}Use Cases
- AI Assistants with personality - Give Claude, GPT, etc. visual reactions
- Roleplay/Character bots - Display character sprites in chat
- Educational bots - Visual feedback for learning apps
- Customer support - Friendly visual cues
License
MIT
