Eye of Sauron - Discord Bot MCP
Provides 93 tools for comprehensive Discord server management, including AI-powered chat responses, voice TTS with 20+ neural voices, moderation capabilities (ban, kick, timeout, bulk delete), channel and role management, message operations, and server information retrieval.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Eye of Sauron - Discord Bot
A Discord bot with AI-powered chat, voice TTS, World of Warships stats, and MCP (Model Context Protocol) integration for AI assistants.
Features
AI Chat - Powered by OpenRouter with 34+ free AI models (Gemini, Llama, Qwen, etc.)
Voice TTS - Natural text-to-speech with 20+ Microsoft Edge neural voices
WoWS Stats - Look up player stats and clan info from Wargaming API
Moderation - Ban, kick, timeout, bulk delete messages
Server Management - Create channels, roles, categories
MCP Integration - 93 tools for AI assistant control (Claude, etc.)
HTTP API - Optional REST API mode for web integrations
DM Support - Bot responds automatically in private messages (no prefix needed)
Related MCP server: MCP-Discord
Quick Start
Prerequisites
Node.js 18+
A Discord bot token
(Optional) OpenRouter API key for AI features
1. Clone & Install
git clone https://github.com/DawnReaverWOWS/TheFinalDiscordMCP.git
cd TheFinalDiscordMCP
npm install2. Configure
Copy the example environment file and edit it:
cp .env.example .envEdit .env:
# Required
DISCORD_TOKEN=your_bot_token_here
DISCORD_GUILD_ID=your_server_id_here
# AI Features (Optional but recommended)
OPENROUTER_API_KEY=your_openrouter_api_key_here
# Creator Configuration (Optional)
BOT_CREATOR_ID=your_discord_user_id
BOT_CREATOR_NAME=YourName
# Notifications (Optional)
BOT_NOTIFY_CHANNEL_ID=channel_id_for_bot_notifications3. Build & Run
npm run build
npm startFor development with hot reload:
npm run devGetting a Discord Bot Token
Go to Discord Developer Portal
Click "New Application" and give it a name
Go to "Bot" tab -> "Add Bot"
Click "Reset Token" and copy it (this is your
DISCORD_TOKEN)Enable these Privileged Gateway Intents:
Presence Intent
Server Members Intent
Message Content Intent
Go to "OAuth2" -> "URL Generator"
Select scopes:
bot,applications.commandsSelect permissions:
Administrator(or select individual permissions)Copy the generated URL and open it to invite the bot to your server
AI Integration
Uses OpenRouter to access 34+ free AI models. Get your API key at openrouter.ai/keys.
Supported Free Models
Model | Context | Best For |
| 1.05M | Fast, multimodal (default) |
| 131K | Multilingual chat |
| 131K | Reasoning, 100+ languages |
| 131K | 405B frontier model |
| 262K | Coding tasks |
See context/openrouterAiModels.md for the full list of 34 free models.
Using AI
Mention the bot:
@BotName what's the best ship for ranked?DM the bot: Just send a message directly - no prefix needed
The bot will respond with context-aware answers
Bot Commands
All commands use the ! prefix (except DMs which work without prefix).
AI & Chat
Command | Description | Example |
| Chat with AI |
|
DM the bot | AI responds automatically | Just send a message |
Voice
Command | Description | Example |
| Join a voice channel |
|
| Leave voice channel |
|
| Speak text via TTS |
|
| List available TTS voices |
|
| Change TTS voice |
|
| Lock voice to creator only |
|
| Unlock voice for everyone |
|
| Check voice lock status |
|
Aliases: !vc (join), !disconnect (leave), !speak/!tts (say)
Available TTS Voices
20+ natural Microsoft Edge neural voices:
US Female: aria (default), jenny, sara, ana, michelle US Male: guy, davis, tony, jason UK Female: sonia, maisie, libby UK Male: ryan, thomas, alfie Australian: natasha, william
World of Warships
Command | Description | Example |
| Look up player stats |
|
| Top 10 ships by battles |
|
| ALL ships grouped by tier |
|
| Look up clan info |
|
Aliases: !player, !lookup (for wows), !topships (for ships), !claninfo, !clanlookup (for clan)
Ships Command Options:
Filter by tier:
!ships PlayerName tier:10Filter by type:
!ships PlayerName type:bb(dd, ca, bb, cv, ss)Sort options:
!ships PlayerName sort:winrate(battles, winrate, damage, recent)
Info
Command | Description |
| Check bot latency |
| Server information |
| List server members |
| Get user information |
Moderation (Requires Permissions)
Command | Description | Example |
| Ban a member |
|
| Unban a member |
|
| Kick a member |
|
| Timeout a member |
|
| Delete messages (1-100) |
|
Aliases: !b (ban), !k (kick), !mute/!to (timeout), !clear/!purge (bulkdelete)
Messages
Command | Description | Example |
| Send a message |
|
| Read recent messages |
|
Channels (Admin Only)
Command | Description | Example |
| Create text channel |
|
| Create voice channel |
|
| Delete a channel |
|
| Create a category |
|
Roles
Command | Description | Example |
| Create a role (Admin) |
|
| Add role to user (Mod) |
|
| Remove role from user (Mod) |
|
Utility
Command | Description | Cooldown |
| Create server invite | 30s |
| Export channel chat log | 60s |
| Create a thread (Mod) | - |
Fun
Command | Description | Example |
| Ask the magic 8-ball |
|
| Get a random breadstick picture |
|
Aliases: !breadsticks, !breadstick, !carbs
Creator Mode
The bot supports a "creator priority" system for voice commands:
Set
BOT_CREATOR_IDin.envto your Discord user IDUse
!lockvoiceto lock voice commands to creator onlyWhile locked, only the creator can control voice features
Use
!unlockvoiceto allow everyone again
When asked about its creator, the bot will speak highly of them!
MCP Integration (For AI Assistants)
This bot also functions as an MCP server, allowing AI assistants like Claude to control Discord.
Claude Desktop Configuration
Add to your Claude Desktop config (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/FinalDiscordMCP/dist/index.js"],
"env": {
"DISCORD_TOKEN": "your_token_here",
"DISCORD_GUILD_ID": "your_server_id",
"OPENROUTER_API_KEY": "your_openrouter_key"
}
}
}
}HTTP API Mode
Start with HTTP API enabled:
MCP_HTTP_PORT=3001 npm startOr run in HTTP-only mode (no Discord bot, just API):
HTTP_ONLY=true MCP_HTTP_PORT=3001 npm startEnvironment Variables
Variable | Required | Description |
| Yes | Your Discord bot token |
| No | Default server ID |
| No | OpenRouter API key for AI features |
| No | Override default AI model |
| No | Creator's Discord user ID (for voice lock) |
| No | Creator's display name |
| No | Channel for startup/shutdown notifications |
| No | User ID for DM notifications (fallback) |
| No | Enable HTTP API on this port |
| No | Run without Discord bot (API only) |
| No | Enable operation logging |
| No | Enable rate limiting (default: true) |
Project Structure
TheFinalDiscordMCP/
├── src/
│ ├── index.ts # Entry point
│ ├── discord-service.ts # Discord.js wrapper
│ ├── ai-service.ts # OpenRouter AI integration
│ ├── voice-settings.ts # TTS voice configuration
│ ├── voice-priority.ts # Creator voice lock system
│ ├── commands/
│ │ ├── decorated-commands.ts # Bot commands
│ │ └── prefix-handler.ts # Command routing & AI
│ ├── services/
│ │ └── wargaming-api.ts # WoWS API integration
│ ├── decorators/
│ │ └── prefix.ts # Command decorators
│ └── core/
│ ├── DiscordController.ts
│ ├── ConfigManager.ts
│ ├── RateLimiter.ts
│ └── ...
├── context/
│ └── openrouterAiModels.md # Full list of 34 free AI models
├── dist/ # Compiled JS
├── .env # Your config (not committed)
├── .env.example # Example config
└── package.jsonDeployment
The bot includes GitHub Actions workflows for automated deployment:
CI - Runs on all pushes, builds and tests
Deploy - Deploys to VM1 and VM2 on push to main
See .github/workflows/ for configuration.
Development
# Install dependencies
npm install
# Run in dev mode (hot reload)
npm run dev
# Build for production
npm run build
# Run production build
npm start
# Type check
npx tsc --noEmitLicense
MIT - See LICENSE
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Official AI/ML API server: 10,000+ AI tools and models for chat, image, video, audio, search, data.
Build Discord communities with AI: roles, channels, modules, automations and reviewed announcements.
Discord MCP server for ChatGPT, Claude and any AI agent: list servers and channels, read channel messages, search messages, send message, reply to message, send DM, read mentions and assign role in your own Discord account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Discord yourself; Cotlet does not store your password and you need no Discord API key. About the official Discord API: Yes, Discord has an official API for bots and OAuth2 apps, but it acts as a bot that a server manager adds, not as you, and Discord has no official MCP server for it (checked 5 Nov 2026). The MCP server on Discord's docs site only searches documentation. Setup and FAQ: https://cotlet.dev/integrations/discord-api-mcp-server
The AI admin for Discord: manage channels, roles, members, moderation and automations.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Discord platform by managing servers, channels, roles, members, messages, forum posts, reactions, and webhooks.860 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Discord platform, including managing servers, channels, messages, forums, roles, members, reactions, and webhooks.860 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to operate a Discord bot and manage Discord servers, channels, forums, messages, reactions, webhooks, roles, and members.860 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Discord by managing servers, channels, forum posts, messages, reactions, webhooks, roles, and members through the Model Context Protocol.860 npmMIT