🗡️ Transform mundane technical tasks into engaging fantasy adventures
A multi-interface fantasy-themed chatbot system that gamifies real-world skill development through epic quests. Features LLM-powered conversations, MCP protocol support, Slack integration, and distributed multiplayer capabilities.
- 🤖 AI-Powered Conversations - Natural language interactions with Anthropic/OpenAI
- 🎮 Gamified Learning - Master real skills through fantasy quests
- 💬 Slack Integration - Play directly from Slack with team dashboards
- 🌟 Multi-Interface - CLI, Web, API, MCP protocol, and Slack
- ⚡ Real-Time Multiplayer - Redis-powered distributed architecture
- 🔧 Production Ready - Docker support, clean architecture, TypeScript
- Node.js 18+ and npm 9+
- Git for version control
- (Optional) Redis for multiplayer features
- (Optional) Anthropic/OpenAI API key for AI conversations
# 1. Clone and install
git clone <repository-url>
cd myMCP
npm install
# 2. (Optional) Set up AI - create .env in project root
echo "ANTHROPIC_API_KEY=your-key-here" > .env
# 3. Start the engine
node tools/startup/start-engine.js
# 4. In another terminal, start the interactive CLI
cd packages/cli && npm run shellAdventure> help # See available commands
Adventure> status # Check your character
Adventure> I want to start a quest # Natural language works!
Adventure> What should I do next? # Ask your AI guide
myMCP/
├── packages/ # Monorepo packages
│ ├── engine/ # 🎮 Game engine API (Express + WebSocket)
│ ├── cli/ # 🗡️ Interactive command-line interface
│ ├── mcpserver/ # 🤖 MCP protocol server
│ ├── slack-integration/# 💬 Slack bot and dashboards
│ └── webapp/ # 🌐 React web interface (planned)
├── tools/ # Development tools
│ ├── setup/ # Setup and installation scripts
│ ├── startup/ # Service startup scripts
│ ├── testing/ # Test utilities
│ └── assets/ # Icons and images
├── shared/ # Shared code
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Common utilities
│ └── config/ # Shared configuration
├── docs/ # Documentation
│ ├── setup/ # Setup guides
│ ├── integrations/ # Integration documentation
│ └── archive/ # Historical documents
└── tests/ # Test suites
# Instead of memorizing commands...
Adventure> start-quest council-of-three-realms # Old way
# Just speak naturally!
Adventure> I'd like to help unite the three kingdoms
Adventure> What quests are available for a novice like me?
Adventure> Tell me more about the Council questYour AI guide adapts based on:
- Current quest progress
- Player level and achievements
- Recent actions and context
- Natural conversation flow
- Anthropic Claude (Recommended) - Best narrative quality
- OpenAI GPT - Alternative option
- Fallback System - Works without API keys
Transform your Slack workspace into a fantasy realm!
- 🎯 Slash Commands -
/mymcp status,/mymcp quest,/mymcp leaderboard - 📊 Live Dashboard - Auto-updating statistics in
#mymcp-dashboard - 🗨️ Team Chat - Coordinate quests in
#mymcp-game - 🏆 Achievements - Real-time notifications for level-ups and completions
- 📈 Activity Charts - Visual progress tracking
# 1. Build and configure
cd packages/slack-integration
npm install && npm run build
cp .env.example .env
# 2. Add your Slack tokens to .env
# 3. Start the integration
npm start┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Player A │ │ Player B │ │ Player C │
│ (Engine 1) │ │ (Engine 2) │ │ (Engine 3) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└───────────────────┴───────────────────┘
│
┌──────▼──────┐
│ Redis │
│ Pub/Sub │
└──────┬──────┘
│
┌───────────────────┴───────────────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ Slack │ │ MCP │
│ Integration │ │ Server │
└─────────────┘ └─────────────┘
| Component | Description | Status | Key Features |
|---|---|---|---|
| Engine | Game state API | ✅ Complete | LLM integration, Redis pub/sub, WebSocket |
| CLI | Interactive shell | ✅ Complete | Natural language, real-time chat |
| MCP Server | AI model integration | ✅ Complete | 7 resources, 9 tools, 5 prompts |
| Slack Bot | Team integration | ✅ Complete | Dashboards, commands, notifications |
| Web App | Browser interface | 🚧 Planned | React, real-time updates |
# Start services (from project root)
node tools/startup/start-engine.js # Game engine
node tools/startup/start-mcp.js # MCP server
node tools/startup/start-all.js # Everything
# Development
cd packages/cli && npm run shell # Interactive CLI
cd packages/slack-integration && npm start # Slack bot
# Testing
node tools/testing/test-interface.js # Test APIs
node tools/testing/test-engine-connection.js # Check connectivity
# Setup & Configuration
node tools/setup/setup-mcp.js # Initial MCP setup
node tools/setup/team-setup.sh # Team training setup- Clone repo and install dependencies
- Add LLM API key to
.env - Start engine and CLI
- Begin your adventure!
- Follow individual setup
- Configure Slack integration
- Create team channels
- Share Redis connection
- Coordinate quests together!
- Run
node tools/setup/setup-mcp.js - Configure Claude Desktop with generated config
- Access game directly through Claude!
- 🚀 Quick Start Guide - Get running in minutes
- 🎭 Walkthrough Guides - Step-by-step multiplayer adventures
- 🏰 Team Demo Participation - Join the Council of Three Realms
- ⚡ Quick Setup Guide - 15-minute setup for demo participants
- 💬 Slack Setup - Team integration
- 🤖 MCP Integration - AI model setup
- 🌐 Multiplayer Guide - Distributed setup
- 📖 Full Documentation - Everything else
# Check engine health
curl http://localhost:3000/health
# Test LLM integration
curl -X POST http://localhost:3000/api/actions/test-player \
-H "Content-Type: application/json" \
-d '{"type":"CHAT","payload":{"message":"Hello!"}}'
# Verify Redis connection (if using multiplayer)
redis-cli pingWe welcome contributions! The codebase uses hybrid development workflows for the best balance of speed and quality:
- Feature branches - Use for substantial changes (gets PR review & CI validation)
- Direct to main - Use for small, safe changes (docs, bug fixes)
- Quality gates - PR workflows catch issues before they reach main
- Clean architecture - TypeScript throughout with clear separation
See Development Workflow Guide for choosing the right approach.
- Never commit
.envfiles or credentials - Use
claude_desktop_config.example.jsonas a template - Redis URLs should use environment variables
- API keys should be kept private
MIT License - see LICENSE file for details.
Ready to begin your adventure? 🗡️
Get Started • Join Slack • View Quests
Transform your technical journey into an epic adventure with AI! ⚡✨