Nutcracker
com.heynutcracker/nutcrackerVersion 1.0.0Creative work for brand teams: strategy, copy, ideas, research, decks, key visuals and video ads.
Status
Responds301 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:00 UTC
- Latency
- 301 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://heynutcracker.com/mcpResponds301 msNo sign-in
Claude Code
claude mcp add --transport http nutcracker https://heynutcracker.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: nutcracker
Remote MCP server URL: https://heynutcracker.com/mcpCursor
{
"mcpServers": {
"nutcracker": {
"url": "https://heynutcracker.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"nutcracker","type":"http","url":"https://heynutcracker.com/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
32 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
add_imagesSort images you sent to a space (upload_file with space_id) into its collections, as a drop in the app: each lands in the collection and group it fits, and images that fit none start a new collection. The answer says where each landed, with app links, and gives a drop_id: undo_drop takes the whole drop back within a day. Sorting looks at every image, so a big drop takes up to a minute. | No | No | Not declared | No |
create_docMake a new doc in a space from your Markdown, for material a task should read (pass its id in doc_ids) or a text your human wants kept. It starts private to your human; the team sees it once shared or pinned. A body in a file on your disk: leave out content, then send the file to the upload_url you get, e.g. curl -T <path> '<upload_url>'; the answer is the new doc, and each send makes another. The link works for 15 minutes. | No | No | Not declared | No |
create_elementMake an @element in a space from images, a video or a voice you sent there, so every image and video made in the space and its sub-spaces keeps that character, product or place the same when a prompt names @name. Send each file with upload_file and space_id first. The answer has the element_id. | No | No | Not declared | No |
create_spaceMake a space when list_spaces has none that fits. If this place already has a space with the name, that one comes back with created: false instead of a second. If a space with a similar name exists anywhere, nothing is made and only those come back, as similar: use the one that is the same project, or call again with create_anyway: true when none is. A sub-space (parent_id) also reads its parent's pinned docs and elements, and takes its parent's scope. Otherwise scope decides who sees it: personal, the default, is your human alone; team is everyone in the workspace, so make a team space only when your human agrees. | No | No | Not declared | No |
delete_spaceSend a space to Trash with everything in it: sub-spaces, chats, docs, rolls, files, pins and collections. It can be restored from Trash in the app for 30 days. This is refused until your human agrees: ask them, then call again with agreed: true. Only who made the space, or a workspace admin, can delete it. To keep the work, merge_space or move it first. | Yes | No | Not declared | No |
duplicate_docCopy a doc, presentation or storyboard to start the next round from, keeping the original as it is. The copy is private to your human and lands in the same space when they can open it; comments, versions and sharing stay behind. A storyboard's copy picks from the same roll, and a presentation's drops slides not written yet. | No | No | Not declared | No |
exportA file of a doc, presentation or storyboard to download and attach: pdf or docx for a doc, pptx or pdf for a presentation, the frames as a zip for a storyboard (full size; zip_small to attach to a mail). To see how a presentation is drawn, read its pdf, or one slide as png with slide_id. Returns a download url that works for 15 minutes; the file is made when the url is fetched, which can take up to a minute for a presentation. An X-Missing-Pictures response header counts pictures that could not be reached and were left out. | No | Yes | Not declared | No |
generateRun one image or video card from get_task: this spends the workspace credits, so ask your human first, naming the card and its price. Refused when the price is no longer accept_price or the card now leaves out other images; read get_task again without seen then. The result lands in the task roll; poll get_task for files. | No | No | Not declared | No |
get_creditsThe workspace's credits left, before you plan or agree to media spend. unlimited means no credits limit spending and prices are for reference, since nothing is deducted; still ask your human before generate. blocked says why it can spend nothing now, and fix who can add more. | No | Yes | Not declared | No |
get_taskWhere a task stands: running, needs_input (answer the question with reply), done, or failed. While running, progress names the step in flight (research, skill, ...; null while it thinks or writes the reply), its latest headline, and how many sources research has read. Returns the answer the latest reply ends with (a failed task: all it wrote) with evidence as links and [image card: name] where a card stands, the sources it cites, the skills it used, the other AI behind a take, the documents the task made (id, title, url), its images, video and sound with file urls and the credits each spent, and the image and video cards of the latest reply with their price (made: true when the card already has its picture or clip, so generate would buy another take): run one with generate once your human agrees to the price. | No | Yes | Not declared | No |
list_elementsThe @elements of a space (a character, product, place or voice with its reference media), including those it inherits from parent spaces: each element_id, name, description and media (media_id, kind, url, and seconds for video and audio). An inherited one names the space it comes from; change it there. Elements of a single roll are in read_roll. | No | Yes | Not declared | No |
list_modelsThe models this user can use. image, video and sound: house default first, with sizes, ratios, lengths and what each takes. A task uses the default unless the brief or reply names one; prices show on the cards get_task returns. writer: the models reply's another_ai can name; start_task's model takes only those with chat true. | No | Yes | Not declared | No |
list_spaceEverything in one space: docs (type doc, deck for a presentation, or storyboard), chats, rolls of images and video, and uploaded assets, newest first, with app links and whether a doc has a public link. Pass cursor to read on. pins lists what every chat here reads, parent spaces included; files lists the space's Files, the documents every chat here can read. collections lists how the space's images are sorted, with the groups in each, parent spaces included. | No | Yes | Not declared | No |
list_spacesSpaces in the connected workspace this user can open, most recently active first. path shows nesting ("Kova / Winter launch"): a sub-space also reads its parents' pinned docs and elements. scope says who sees the work: team is everyone in the workspace, personal is your human alone. Pass query to find one by name. | No | Yes | Not declared | No |
list_workThe kinds of work Nutcracker knows, each with what it returns (gives), the shapes it starts from (takes) and the shape it hands on (makes). Shapes run brief, evidence, insight, strategy, idea, platform, execution; review judges finished work. Name one in the brief when it fits ("run a 4C Scan"); otherwise describe the outcome and Nutcracker picks. | No | Yes | Not declared | No |
merge_spaceFold a duplicate space into another: its chats, docs, rolls, files, pins, collections, sub-spaces and memory move into into_id, and the emptied space goes to Trash. Both must sit under the same Personal or Team. This is refused until your human agrees: ask them, then call again with agreed: true. Only who made the space, or a workspace admin, can merge it. files_already_there in the result names the files into_id already held, as into_id names them: the merged space's copies went to Trash, and these serve every pin and chat that used them. | Yes | No | Not declared | No |
moveMove a chat, roll, space, collection or space file into another space (a doc moves with update_doc_info). A sub-space moves with everything in it; a space can also go to the top of Personal or Team with to_top_level. Collections and files stay under their own Personal or Team. A move that changes who can open something (a roll or space going between Personal and Team, guests gaining or losing a space, a chat's roll following it) is refused until your human agrees: ask them, then call again with agreed: true. | Yes | No | Not declared | No |
pinPin a doc, presentation, storyboard, space file or space images to its space, so every chat in the space and its sub-spaces reads it: brand rules, a brief, a source the work must rest on. A doc still in its task chat is added to that chat's space first. A pin is team material: when it would share a private doc with the team or turn its reuse back on, this is refused; ask your human, then call again with share: true. A space file or image already belongs to its space, so it pins without asking. | No | No | Not declared | No |
read_docRead a doc, presentation or storyboard as it is now, including edits the team made in the app. A doc comes back as Markdown and a presentation as its JSON. A storyboard comes back as its script: treatment, cast, each film's shots with seconds, action and lines, and a link to each picked frame. An <evidence_card/> marker is an exhibit the doc shows (about and url say what it is): keep or move its markers when you rewrite the text, edit its caption there, and leave them out to drop it. Copied into another doc with create_doc or update_doc, a marker brings its exhibit along. | No | Yes | Not declared | No |
read_rollRead one roll of images, video and sound, newest first: each generation with its status, file urls and prompt (long ones end in …, a repeat reads "Same prompt as above."), and the roll's own @elements; list_elements has the space's. Pass query to find "the one where…" by words in its prompt, cursor to read on, or generation_ids for those generations with full prompts. Roll ids come from list_space or a storyboard. A file marked favorite is one your human hearted in the app, their pick from the roll; favorites=true lists only generations with one. | No | Yes | Not declared | No |
renameRename a space, chat, roll or collection (a doc renames with update_doc_info). Everyone who can open it sees the new name. | Yes | No | Not declared | No |
replySend the next message in a task once get_task says it is not running: answer its question (an option or your own words) or ask for a revision. Or, in place of a message, pass another_ai for another model to write its own version of the latest reply, kept beside it in the app. Returns the same task_id; poll get_task again. | No | No | Not declared | Yes |
save_reply_to_docKeep the answer a task's latest finished reply ends with as a doc of that task, word for word, with its sources and evidence, so another task can read it (doc_ids) or you can pin, share or export it. The opening line and progress notes it wrote between steps are left out. | No | No | Not declared | No |
share_linkPublish a doc, presentation or storyboard: returns its public read-only link, which anyone with the link can open without an account. Returns the existing link when there is one. The link shows in the doc Share panel. | No | No | Not declared | Yes |
start_taskStart a creative task (writing, strategy, naming, ideas, research-backed docs) as a new Nutcracker chat in a space; the space brand memory and pins apply. Returns task_id and the chat url. A task takes minutes: poll get_task until it is no longer running. | No | No | Not declared | Yes |
undo_dropTake back an add_images drop: the images it added leave their collections, wherever they were moved since, and collections it started and left empty are deleted. An image it took out that no collection or pin holds is deleted after a day; send it again to sort it. | Yes | No | Not declared | No |
unpinStop new chats reading a pin, when a round changes direction. Take pin_id and space_id from list_space; a pin held by a parent space comes off that space and everything under it. The doc or file itself stays, with the same access. | Yes | No | Not declared | No |
unshareTurn off the public link of a doc, presentation or storyboard. Anyone opening the old link gets nothing; a copy someone already saved stays with them. | Yes | No | Not declared | No |
update_docChange a doc's text and nothing else in it. One passage: old_text and new_text. Add to the end: append_text. The whole body: content and updated_at from your read_doc, refused when anyone edited it since, so you never overwrite the team. The text it replaces stays in the doc's version history. Presentations and storyboards change only through a task. | Yes | No | Not declared | No |
update_doc_infoRename a doc, presentation or storyboard, file it in a space, or set who can open it. visibility org opens it to the team (ask your human first); a doc still in its task chat is filed in the chat space for that. visibility private also takes it off the web and out of its space's pins, and only its creator can set it. | Yes | No | Not declared | No |
update_elementChange one of a space's own @elements: its name, description or media. media_ids replaces the whole set, so pass the ones to keep (from list_elements) with the new ones; one it already holds keeps the trim set in the app. Change an inherited element in the space it comes from. | Yes | No | Not declared | No |
upload_fileGet a link to send one image, video or document from your disk (logo, screenshot, product shot, PDF) for a task to work from. Send the file with an HTTP PUT, e.g. curl -T <path> '<upload_url>'; the answer is JSON with the file_id to pass in files on start_task or reply. The link works for 15 minutes. One file_id works for any number of tasks. Up to 100 MB; compress anything larger. Upload an image or video right before the task that uses it: about 20 can wait unsent, and waiting ones also block your human uploading in the app. A large scan can take minutes to read; start_task says when it is not ready yet. With space_id, a document joins that space's Files instead: every chat in the space reads it, the team sees it, and pin can make it required reading. The answer comes once it is read, with its space_file_id; no file_id is needed for tasks there. A long read answers reading: true, and list_space shows the file when it is done. A PNG, JPEG, WebP or SVG image with space_id goes to that space and answers its image_id: add_images sorts it into the space's collections, pin makes it material every chat reads, and create_element makes it an @element. An MP4 or MOV video (50 MB) or an MP3 or WAV voice (15 MB) with space_id answers a media_id for create_element. An upload nothing holds is deleted after a day. | No | No | Not declared | No |
Details
- Registry status
- Active
- Published
- Nov 8, 2026
- Updated
- Nov 8, 2026
- Repository
- Not given
- Categories (suggested)
- Design and mediaFiles and storageSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared