Skip to main content
Glama
Openclaw-Metis

codex-discord-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CODEX_MODELNoOverride Codex model (optional)
CODEX_COMMANDNoCodex executable (default: codex)
CODEX_PROFILENoUse a Codex profile (optional)
CODEX_SANDBOXNoCodex sandbox mode (default: read-only)
CODEX_WORKDIRNoWorking directory for Codex (default: process cwd)
CODEX_EXTRA_ARGSNoExtra arguments passed to Codex (optional)
CODEX_TIMEOUT_MSNoCodex process timeout in milliseconds (default: 900000)
DISCORD_BOT_TOKENYesDiscord bot token (required)
CODEX_APPROVAL_POLICYNoCodex approval policy for non-interactive bot mode (default: never)
CODEX_DISCORD_STATE_DIRNoBridge state directory (default: ~/.codex/discord)
CODEX_RESUME_BY_CHANNELNoResume one Codex thread per Discord channel (default: false)
CODEX_DISCORD_ASSUME_YESNoSuppress writable unattended bot warning (default: false)
CODEX_SKIP_GIT_REPO_CHECKNoPass --skip-git-repo-check to codex exec (default: true)
CODEX_DISCORD_ATTACHMENT_ROOTSNoAllowed outbound file roots (default: cwd, workdir, inbox)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
replyA

Reply in Discord. Pass chat_id from a queued message. Optional reply_to threads under a Discord message id. Optional files are absolute local paths.

send_messageA

Send a Discord message to an allowlisted chat. Same behavior as reply, but the name is explicit for non-reply sends.

reactA

Add an emoji reaction to a Discord message. Unicode emoji work directly; custom emoji use Discord custom emoji syntax.

edit_messageA

Edit a Discord message previously sent by the bot.

fetch_messagesB

Fetch recent Discord channel history, oldest first. Discord's bot API does not expose full search.

download_attachmentA

Download all attachments from a Discord message into the local bridge inbox and return absolute paths.

latest_generated_imagesA

Return absolute paths of the most recently generated images from Codex's built-in image_gen output directory (default ~/.codex/generated_images), newest first. Use this to recover the path of an image you just generated so you can attach it via the files array of reply or send_message.

recover_generated_imageA

Recover the most recently generated image(s) from the active Codex session rollout and write them to disk. Codex's built-in image_gen shows an inline preview but usually writes no file; this decodes the image from the session log and saves it to the generated-images dir, returning absolute path(s) ready to pass to the files array of reply/send_message. Optional count (default 1) and session_file (absolute rollout path; defaults to the newest session).

list_pending_messagesA

List queued inbound Discord messages that have not been marked handled. Use this because Codex MCP has no Discord push channel.

mark_message_handledA

Mark a queued Discord message as handled after replying or deciding no reply is needed.

bridge_statusA

Show bridge state path, queue counts, and Discord login status.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation3/5

reply and send_message are described as identical in behavior, causing clear overlap and potential misselection. latest_generated_images and recover_generated_image also serve similar purposes with subtle differences that could confuse. Other tools are distinct enough.

Naming Consistency3/5

Naming mixes verb_noun patterns (send_message, edit_message) with bare verbs (reply, react) and noun phrases (latest_generated_images, bridge_status). While most names are readable, the inconsistency undermines predictability.

Tool Count4/5

At 11 tools, the count is reasonable for a Discord integration, though a few tools (reply/send_message) appear redundant and could be consolidated. Not excessive or thin.

Completeness4/5

Core Discord operations (send, edit, react, fetch, attachments) are covered, along with a queue mechanism and status check. Missing delete message and channel listing are minor gaps; agents can work around them using existing tools.

Maintenance

ActivityStale
ResponsivenessUnresponsive