# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.5] - 2025-12-21
### Fixed
- **Glama.ai compatibility** - Server now starts without requiring DISCORD_BOT_TOKEN at startup
- Allows Glama.ai to test server capabilities during build phase
- Token is only required when tools are actually called
- Fixes ECONNRESET error during Glama.ai deployment
## [1.0.4] - 2025-12-21
### Added
- **Dockerfile** for Glama.ai compatibility - Enables one-click deployment on Glama.ai
- Uses mcp-proxy to run the server in stdio mode
- Based on debian:bookworm-slim with Node.js 20
### Removed
- Removed `server.json` - Glama.ai uses Dockerfile CMD for server discovery instead
### Changed
- Added `start:stdio` and `start:http` npm scripts for explicit transport mode selection
## [1.0.2] - 2025-12-21
### Changed
- Updated `server.json` to use the official MCP Registry schema format (`https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json`)
- Changed server name format to `io.github.scarecr0w12/discord-mcp` for MCP Registry compatibility
- Added `packages` array with npm registry configuration for Glama.ai and mcp-proxy compatibility
- Configured stdio transport as the default for npm package distribution
### Fixed
- Fixed Glama.ai mcp-proxy compatibility by using the correct MCP Registry schema format
## [1.0.1] - 2025-12-21
### Added
- **Stdio transport support** - Server now supports both HTTP and stdio transports
- Use `--stdio` flag or `MCP_TRANSPORT=stdio` environment variable
- Compatible with Claude Desktop, Cline, and mcp-proxy
- LICENSE file with ISC license
- `server.json` for MCP Registry and Glama.ai discoverability
- Attributions section in README.md for open-source dependencies
- Contributing guidelines in README.md
- License badges and Glama.ai badge in README.md
- Claude Desktop and Cline configuration examples in README.md
### Changed
- Updated `package.json` with author information, repository URL, homepage, and additional keywords
- Enhanced project description in `package.json`
- Updated README with dual transport mode documentation
## [1.0.0] - 2025-12-21
### Added
- Initial release of Discord MCP Server with HTTP transport
- Express HTTP server with StreamableHTTPServerTransport
- Session management for concurrent MCP connections
- Health check endpoint at `/health`
- Graceful shutdown handling
- Comprehensive error handling with detailed error messages
#### Server Management Tools
- `list_servers` - List all Discord servers the bot has access to
- `get_server_info` - Get detailed information about a specific server
- `modify_server` - Modify server settings (name, description, AFK channel, etc.)
#### Channel Management Tools
- `list_channels` - List all channels in a server
- `get_channel_info` - Get detailed channel information
- `create_channel` - Create a new channel (text, voice, category, etc.)
- `delete_channel` - Delete a channel
- `modify_channel` - Modify channel settings
#### Member Management Tools
- `list_members` - List server members with pagination
- `get_member_info` - Get detailed member information
- `modify_member` - Modify member properties (nickname, roles, etc.)
- `kick_member` - Kick a member from the server
- `ban_member` - Ban a member from the server
- `unban_member` - Unban a previously banned member
- `list_bans` - List all bans in a server
#### Role Management Tools
- `list_roles` - List all roles in a server
- `get_role_info` - Get detailed role information
- `create_role` - Create a new role with permissions
- `delete_role` - Delete a role
- `modify_role` - Modify role settings (name, color, permissions)
- `assign_role` - Assign a role to a member
- `remove_role` - Remove a role from a member
#### Permission Management Tools
- `get_channel_permissions` - Get channel permission overwrites
- `set_channel_permission` - Set channel permission overwrites
- `delete_channel_permission` - Delete channel permission overwrites
- `list_permissions` - List all available Discord permissions
- `sync_channel_permissions` - Sync channel permissions with parent category
#### Message Management Tools
- `send_message` - Send a message to a channel (with reply support)
- `get_messages` - Retrieve messages from a channel with pagination
- `edit_message` - Edit a bot message
- `delete_message` - Delete a message
- `bulk_delete_messages` - Bulk delete up to 100 messages
- `pin_message` - Pin a message in a channel
- `unpin_message` - Unpin a message
- `get_pinned_messages` - Get all pinned messages in a channel
- `add_reaction` - Add a reaction to a message
- `remove_reactions` - Remove reactions from a message
#### Emoji & Sticker Management Tools
- `list_emojis` - List all custom emojis in a server
- `create_emoji` - Create a custom emoji
- `delete_emoji` - Delete a custom emoji
- `modify_emoji` - Modify emoji settings
- Sticker management operations (list, create, delete, modify)
#### Webhook Management Tools
- `list_channel_webhooks` - List webhooks in a channel
- `list_guild_webhooks` - List all webhooks in a server
- `create_webhook` - Create a new webhook
- `delete_webhook` - Delete a webhook
- `modify_webhook` - Modify webhook settings
- `send_webhook_message` - Send a message via webhook
#### Invite Management Tools
- `list_invites` - List all invites in a server
- `get_invite_info` - Get detailed invite information
- `create_invite` - Create a new invite
- `delete_invite` - Delete an invite
#### Event Management Tools
- `list_events` - List scheduled events in a server
- `get_event_info` - Get detailed event information
- `create_event` - Create a new scheduled event
- `modify_event` - Modify an existing event
- `delete_event` - Delete a scheduled event
- `get_event_subscribers` - Get list of event subscribers
#### Thread Management Tools
- `list_threads` - List threads in a channel or server
- `create_thread` - Create a new thread
- `create_forum_post` - Create a forum post (thread in forum channel)
- `modify_thread` - Modify thread settings
- `delete_thread` - Delete/archive a thread
- Thread join/leave operations
- Thread member management
#### Audit & Moderation Tools
- `get_audit_logs` - Retrieve server audit logs
- `list_audit_log_types` - List available audit log action types
- `list_automod_rules` - List AutoMod rules
- `get_automod_rule` - Get AutoMod rule details
- `delete_automod_rule` - Delete an AutoMod rule
- `toggle_automod_rule` - Enable/disable an AutoMod rule