Skip to main content

MCP integration

MCP is a way to plug the 데브다이브-모두의창업 AI API directly into AI tools like ChatGPT, Claude, and Cursor. Once connected, you can call features such as listing models, generating text, analyzing images, and running workflows right inside the AI tool you already use.

No installation or server setup is needed. Either register the connection address and sign in, or register the connection address with an API key.


Connection address​

https://modoo.devdive.me/mcp — click the address to copy it.

Choosing how to connect​

MethodFor tools likeWhat you need
Sign-in (OAuth)ChatGPT web, Claude.ai web connectors, and other tools that support sign-in connectionsConnection address + your 모두의창업 account
API keyClaude Desktop, Cursor, Claude Code, and other tools configured with a JSON settings fileConnection address + an sk-modoo-... key issued from the dashboard

If the tool has an authentication (OAuth) option, use sign-in. If it asks you to set headers yourself, use an API key.


Connecting by sign-in (OAuth)​

Instead of copying and pasting an API key, you connect by signing in with your 모두의창업 account.

ChatGPT​

  1. Open the screen for adding a new connector (plugin) in ChatGPT.
  2. Fill it in as follows:
    • Name: any name (e.g. devdive)
    • Connection: choose Server URL and paste the connection address https://modoo.devdive.me/mcp.
    • Authentication: choose OAuth. You don't need to touch the advanced OAuth settings — they are discovered automatically.
  3. Read and check the notice, then click Create.
  4. When the 모두의창업 sign-in window opens, sign in with the ID you were issued, then click Allow (허용) on the connection request screen.
  5. Back in ChatGPT, the connection is done. Turn the connector on in a chat and try asking "Show me the available models".

Claude.ai​

  1. Go to Settings → Connectors and click Add custom connector.
  2. Give it a name, enter the connection address https://modoo.devdive.me/mcp as the remote MCP server URL, and add it.
  3. Click Connect, sign in in the window that opens, and click Allow (허용).
What to check on the connection request screen

The allow screen shows which app is requesting the connection and the address the result will be sent to. Make sure it matches the tool you added yourself (e.g. ChatGPT → chatgpt.com) before allowing. If you don't recognize the request, click Deny (거부).

Managing connected apps​

  • Under Connected apps (연결된 앱) in the dashboard, you can see each connected app, the device (browser · OS) and IP used to connect it, and when it was connected and last used.
  • If a connection is no longer needed or you don't recognize it, click Disconnect (해제). The app immediately loses access; to use it again, reconnect from the tool.
  • A sign-in connection expires automatically if it goes unused for a while (30 days), and you'll need to sign in again.
  • Usage is tracked per app, separately from API keys.

Connecting with an API key​

Claude Desktop, Cursor, Claude Code, and similar tools register the connection with a JSON configuration like the one below. Put this into each tool's MCP (or connector) settings screen.

{
"mcpServers": {
"modoo": {
"url": "https://modoo.devdive.me/mcp",
"headers": {
"Authorization": "Bearer sk-modoo-..."
}
}
}
}
  • url — the connection address above
  • Authorization in headers — the API key issued from the dashboard, in the form Bearer sk-modoo-...
Confirming the connection

After registering, restart the AI tool and the modoo tools will appear in its list. Ask in natural language, like "Show me the available models", and the tool is called automatically.


Available tools​

Once connected, you can use the following tools inside your AI tool.

ToolWhat it doesInput
list_modelsList the available models(none)
get_creditsCheck remaining credits(none)
get_usageView recent usage historylimit (optional)
get_jobCheck an async job's status/resultjob_id
generate_textGenerate textprompt, model (optional), system_prompt (optional)
text_to_speechSpeech synthesis (TTS)text, model (optional: modoo-tts-minimax|modoo-tts-eleven), voice_id (optional; required for ElevenLabs), voice_model (optional), ElevenLabs options stability·similarity_boost·style·speed·use_speaker_boost·language_code·output_format·previous_text·next_text·seed·apply_text_normalization (optional)
transcribeSpeech to text (STT)audio_url or encoded_audio, language (optional)
upload_fileSave an attached image/video/audio/PDF to your drive and get a linkone of file (ChatGPT attachment), url (https), encoded_file + file_name (base64)
list_driveList files in your drive (uploads and generated results)page (optional), size (optional, max 50)
create_upload_linkMake a one-time link for getting files into your drive when the client can't pass an attachment to a tool (Claude, ...)(none)
get_upload_linkGet the drive links of the files uploaded through an upload linklink_id
analyze_imageAnalyze an imageimage_url or encoded_image
analyze_documentAnalyze a documentfile_url or encoded_file, operation (optional)
generate_imageGenerate an image from textprompt, model (optional, default modoo-image-gpt-2-5-flare), size/n (optional), quality (optional, GPT Image only: auto·low·medium·high)
edit_imageEdit an existing image, keeping its content (image-to-image)prompt, one of image_url/image_urls/encoded_image, model (optional), quality (optional, modoo-image-gpt-edit only)
generate_videoGenerate a video from textprompt, model (optional: modoo-video|modoo-video-wan30-t2v|modoo-video-happyhorse-t2v), negative_prompt (optional), options resolution·ratio·duration·watermark·seed (optional), audio (optional, WAN 3.0 only)
animate_imageTurn an existing image into a video (image-to-video)prompt, image_url (https address), end_image_url·driving_audio_url·first_clip_url (optional, modoo-video-i2v only — closing-frame / driving-audio / clip-continuation https addresses), model (optional: modoo-video-i2v|modoo-video-happyhorse-i2v), negative_prompt (optional), HappyHorse options resolution·duration·watermark·seed (optional)
reference_to_videoGenerate a video from reference media (reference-to-video)model (optional: modoo-video-happyhorse-r2v (default)|modoo-video-wan30-r2v), prompt (required for HappyHorse, optional for WAN 3.0), reference_image_urls (1–9 required for HappyHorse), WAN 3.0-only image_url·end_image_url·reference_video_urls·reference_audio_urls·audio (optional), resolution·ratio·duration·watermark·seed (optional)
edit_videoEdit a video (video-to-video, HappyHorse 1.0)prompt, video_url (https address), reference_image_urls (optional), resolution·audio_setting (auto|origin)·watermark·seed (optional)
transfer_motionMake the person in a photo copy a video's motion (WAN image-to-action)image_url, video_url (https addresses), mode (optional: wan-std (default)|wan-pro)
generate_musicGenerate music (turn lyrics into a song)lyrics, model (optional, default music-2.5), prompt (optional)
web_searchWeb search (Brave)query
run_workflowRun a workflow (pass blocks directly, executed sequentially)blocks
run_workflow_by_idRun a workflow saved in the devdive editor by its idworkflow_id
get_workflow_runFetch a persisted workflow run (status, per-block results, charge)run_id

Input forms: image/audio/document tools take either a URL (image_url/audio_url/file_url) or encoded data (encoded_*, the file converted into text form). Most AI tools handle this automatically when you drop in a file.

Drive links: the links returned by upload_file, list_drive and get_upload_link (https://modoo.devdive.me/v1/media/...) can be used as-is anywhere a tool takes an input address (image_url, video_url, audio_url, file_url, ...). They are valid for 3 days and only work for the account that owns the file.

Async jobs: generate_image, edit_image, generate_video, animate_image, reference_to_video, edit_video, transfer_motion, generate_music, and transcribe take time, so the tool waits up to about 45 seconds and returns the final result (image/video/music URL, text) if it finishes in that time. If it takes longer, you get still_processing with a job_id, and the AI tool keeps waiting by calling get_job (up to about 45 seconds per call). This keeps calls from being cut off in tools like ChatGPT that only wait about a minute per tool call.

Result links: image/video/music links returned over MCP (https://modoo.devdive.me/v1/media/...) can be opened for 3 days after generation. Each open redirects to a fresh download address, so they don't break when an AI tool copies them around. After 3 days, generate again.

Duplicate protection: if the AI tool resends the same request while waiting, an identical generation request within 5 minutes reuses the first job instead of starting a new one (no extra charge). To get a fresh result for the same input, ask again after 5 minutes or change the input slightly.

Workflows: run_workflow executes the blocks in order, chaining an earlier block's output into a later one via {{block_id.field}}. Runs are persisted — call get_workflow_run with the returned run_id to look them up again anytime. For a workflow built in the devdive editor, skip writing blocks and pass just the id from the editor URL (/workspace/editor/{id}) to run_workflow_by_id.

Generate from an attached image​

To edit, animate or analyze your own photo or video, upload the file to your drive first, then pass the returned link to the generation tool.

  • ChatGPT: attach the image in the chat and ask, for example, "turn this photo into me wearing a monk's robe". ChatGPT saves the file to your devdive drive with upload_file and uses that link as the input of a tool such as edit_image. Occasionally the attachment does not reach the tool (mostly on mobile). If so, follow the prompt and attach the file again.
  • Claude: Claude can't pass a file attached in the chat to an MCP tool (it can see the image, but the file itself never reaches the tool). Instead, Claude makes a one-time upload link with create_upload_link.
    • If code execution is on and network access to modoo.devdive.me is allowed, Claude uploads the attachment to that link itself. Add modoo.devdive.me to the allowed domains for code execution under Settings → Capabilities (on Team/Enterprise, an admin sets this).
    • Otherwise Claude gives you a link (https://modoo.devdive.me/upload/...). Open it, choose your file(s), then go back to the chat and say "done" — Claude fetches the files with get_upload_link. No login needed.
    • An upload link takes files for 30 minutes, up to 10 files per link. Anyone with the link can add files to your drive, so don't share it.
  • Other clients (Cursor, Claude Code, ...): pass a public https address as url of upload_file. For a file on your computer, upload it to the upload_url from create_upload_link, e.g. curl -F "[email protected]" <upload_url>.
  • Files you already uploaded, and generated results, can be found again with list_drive. Links are valid for 3 days.
  • Allowed files: images, video, audio and PDF, up to 50 MB each. The type is checked from the file's content, so renamed executables, SVG/HTML files and PDFs with scripts are refused. Uploaded files are rebuilt without any hidden extras before they're stored (metadata such as a photo's location is removed too).

For how to write the blocks of a workflow (run_workflow), see the Workflows documentation.


Security note​

Handle your API key carefully

The Authorization header in the connection settings contains your API key as-is. This key is like a password, so don't share it with others or post it in a public place (for example, a public repository). If you think your key has been exposed, reissue it immediately from the dashboard.

Sign-in connections don't involve keys

With sign-in (OAuth), no API key is stored in the tool's settings; each connection gets its own tokens that are issued and expire separately. If your tool supports it, sign-in is the safer option. Disconnect anything suspicious right away under Connected apps in the dashboard.


What's next​