Blackjack MCP Server
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., "@Blackjack MCP Serverstart a new blackjack game with a $10 bet"
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.
Blackjack MCP Server
A Model Context Protocol (MCP) server that provides an interactive blackjack game experience using MCP-UI. This server exposes blackjack game functionality through MCP tools and provides a web-based UI for playing the game.
Features
🃏 Full Blackjack Game: Complete blackjack implementation with standard rules
🔧 MCP Tools: Blackjack game actions exposed as MCP tools
🎮 Interactive UI: React-based web interface using MCP-UI
📱 Responsive Design: Mobile-friendly interface that scales appropriately
🎨 Realistic Cards: Beautiful card designs with gradients and shadows
💰 Game State Management: Persistent game state and money tracking
⚡ Real-time Updates: Live game state synchronization
Architecture
This MCP server is built using a full-stack React Router application with integrated MCP capabilities:
Key Components
MCP Tools (
src/tools/): Game actions exposed as MCP tools for external clientsUI Routes (
src/ui/routes/): React Router components for the web interfaceGame Engine (
src/lib/game.ts): Core blackjack game logic and state managementMCP Framework (
src/framework/): Custom MCP server implementation with Express integration
MCP Tools Available
blackjack-new-game: Start a new blackjack gameblackjack-hit: Hit (take another card)blackjack-stand: Stand (end turn)blackjack-double: Double downblackjack-split: Split pairsblackjack-surrender: Surrender handblackjack-take-insurance: Take insurance betblackjack-decline-insurance: Decline insurance
Getting Started
Prerequisites
Node.js 18+
npm or pnpm
Installation
Install the dependencies:
npm installDevelopment
Start the development server:
npm run devThe server will be available at:
Web UI:
http://localhost:5173/game/:idMCP endpoint:
http://localhost:5173/mcp
Building for Production
Create a production build:
npm run buildStart the production server:
npm run startDevelopment Commands
npm run dev- Start development server with HMRnpm run build- Create production buildnpm run start- Run production servernpm run typecheck- Run TypeScript type checkingnpm run lint- Run ESLint and Prettier checksnpm run format- Format code with Prettier
Usage
As a Web Application
Navigate to
http://localhost:5173Click "Deal Cards" to start a new game
Use the action buttons to play (Hit, Stand, Double, etc.)
Game state persists across sessions
As an MCP Server
The server exposes MCP tools that can be consumed by MCP clients:
// Example MCP tool call
{
"method": "tools/call",
"params": {
"name": "blackjack-new-game",
"arguments": {
"bet": 10
}
}
}Game Rules
Standard blackjack rules apply
Dealer stands on 17
Blackjack pays 3:2
Insurance pays 2:1
Double down allowed on any first two cards
Split allowed on pairs
Surrender allowed
Project Structure
src/
├── framework/ # Custom MCP framework
│ ├── mcp-server.ts # MCP server implementation
│ └── middleware.ts # Express middleware integration
├── lib/ # Utility libraries
│ ├── game.ts # Core blackjack game logic
│ ├── db.ts # Game state persistence
│ └── shell.ts # Shell execution utilities
├── tools/ # MCP tools definitions
│ ├── index.ts # Tool exports
│ └── blackjack.ts # Blackjack game tools
└── ui/ # React Router frontend
├── routes/ # Route components
│ └── blackjack.tsx # Main game interface
└── welcome/ # Welcome page assetsDeployment
Docker Deployment
Build and run using Docker:
docker build -t blackjack-mcp .
docker run -p 3000:3000 blackjack-mcpThe containerized application can be deployed to any platform supporting Docker:
AWS ECS
Google Cloud Run
Azure Container Apps
Fly.io
Railway
Environment Variables
PORT- Server port (default: 3000 in production, 5173 in development)NODE_ENV- Environment mode
Contributing
Fork the repository
Create a feature branch
Make your changes
Run tests and linting:
npm run lint && npm run typecheckSubmit a pull request
License
Apache 2.0 License - see LICENSE file for details.
Built with ❤️ using React Router, MCP, and the engine-blackjack library.
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.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nanobot-ai/blackjack'
If you have feedback or need assistance with the MCP directory API, please join our Discord server