Skip to main content
Glama

Poe Media MCP server

A local MCP server that lets Claude (Desktop or Code) generate images, videos, speech and music through your Poe API key. It follows the same design as Ben Ratcliffe's Segmind MCP server from the Medium article (TypeScript, stdio, one tool per media type, files saved locally), but talks to Poe's OpenAI‑compatible API (https://api.poe.com/v1) so you can use any Poe bot: GPT‑Image‑1, Imagen 4, FLUX, Veo 3, Sora 2, Kling, ElevenLabs, Lyria and more.

Tools

Tool

What it does

Default bot

generate_image

Text to image. Pass reference_images (local paths) to edit or remix pictures

GPT-Image-1

generate_video

Text to video, or animate a start_image

Veo-3

generate_speech

Text to speech

ElevenLabs

generate_music

Text to music

Lyria

generate_with_poe_bot

Any Poe bot by name, with optional file attachments

—

list_poe_models

Look up exact bot names (e.g. search veo, eleven)

—

Every generation tool accepts model (any Poe bot name), parameters (bot‑specific options sent as Poe's extra_body, such as {"aspect_ratio": "16:9"}), prompt_flags (Poe chat‑style flags appended to the prompt, such as --aspect 16:9, for bots that ignore parameters) and output_dir.

Results are downloaded to ~/poe-media (override with POE_OUTPUT_DIR) and the tool returns the file paths plus the original Poe URLs. Images under 750 KB are also shown inline to Claude.

Related MCP server: Gemini MCP

Install

Requires Node.js 18.17 or newer.

cd poe-media-mcp
npm install
npm run build

That produces dist/index.js. Note its absolute path, for example /Users/you/poe-media-mcp/dist/index.js.

Get your Poe API key

Create one at https://poe.com/api_key. The key goes in the MCP config's env block below; it is never written into the code. Generations spend points from your Poe account.

Add it to Claude Desktop

Edit the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "poe-media": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/poe-media-mcp/dist/index.js"],
      "env": {
        "POE_API_KEY": "your-poe-api-key",
        "POE_OUTPUT_DIR": "/Users/you/Pictures/poe-media"
      }
    }
  }
}

Restart Claude Desktop. The tools appear under the tools (🔨) menu.

Add it to Claude Code

claude mcp add poe-media -s user -e POE_API_KEY=your-poe-api-key -- node /ABSOLUTE/PATH/TO/poe-media-mcp/dist/index.js

Check it with /mcp inside Claude Code.

Try it

  • "Generate a 16:9 image of a neon Tokyo street in the rain."

  • "Make an 8 second vertical video of waves crashing on black sand with Veo-3."

  • "Read this intro aloud with ElevenLabs: Welcome to the channel!"

  • "Compose a 30 second upbeat lo‑fi track for a product teaser."

  • "Use Imagen-4-Ultra to edit ~/Desktop/photo.png so the sky is a sunset."

  • "List the Poe models with 'kling' in the name."

Configuration

Variable

Default

Purpose

POE_API_KEY

(required)

Your Poe API key

POE_OUTPUT_DIR

~/poe-media

Where files are saved

POE_IMAGE_MODEL

GPT-Image-1

Default image bot

POE_VIDEO_MODEL

Veo-3

Default video bot

POE_SPEECH_MODEL

ElevenLabs

Default speech bot

POE_MUSIC_MODEL

Lyria

Default music bot

POE_TIMEOUT_MS

600000

Request timeout (video is slow)

POE_INLINE_IMAGE_MAX_BYTES

768000

Largest image returned inline to Claude

POE_BASE_URL

https://api.poe.com/v1

API endpoint (for testing)

Notes and troubleshooting

  • Bot names are case‑sensitive and Poe adds new ones often. If a call returns 404, run list_poe_models and copy the exact name.

  • Bot options vary. Poe passes parameters straight to the bot, but each bot names its options differently (aspect_ratio, aspect, duration…). The bot's page at poe.com/<BotName>/api lists them. If a bot rejects them (often a 400 "upstream gateway failure"), the server automatically retries once with them written as prompt flags (--aspect 16:9). If an option is silently ignored, try prompt_flags yourself.

  • "Returned no downloadable media" means the bot replied with text only (for example asking a clarifying question). The bot's reply is included so Claude can adjust and retry.

  • Video timeouts. Video bots can take several minutes. Raise POE_TIMEOUT_MS if needed. Claude Desktop may also give up on very long calls; if that happens, use a faster bot such as Veo-3-Fast.

  • 401 means a bad key, 402 means you're out of Poe points, 429 means rate limited.

  • Logs go to stderr (Claude Desktop shows them in its MCP log files); stdout is reserved for the MCP protocol.

Security and privacy

  • Your Poe key lives only in your MCP client config (or a local .env, which is git‑ignored). Never commit it.

  • Files you pass as reference_images, start_image or attachments are uploaded to Poe and the bot's provider.

  • The server only downloads https links from Poe's reply; anything else is listed but not fetched.

Credits

Inspired by Ben Ratcliffe's article How I built an MCP server that lets Claude generate images, videos, and music on command and his segmind-mcp. This is an independent implementation for the Poe API, not affiliated with Poe or Quora.

License

MIT

Available Tools

6 tools
generate_imageGenerate imageA

Generate an image from a text prompt with a Poe image bot (default: GPT-Image-1; others include FLUX-pro-1.1-ultra, Imagen-4-Ultra, Ideogram-v3, Seedream-4.0, Nano-Banana). Pass reference_images to edit or remix existing pictures. Files are saved locally and their paths returned.

NameRequiredDescriptionDefault
modelNoPoe bot name, e.g. GPT-Image-1, Imagen-4-Ultra, FLUX-pro-1.1-ultra
promptYesWhat to draw
output_dirNoFolder to save files in. Defaults to /root/poe-media
parametersNoExtra bot-specific parameters sent with the request (Poe's extra_body), e.g. {"aspect_ratio": "16:9"}. Names differ per bot; see the bot's page at poe.com/<bot>/api.
aspect_ratioNoe.g. 1:1, 16:9, 9:16, 4:3
prompt_flagsNoPoe-style flags appended to the prompt, e.g. "--aspect 16:9 --duration 8". Use when a bot ignores `parameters`.
reference_imagesNoLocal image paths to edit or use as reference
generate_musicGenerate musicB

Compose music or sound from a text prompt with a Poe music bot (default: Lyria; others include ElevenLabs-Music, Stable-Audio-2.5, MiniMax music bots). Describe genre, mood, tempo and instruments.

NameRequiredDescriptionDefault
modelNoPoe bot name, e.g. Lyria, ElevenLabs-Music
promptYesGenre, mood, tempo, instruments, lyrics if supported
output_dirNoFolder to save files in. Defaults to /root/poe-media
parametersNoExtra bot-specific parameters sent with the request (Poe's extra_body), e.g. {"aspect_ratio": "16:9"}. Names differ per bot; see the bot's page at poe.com/<bot>/api.
prompt_flagsNoPoe-style flags appended to the prompt, e.g. "--aspect 16:9 --duration 8". Use when a bot ignores `parameters`.
duration_secondsNoTrack length, if the bot supports it
generate_speechGenerate speechA

Turn text into spoken audio with a Poe text-to-speech bot (default: ElevenLabs; others include ElevenLabs-v3, Hailuo-Speech-02, OpenAI TTS bots). Saves an audio file locally.

NameRequiredDescriptionDefault
textYesThe words to speak
modelNoPoe bot name, e.g. ElevenLabs, ElevenLabs-v3
voiceNoVoice name, if the bot supports choosing one
output_dirNoFolder to save files in. Defaults to /root/poe-media
parametersNoExtra bot-specific parameters sent with the request (Poe's extra_body), e.g. {"aspect_ratio": "16:9"}. Names differ per bot; see the bot's page at poe.com/<bot>/api.
prompt_flagsNoPoe-style flags appended to the prompt, e.g. "--aspect 16:9 --duration 8". Use when a bot ignores `parameters`.
generate_videoGenerate videoA

Generate a video clip from a text prompt with a Poe video bot (default: Veo-3; others include Sora-2, Kling-2.1-Master, Runway-Gen-4-Turbo, Hailuo-02, Veo-3-Fast). Optionally animate a start image. Video can take several minutes.

NameRequiredDescriptionDefault
modelNoPoe bot name, e.g. Veo-3, Sora-2, Kling-2.1-Master
promptYesDescribe the scene, motion, camera and sound
output_dirNoFolder to save files in. Defaults to /root/poe-media
parametersNoExtra bot-specific parameters sent with the request (Poe's extra_body), e.g. {"aspect_ratio": "16:9"}. Names differ per bot; see the bot's page at poe.com/<bot>/api.
start_imageNoLocal image path to animate (image-to-video)
aspect_ratioNoe.g. 16:9 or 9:16
prompt_flagsNoPoe-style flags appended to the prompt, e.g. "--aspect 16:9 --duration 8". Use when a bot ignores `parameters`.
duration_secondsNoClip length, if the bot supports it
generate_with_poe_botRun any Poe media botA

Call any Poe bot by name with a prompt and optional local file attachments, then download whatever media it returns. Use for bots the dedicated tools don't cover (upscalers, lip-sync, sound effects, background removal...).

NameRequiredDescriptionDefault
modelYesExact Poe bot name
promptYes
output_dirNoFolder to save files in. Defaults to /root/poe-media
parametersNoExtra bot-specific parameters sent with the request (Poe's extra_body), e.g. {"aspect_ratio": "16:9"}. Names differ per bot; see the bot's page at poe.com/<bot>/api.
attachmentsNoLocal file paths to send with the prompt
prompt_flagsNoPoe-style flags appended to the prompt, e.g. "--aspect 16:9 --duration 8". Use when a bot ignores `parameters`.
list_poe_modelsList Poe modelsA
Read-only

List bot/model names available through the Poe API, optionally filtered by a search term (e.g. 'veo', 'image', 'eleven').

NameRequiredDescriptionDefault
searchNoCase-insensitive filter on name/description

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedgenerate_image
    • First observedgenerate_music
    • First observedgenerate_speech
    • First observedgenerate_video
    • First observedgenerate_with_poe_bot
    • First observedlist_poe_models

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

The four generate_<media> tools each target a clearly distinct media type (image, video, speech, music), and list_poe_models is obviously a discovery tool. The only overlap is generate_with_poe_bot, which functionally could do anything the dedicated tools do, but its description explicitly scopes it to uncovered bots (upscalers, lip-sync, etc.), keeping boundaries workable.

Naming Consistency4/5

Snake_case is used throughout, and five of six tools share the generate_ prefix with a clear verb_noun structure (generate_image, generate_video, etc.). list_poe_models follows the noun-query convention and generate_with_poe_bot is slightly longer but still predictable.

Tool Count5/5

Six tools is well-scoped for a media generation server: one per media type, a model discovery tool, and a generic fallback. No redundant or filler tools, and each earns its place.

Completeness4/5

The surface covers image, video, speech, and music generation plus model discovery and a catch-all bot invoker for edge cases, which is strong coverage. The main gap is any explicit job status/retrieval for slow video generation, but the generic tool provides a workaround.

Related MCP Connectors

Related MCP Servers