Eden MCP
Vendor MCP84 toolsOAuth 2.1/DCRAIMarketingMediaEden is an AI-powered content creation platform that discovers viral trends across 3M+ social media posts and helps creators generate content in their...
Eden MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'edenmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Eden MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'edenmcp_eden_analyze_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "edenmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Eden MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="edenmcp_eden_analyze_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update eden — Update rows in an Eden table: set cell values, rename, check/uncheck the done circle, or soft-remove
- Search eden — Search the bundled knowledge of a marketplace-installed (managed) Custom AI — managed installs keep knowledge in a server-side bundle, so eden_get_custom_ai returns an empty sources list for them
- Multipart eden scheduling media — Drive a multipart scheduling-media upload from eden_prepare_scheduling_media_upload’s multipart plan, one step at a time
- Board eden save items to, eden trash, eden save posts to — Place existing workspace/library items onto a board as cards
- Read eden — Read a TABLE item (Eden’s list / database item, called ‘tables’ in the UI): its column schema plus every row with that row’s cell values
- List eden — List the Custom AI (Eden’s rebranded Skills feature) available in an Eden workspace
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
edenmcp_eden_add_table_rows#Append rows to an existing Eden table. Read the table first with eden_read_table to learn its exact column names and select options -- cells are keyed by column NAME, option values by name (unknown select options are created automatically). Anything that can't resolve comes back in a 'warnings' field -- fix and retry those rows only. Rows are lightweight records; no documents are created.3 params
Append rows to an existing Eden table. Read the table first with eden_read_table to learn its exact column names and select options -- cells are keyed by column NAME, option values by name (unknown select options are created automatically). Anything that can't resolve comes back in a 'warnings' field -- fix and retry those rows only. Rows are lightweight records; no documents are created.
itemIdstringrequiredTable item id (type === "table").rowsarrayrequiredRows to append. Each row may set a title, the built-in done flag, and cells keyed by column NAME (e.g. {"Status": "In progress"}). Up to 100 rows per call.workspaceIdstringoptionalWorkspace id, for usage attribution. Uses the configured default workspace when omitted.edenmcp_eden_analyze_creator#Analyze a specific creator's content by name, handle, or URL: identity, totals, topic/format breakdowns, and a curated set of best posts (real outliers padded with recent posts). Use eden_resolve_creator first when unsure which creator is meant, or pass a pre-resolved creatorRef to skip that hop. For the user's own account performance, prefer eden_get_analytics / eden_list_analytics_posts instead.8 params
Analyze a specific creator's content by name, handle, or URL: identity, totals, topic/format breakdowns, and a curated set of best posts (real outliers padded with recent posts). Use eden_resolve_creator first when unsure which creator is meant, or pass a pre-resolved creatorRef to skip that hop. For the user's own account performance, prefer eden_get_analytics / eden_list_analytics_posts instead.
querystringrequiredFree-text identifier (handle, name, URL). Required even when creatorRef is set, for fallback messaging.creatorRefobjectoptionalPre-resolved (platform, username), skipping the resolver hop. Use after eden_resolve_creator when you've picked a specific candidate. Shape: {"platform": "twitter", "username": "thedankoe"}.focusstringoptionalFree-text hint about what the user is trying to understand (e.g. "hook structure", "topic mix"). Echoed back so the assistant can frame its analysis around it.platformstringoptionalConstrain to one platform. Omit to consider all.refreshbooleanoptionalSet true only when the user explicitly asks to update/check the creator's latest posts. Runs an on-demand upstream pass and waits briefly before analyzing.sincestringoptionalTime window for breakdown + top-posts query. Defaults to lifetime.topPostLimitintegeroptionalHow many top posts to surface. Defaults to 8.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Required for accurate billing + the daily new-creator cap when this call triggers a fresh pull of a creator nobody on Eden has searched before.edenmcp_eden_analyze_list#Fetch a curated creator list's metadata plus its creator roster (sorted by follower count), for summarizing a cohort or picking a creator to deep-dive on. Omit both query and listRef to instead get a roster-of-lists mode: every social list in the workspace with id, name, slug, kind, description, and member count.4 params
Fetch a curated creator list's metadata plus its creator roster (sorted by follower count), for summarizing a cohort or picking a creator to deep-dive on. Omit both query and listRef to instead get a roster-of-lists mode: every social list in the workspace with id, name, slug, kind, description, and member count.
listRefobjectoptionalPre-resolved list reference, skipping the fuzzy match pass. Shape: {"listId": "<id>"}.memberLimitintegeroptionalHow many members to return. Defaults to 40 when omitted.querystringoptionalList name, slug, or partial match. Omit along with listRef to get the roster-of-lists mode instead of a single-list analysis.workspaceIdstringoptionalID of the workspace context for the analysis. Uses the default workspace if omitted.edenmcp_eden_append_to_note#Append markdown to the end of an existing note, keeping everything already in it. Use only to add genuinely new material (e.g. a daily log entry); to revise, rewrite, or regenerate a note, use eden_update_note with the full new body instead -- append concatenates onto the note's current server-side content and is NOT idempotent, so calling it twice appends the text twice.3 params
Append markdown to the end of an existing note, keeping everything already in it. Use only to add genuinely new material (e.g. a daily log entry); to revise, rewrite, or regenerate a note, use eden_update_note with the full new body instead -- append concatenates onto the note's current server-side content and is NOT idempotent, so calling it twice appends the text twice.
contentstringrequiredMarkdown to append to the end of the note. Only the new text -- Eden inserts a blank line before it.itemIdstringrequiredNote item id (an item with type: "markdown"). Find it with eden_get_note_markdown or eden_search_workspace_items.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_cancel_scheduled_post#Cancel a scheduled post or delete a draft in Eden by id, removing it permanently from the publish queue. Find the id with eden_list_scheduled_posts. Cannot cancel a post that is already publishing or already posted.2 params
Cancel a scheduled post or delete a draft in Eden by id, removing it permanently from the publish queue. Find the id with eden_list_scheduled_posts. Cannot cancel a post that is already publishing or already posted.
postIdstringrequiredScheduled post / draft id from eden_list_scheduled_posts.scheduleIdstringoptionalOptional schedule id to guard against cancelling a post on another schedule.edenmcp_eden_connect_items#Create item-to-item connections (backlinks) between Eden workspace items: each source item gets linked to the target item. Use when the user asks to connect, link, or relate items, e.g. 'connect these to my newsletter note'. Works for any item type including boards. Find item ids with eden_search_workspace_items / eden_find_workspace_items first. Idempotent: an already-connected pair (either direction) is reported as alreadyConnected instead of duplicated.3 params
Create item-to-item connections (backlinks) between Eden workspace items: each source item gets linked to the target item. Use when the user asks to connect, link, or relate items, e.g. 'connect these to my newsletter note'. Works for any item type including boards. Find item ids with eden_search_workspace_items / eden_find_workspace_items first. Idempotent: an already-connected pair (either direction) is reported as alreadyConnected instead of duplicated.
sourceItemIdsarrayrequiredItem ids to connect FROM. Each gets an edge to the target item.targetItemIdstringrequiredItem id to connect TO, e.g. the newsletter note or a board.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_connect_social_accounts#Check and set up the user's social account connections in Eden. Three actions: "status" lists what is connected right now (per platform, with handles). "get-link" mints a secure, personal account-linking link the user opens to authorize X, LinkedIn, Instagram, Threads, or TikTok. "sync" registers what they linked -- always call it after the user says they finished linking, or the new connections will not appear in Eden. Substack cannot be linked through this flow; the user connects it in the Eden web app under Settings > Social accounts instead. The linking link is tied to this user's workspace -- never share it anywhere public.3 params
Check and set up the user's social account connections in Eden. Three actions: "status" lists what is connected right now (per platform, with handles). "get-link" mints a secure, personal account-linking link the user opens to authorize X, LinkedIn, Instagram, Threads, or TikTok. "sync" registers what they linked -- always call it after the user says they finished linking, or the new connections will not appear in Eden. Substack cannot be linked through this flow; the user connects it in the Eden web app under Settings > Social accounts instead. The linking link is tied to this user's workspace -- never share it anywhere public.
actionstringrequiredstatus = list current connections; get-link = mint the account-linking URL for the user; sync = reconcile after the user finishes linking.brandIdstringoptionalConnect accounts under a specific brand (brand ids from eden_list_schedules). Omit for the workspace default.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_create_auto_dm_automation#Create an Instagram Auto-DM automation on the user's connected Instagram, e.g. 'when someone comments LINK on my next post, DM them my guide'. Triggers: comment keyword -> DM, story reply -> DM, DM keyword -> DM, DM reaction -> DM, or a public comment reply. DMs can carry a link; links get a click-tracked short link by default. Each DM sent costs 1 credit. This tool clarifies instead of guessing: if required details are missing it returns a needs_clarification status -- ask the user those questions and call again with their answers. Never invent the DM message, keywords, link, or post choice.13 params
Create an Instagram Auto-DM automation on the user's connected Instagram, e.g. 'when someone comments LINK on my next post, DM them my guide'. Triggers: comment keyword -> DM, story reply -> DM, DM keyword -> DM, DM reaction -> DM, or a public comment reply. DMs can carry a link; links get a click-tracked short link by default. Each DM sent costs 1 credit. This tool clarifies instead of guessing: if required details are missing it returns a needs_clarification status -- ask the user those questions and call again with their answers. Never invent the DM message, keywords, link, or post choice.
brandIdstringoptionalBrand id whose Instagram the automation runs on (Studio brands). Pass "default" or omit for the workspace default brand.customCodestringoptionalOptional custom slug for the tracked link (3-32 chars: a-z, 0-9, hyphen). First-come-first-served and permanent -- only pass when the user asked for one.emojistringoptionaldm_reaction only: restrict to one emoji. Omit = any reaction.keywordsarrayoptionalTrigger keywords (whole-word, case-insensitive; any match fires). Required for comment_keyword, dm_keyword, and comment_reply.linkstringoptionalOptional http(s) link appended to the DM. Sent as a click-tracked short link unless trackLink=false. Not allowed on comment_reply (public replies can't carry links).messagestringoptionalThe DM text to send (for comment_reply: the public reply text). Required -- ask the user, never write it for them without their input.namestringoptionalShort label shown in the Auto-DM page. Optional -- derived from the trigger/keyword when omitted.postScopestringoptionalcomment_keyword / comment_reply: which posts to watch -- one specific post, the next post published, or every new post. comment_reply supports specific/all only.publicReplystringoptionalcomment_keyword only: also post a public reply to the matching comment, e.g. 'just sent it, check your DMs!'.targetPostIdstringoptionalRequired when postScope=specific: the Instagram post id, from the options this tool returns in its clarifying question (Meta Graph media ids -- never ids from other sources).trackLinkbooleanoptionalDefaults to true. Set false to send the raw URL with no click tracking.triggerTypestringoptionalWhat fires the automation. Omit to get the list of options back as a clarifying question.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_create_board#Create a new empty board (a canvas) in the user's Eden workspace and pin it to the top of their sidebar. Search for an existing board by title first with eden_search_workspace_items; only create when there's genuinely no match. Returns the board's itemId as boardId, for use with eden_create_note, eden_save_links_to_board, or eden_save_posts_to_board.2 params
Create a new empty board (a canvas) in the user's Eden workspace and pin it to the top of their sidebar. Search for an existing board by title first with eden_search_workspace_items; only create when there's genuinely no match. Returns the board's itemId as boardId, for use with eden_create_note, eden_save_links_to_board, or eden_save_posts_to_board.
titlestringrequiredBoard title, e.g. 'Q3 Hooks'. Defaults to 'Untitled board' if blank.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_create_custom_ai#Create a workspace-scoped Custom AI (Eden's rebranded Skills feature) with durable instructions, starter prompts, and optional permission-checked Eden sources. This is a real write. Use exact board/item ids and normalized creator references; never invent source locators. Prefer workspace visibility, selected workspace access, retrieve activation, and memory off unless the user asks for broader behavior.4 params
Create a workspace-scoped Custom AI (Eden's rebranded Skills feature) with durable instructions, starter prompts, and optional permission-checked Eden sources. This is a real write. Use exact board/item ids and normalized creator references; never invent source locators. Prefer workspace visibility, selected workspace access, retrieve activation, and memory off unless the user asks for broader behavior.
definitionobjectrequiredThe Custom AI's definition: name, instructions, and behavior settings. Example: {"name": "Brand Voice Coach", "instructionsMarkdown": "You help draft posts in our brand voice...", "starterPrompts": ["Draft a launch post"], "workspaceAccess": "selected", "memoryMode": "off"}.sourcesarrayoptionalOptional permission-checked Eden sources (boards, items, creators, social posts) to ground the Custom AI's knowledge in. Use exact ids from eden_search_workspace_items / eden_find_workspace_items / eden_resolve_creator; never invent locators. Example: [{"locator": {"kind": "item", "itemId": "item_01hx2abc"}, "roles": ["knowledge"]}].visibilitystringoptionalWho can see this Custom AI. Defaults to workspace (visible to workspace members) when omitted.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_create_note#Create a new markdown item (note) in an Eden workspace or board. Two presentations: "document" (default) for drafted content the user keeps editing; "card" for a short canvas-visible text card (a sticky) used for quick captures, ideas, and reminders -- content is required for cards. Only creates new items; editing goes through eden_update_note. Retrying an identical call is safe and lands one item.7 params
Create a new markdown item (note) in an Eden workspace or board. Two presentations: "document" (default) for drafted content the user keeps editing; "card" for a short canvas-visible text card (a sticky) used for quick captures, ideas, and reminders -- content is required for cards. Only creates new items; editing goes through eden_update_note. Retrying an identical call is safe and lands one item.
boardIdstringoptionalCompatibility alias for a board destination. Id of the destination board (item type: "canvas", or a folder).colorstringoptionalCards only: optional CSS color value, such as '#fff7a8'. Omit for Eden's default.contentstringoptionalFull markdown body. Required for cards; max 20K chars in card mode, 200K chars in document mode.destinationobjectoptionalExplicit destination: {"kind": "library"} for a workspace-only item with no board placement, or {"kind": "board", "boardId": "<id>"}. Overrides boardId when both are set.presentationstringoptional"document" (default) = an editable Document. "card" = a short canvas-visible text Card (sticky).titlestringoptionalDocument title. Omit to derive from the first line of content. Ignored for cards.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_create_scheduling_draft#Deprecated stub. This tool moved to eden_schedule_post -- call eden_schedule_post with draft: true and the same content fields (no timestamp needed). Do not call this stub; it takes no parameters and performs no action.0 params
Deprecated stub. This tool moved to eden_schedule_post -- call eden_schedule_post with draft: true and the same content fields (no timestamp needed). Do not call this stub; it takes no parameters and performs no action.
edenmcp_eden_create_skill#Create a new AI skill (reusable prompt workflow) in the workspace.4 params
Create a new AI skill (reusable prompt workflow) in the workspace.
namestringrequiredThe display name of the new skill.definitionstringoptionalThe skill definition as a JSON string describing its steps and configuration.descriptionstringoptionalA brief description of what the skill does.workspaceIdstringoptionalThe workspace ID to create the skill in. Uses the default workspace if omitted.edenmcp_eden_create_sticky_note#Deprecated stub. This tool moved to eden_create_note -- call eden_create_note with presentation: "card" plus the same content / color / destination. Do not call this stub; it takes no parameters and performs no action.0 params
Deprecated stub. This tool moved to eden_create_note -- call eden_create_note with presentation: "card" plus the same content / color / destination. Do not call this stub; it takes no parameters and performs no action.
edenmcp_eden_delete_custom_ai#Archive an editable Custom AI. This removes it from the active workspace catalog and cannot be undone from MCP. Call only after the user explicitly confirms deletion. Managed marketplace installs must be removed through their installation controls instead.4 params
Archive an editable Custom AI. This removes it from the active workspace catalog and cannot be undone from MCP. Call only after the user explicitly confirms deletion. Managed marketplace installs must be removed through their installation controls instead.
confirmedbooleanrequiredMust be true, and only after the user has explicitly confirmed the deletion.customAIIdstringrequiredCustom AI id from eden_list_custom_ai.expectedRevisionintegerrequiredCurrent revision from eden_get_custom_ai. Prevents deleting a version the caller hasn't seen yet.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_delete_skill#Permanently delete an AI skill by its ID. This action cannot be undone.1 param
Permanently delete an AI skill by its ID. This action cannot be undone.
skillIdstringrequiredThe unique identifier of the skill to permanently delete.edenmcp_eden_export_skill#Export a skill definition as a JSON string, suitable for backup or importing into another workspace.1 param
Export a skill definition as a JSON string, suitable for backup or importing into another workspace.
skillIdstringrequiredThe unique identifier of the skill to export.edenmcp_eden_find_creator_in_workspace#Find saved posts and content by a specific creator in an Eden workspace, identified by their handle.2 params
Find saved posts and content by a specific creator in an Eden workspace, identified by their handle.
creatorHandlestringrequiredThe handle or username of the creator whose content you want to find.workspaceIdstringrequiredThe unique identifier of the workspace to search within.edenmcp_eden_find_workspace_items#Semantic search over the user's Eden library -- describe what you're looking for in natural language and get their saved notes, documents, posts, links, and files ranked by MEANING, not just title match. Full note bodies, media transcripts, and AI-generated tags/keywords are all searchable, so a vague description like 'that note about pricing psychology' can still match. Use when the user describes content rather than names it exactly (e.g. 'find that note about X', 'where did I save the video on Y'). Costs 1 credit per call and requires a semantic-search-enabled workspace; falls back to eden_search_workspace_items on a 503.7 params
Semantic search over the user's Eden library -- describe what you're looking for in natural language and get their saved notes, documents, posts, links, and files ranked by MEANING, not just title match. Full note bodies, media transcripts, and AI-generated tags/keywords are all searchable, so a vague description like 'that note about pricing psychology' can still match. Use when the user describes content rather than names it exactly (e.g. 'find that note about X', 'where did I save the video on Y'). Costs 1 credit per call and requires a semantic-search-enabled workspace; falls back to eden_search_workspace_items on a 503.
querystringrequiredNatural-language description of what to find.categorystringoptionalRestrict results to items carrying one AI-assigned category.kindstringoptionalRestrict results to one item kind.limitintegeroptionalMax hits to return. Defaults to 10 when omitted.sourcestringoptionalRestrict social items to one platform.tagsarrayoptionalRestrict results to items carrying any of these AI-assigned tags.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_following_overview#List every creator the user follows in this workspace, deduplicated across all of their lists, with follower counts, profile info, the lists each creator appears in, and a creatorRef for follow-up eden_analyze_creator calls. Optionally filter by platform.3 params
List every creator the user follows in this workspace, deduplicated across all of their lists, with follower counts, profile info, the lists each creator appears in, and a creatorRef for follow-up eden_analyze_creator calls. Optionally filter by platform.
limitintegeroptionalMax creators to return. Defaults to 100, maximum 500.platformstringoptionalFilter the following overview to a specific platform. Omit to return the full cross-platform roster.workspaceIdstringoptionalID of the workspace context. Uses the default workspace if omitted.edenmcp_eden_generate_carousel#Generate an AI carousel (multi-slide image set) for social posts.4 params
Generate an AI carousel (multi-slide image set) for social posts.
promptstringrequiredThe text prompt describing the carousel content and theme to generate.slideCountintegeroptionalThe number of slides to include in the carousel.stylestringoptionalThe visual style to apply to the carousel slides.workspaceIdstringoptionalThe workspace ID to use for carousel generation.edenmcp_eden_generate_image#Generate an AI image for use in posts.5 params
Generate an AI image for use in posts.
promptstringrequiredThe text prompt describing the image to generate.heightintegeroptionalThe height of the generated image in pixels.stylestringoptionalThe visual style to apply to the generated image.widthintegeroptionalThe width of the generated image in pixels.workspaceIdstringoptionalThe workspace ID to use for image generation.edenmcp_eden_get_analytics#The user's OWN social analytics across every connected platform (X, LinkedIn, Instagram, TikTok, YouTube, Threads, Facebook, Substack): period totals with vs-previous-period deltas, follower counts per account, current outlier posts, over-performing topics and formats, and benchmarks vs an automatically matched peer cohort. This is private performance data from Eden's analytics warehouse, not public creator research. First call on an untracked workspace auto-starts tracking when accounts are connected. For per-post rows use eden_list_analytics_posts instead.3 params
The user's OWN social analytics across every connected platform (X, LinkedIn, Instagram, TikTok, YouTube, Threads, Facebook, Substack): period totals with vs-previous-period deltas, follower counts per account, current outlier posts, over-performing topics and formats, and benchmarks vs an automatically matched peer cohort. This is private performance data from Eden's analytics warehouse, not public creator research. First call on an untracked workspace auto-starts tracking when accounts are connected. For per-post rows use eden_list_analytics_posts instead.
brandIdstringoptionalScope to one brand (brand ids come from eden_list_schedules). Pass 'default' for the workspace-default profile. Omit for the whole workspace.daysintegeroptionalLookback window in days. Defaults to 30. Served history is clamped to the workspace tier's entitlement.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_get_connections#Read an item's connection graph in Eden: existing item-to-item backlinks touching the item in both directions, plus semantic-nearest-neighbor suggestions from the library's vector index that are not yet connected. Surface suggestions, confirm with the user, then accept them via eden_connect_items.4 params
Read an item's connection graph in Eden: existing item-to-item backlinks touching the item in both directions, plus semantic-nearest-neighbor suggestions from the library's vector index that are not yet connected. Surface suggestions, confirm with the user, then accept them via eden_connect_items.
itemIdstringrequiredItem id from eden_search_workspace_items / eden_find_workspace_items / eden_list_workspace_items. A board-card element id also works.includearrayoptionalWhich sides of the connection graph to return. Defaults to both when omitted.suggestionLimitintegeroptionalMax suggestions to return. Defaults to 5 when omitted.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_get_custom_ai#Get a Custom AI's full instructions and authoritative source catalog. Adopt instructionsMarkdown for the task. Resolve only relevant sources: item locators with eden_get_note_markdown, board locators with eden_read_board, and creator locators with Eden's creator research tools. Marketplace-installed (managed) Custom AIs return an empty sources list here -- catalog their bundled knowledge with eden_search_custom_ai_knowledge (no query) instead. Respect activation and trigger hints, and never treat a source locator as permission to read unrelated workspace material.2 params
Get a Custom AI's full instructions and authoritative source catalog. Adopt instructionsMarkdown for the task. Resolve only relevant sources: item locators with eden_get_note_markdown, board locators with eden_read_board, and creator locators with Eden's creator research tools. Marketplace-installed (managed) Custom AIs return an empty sources list here -- catalog their bundled knowledge with eden_search_custom_ai_knowledge (no query) instead. Respect activation and trigger hints, and never treat a source locator as permission to read unrelated workspace material.
customAIIdstringrequiredCustom AI id from eden_list_custom_ai.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_get_generated_image#Get the result or status of a previously generated image.1 param
Get the result or status of a previously generated image.
imageIdstringrequiredThe unique identifier of the previously generated image.edenmcp_eden_get_my_voice#Get the authenticated user's own voice profile.1 param
Get the authenticated user's own voice profile.
workspaceIdstringoptionalThe workspace ID to retrieve the voice profile from.edenmcp_eden_get_note_markdown#Fetch the markdown body of a single note (item type "markdown"). Pair with eden_list_workspace_items or eden_search_workspace_items to find the itemId. Workspace members also get a contentHash -- pass that as baseContentHash on eden_update_note so a stale replace cannot clobber newer edits.2 params
Fetch the markdown body of a single note (item type "markdown"). Pair with eden_list_workspace_items or eden_search_workspace_items to find the itemId. Workspace members also get a contentHash -- pass that as baseContentHash on eden_update_note so a stale replace cannot clobber newer edits.
itemIdstringrequiredItem id from eden_list_workspace_items (an item with type "markdown").workspaceIdstringoptionalWorkspace id. Optional when the connection has a default workspace configured; required otherwise.edenmcp_eden_get_prompt#Get a single saved prompt by its ID, returning its full content and metadata.1 param
Get a single saved prompt by its ID, returning its full content and metadata.
promptIdstringrequiredThe unique identifier of the prompt to retrieve.edenmcp_eden_get_skill#Get a single AI skill by its ID, returning its full definition and metadata.1 param
Get a single AI skill by its ID, returning its full definition and metadata.
skillIdstringrequiredThe unique identifier of the skill to retrieve.edenmcp_eden_get_voice#Get a specific voice profile by ID.1 param
Get a specific voice profile by ID.
voiceIdstringrequiredThe unique identifier of the voice profile to retrieve.edenmcp_eden_import_skill#Import a skill into the workspace from a JSON definition string, typically obtained via the Export Skill tool.2 params
Import a skill into the workspace from a JSON definition string, typically obtained via the Export Skill tool.
skillJsonstringrequiredThe JSON string of the skill definition to import, as returned by the Export Skill tool.workspaceIdstringoptionalThe workspace ID to import the skill into. Uses the default workspace if omitted.edenmcp_eden_list_analytics_posts#Per-post rows from the user's OWN analytics warehouse -- the raw material for charts, dashboards, and 'which posts did X' questions. Each row carries platform, posted date, link, text preview, metrics Eden has synced (views/likes/comments/shares/saves/impressions/reach/watch time/engagement rate), and index-derived signals (outlierScore, creatorPercentile). Sort by any metric to get top posts. For the summary/insight layer use eden_get_analytics instead.7 params
Per-post rows from the user's OWN analytics warehouse -- the raw material for charts, dashboards, and 'which posts did X' questions. Each row carries platform, posted date, link, text preview, metrics Eden has synced (views/likes/comments/shares/saves/impressions/reach/watch time/engagement rate), and index-derived signals (outlierScore, creatorPercentile). Sort by any metric to get top posts. For the summary/insight layer use eden_get_analytics instead.
brandIdstringoptionalScope to one brand ('default' = workspace-default profile; omit for all brands).contentTypestringoptionalFilter to one content type (e.g. 'reel', 'short', 'article', 'note').daysintegeroptionalLookback window in days. Defaults to the tier's full entitled history, which also clamps larger values.limitintegeroptionalMax rows to return. Defaults to 50 when omitted.platformstringoptionalFilter to one platform.sortstringoptionalSort column, descending. Defaults to postedAt.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_list_auto_dm_rules#List the workspace's Instagram Auto-DM automations: trigger, keywords, DM message, tracked link, status (active / paused / paused for credits / waiting for next post), click counts, and which posts an automation is armed on. Use before creating a new one (workspaces cap at 10 automations) or when the user asks what's running. Auto-DM is a Pro/Studio feature; each DM actually sent costs 1 credit.2 params
List the workspace's Instagram Auto-DM automations: trigger, keywords, DM message, tracked link, status (active / paused / paused for credits / waiting for next post), click counts, and which posts an automation is armed on. Use before creating a new one (workspaces cap at 10 automations) or when the user asks what's running. Auto-DM is a Pro/Studio feature; each DM actually sent costs 1 credit.
brandIdstringoptionalBrand id to scope to one brand's Instagram (Studio). Pass "default" for the workspace default brand. Omit to list every automation.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_list_brief_definitions#List brief template definitions.1 param
List brief template definitions.
workspaceIdstringoptionalThe workspace ID to filter brief definitions by. If omitted, uses the default workspace.edenmcp_eden_list_briefs#List content briefs in a workspace.3 params
List content briefs in a workspace.
cursorstringoptionalPagination cursor returned from a previous list response.limitintegeroptionalMaximum number of briefs to return per page.workspaceIdstringoptionalThe ID of the workspace whose briefs to list.edenmcp_eden_list_captures#List saved captures (bookmarks/swipes) in a workspace.3 params
List saved captures (bookmarks/swipes) in a workspace.
cursorstringoptionalPagination cursor from a previous response to fetch the next page of results.limitintegeroptionalMaximum number of captures to return per page.workspaceIdstringoptionalID of the workspace to list captures from. Uses the default workspace if omitted.edenmcp_eden_list_chats#List the user's chats inside an Eden workspace. Returns each chat's id, title, status, and updatedAt. Read-only -- this tool does not start a chat or send a message.1 param
List the user's chats inside an Eden workspace. Returns each chat's id, title, status, and updatedAt. Read-only -- this tool does not start a chat or send a message.
workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_list_creator_lists#List creator lists (curated groups of creators) in a workspace.1 param
List creator lists (curated groups of creators) in a workspace.
workspaceIdstringrequiredID of the workspace to list creator lists from.edenmcp_eden_list_custom_ai#List the Custom AI (Eden's rebranded Skills feature) available in an Eden workspace. A Custom AI combines durable instructions, conversation starters, capabilities, creator perspectives, and permission-checked workspace knowledge. Use eden_get_custom_ai to load the full definition before applying one.1 param
List the Custom AI (Eden's rebranded Skills feature) available in an Eden workspace. A Custom AI combines durable instructions, conversation starters, capabilities, creator perspectives, and permission-checked workspace knowledge. Use eden_get_custom_ai to load the full definition before applying one.
workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_list_highlights#List saved highlights in Eden, optionally scoped to a specific workspace. Supports pagination.3 params
List saved highlights in Eden, optionally scoped to a specific workspace. Supports pagination.
cursorstringoptionalPagination cursor from a previous response to fetch the next page of results.limitintegeroptionalMaximum number of highlights to return per page.workspaceIdstringoptionalThe unique identifier of the workspace to filter highlights by. If omitted, returns highlights across all workspaces.edenmcp_eden_list_prompts#List saved prompts in the workspace, with optional pagination support.3 params
List saved prompts in the workspace, with optional pagination support.
cursorstringoptionalPagination cursor from a previous response to fetch the next page of prompts.limitintegeroptionalMaximum number of prompts to return per page.workspaceIdstringoptionalThe workspace ID to list prompts from. Uses the default workspace if omitted.edenmcp_eden_list_scheduled_posts#List scheduled-post rows for the workspace or one schedule: drafts, scheduled, publishing, posted, partial, failed, or cancelled. Use this to inspect the queue, confirm what was just scheduled, or find a post id for a later edit/cancel call.6 params
List scheduled-post rows for the workspace or one schedule: drafts, scheduled, publishing, posted, partial, failed, or cancelled. Use this to inspect the queue, confirm what was just scheduled, or find a post id for a later edit/cancel call.
limitintegeroptionalMaximum number of scheduled posts to return per page. Defaults to 25 when omitted.modestringoptionalUse compact when browsing recent posts for repurposing; full returns content and targets.postIdstringoptionalOptional scheduled post id. Use with mode=full to inspect one post.scheduleIdstringoptionalFilter posts by a specific schedule ID.statusstringoptionalOptional status filter.workspaceIdstringoptionalThe workspace ID to list scheduled posts for. If omitted, uses the default workspace.edenmcp_eden_list_schedules#List publishing schedules for a workspace.1 param
List publishing schedules for a workspace.
workspaceIdstringoptionalThe workspace ID to list schedules for. If omitted, uses the default workspace.edenmcp_eden_list_skills#List AI skills (reusable prompt workflows) available in the workspace.1 param
List AI skills (reusable prompt workflows) available in the workspace.
workspaceIdstringoptionalThe workspace ID to list skills from. Uses the default workspace if omitted.edenmcp_eden_list_voices#List available voice profiles for AI content generation.1 param
List available voice profiles for AI content generation.
workspaceIdstringoptionalThe workspace ID to list voice profiles for.edenmcp_eden_list_workspace_items#List the items the user has personally saved into a workspace's canvas (boards, notes, links, media, stacks), as a paginated flat list. Use parentId to find a board's children, and type to filter by item kind. Returns at most 'limit' items (default 200, max 500); check nextCursor for more pages.5 params
List the items the user has personally saved into a workspace's canvas (boards, notes, links, media, stacks), as a paginated flat list. Use parentId to find a board's children, and type to filter by item kind. Returns at most 'limit' items (default 200, max 500); check nextCursor for more pages.
cursorstringoptionalOpaque pagination cursor. Pass the previous response's nextCursor to fetch the next page.limitintegeroptionalMax items per page. Defaults to 200. Server caps at 500 -- never request more, the response will be silently truncated.parentIdstringoptionalRestrict to items whose parent is this board id. Pass the workspace id to list workspace-root children only.typestringoptionalOptional type filter (e.g. markdown, canvas, twitter, youtube, image). Server-side, so it doesn't burn prompt tokens.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_list_workspaces#List all Eden workspaces the authenticated user belongs to. Returns workspace id, name, slug, and role for each workspace.0 params
List all Eden workspaces the authenticated user belongs to. Returns workspace id, name, slug, and role for each workspace.
edenmcp_eden_prepare_scheduling_media_upload#Prepare a public media upload for a scheduled post asset. This does not upload bytes itself. Small files return a presigned PUT uploadUrl; large files return a multipart plan to drive with eden_scheduling_media_multipart. Pass the resulting publicUrl as media[].url only after the upload completes. Supported types: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, video/webm. Max size 10 GB.3 params
Prepare a public media upload for a scheduled post asset. This does not upload bytes itself. Small files return a presigned PUT uploadUrl; large files return a multipart plan to drive with eden_scheduling_media_multipart. Pass the resulting publicUrl as media[].url only after the upload completes. Supported types: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, video/webm. Max size 10 GB.
mimeTypestringrequiredMIME type: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, or video/webm.sizeBytesintegerrequiredExact file size in bytes. Max 10 GB (10737418240 bytes).workspaceIdstringoptionalThe workspace ID to associate the media upload with. If omitted, uses the default workspace.edenmcp_eden_publish_post_now#Immediately queue a social post for publishing in Eden. This is a real publish action, not a draft or proposal -- use only when the user explicitly asks to publish/post/send now. Supports text, media, per-platform overrides, X/Threads segments (threads), and long-form articles (Twitter/Substack). No longer takes a postId: this call composes and publishes a brand-new post in one step.10 params
Immediately queue a social post for publishing in Eden. This is a real publish action, not a draft or proposal -- use only when the user explicitly asks to publish/post/send now. Supports text, media, per-platform overrides, X/Threads segments (threads), and long-form articles (Twitter/Substack). No longer takes a postId: this call composes and publishes a brand-new post in one step.
articleobjectoptionalCanonical long-form article (Twitter Articles / Substack posts). Requires explicit platforms and may only target twitter and substack. Needs title and bodyHtml; substack targets additionally require the nested 'substack' settings object (audience, commentPermission, sendEmail, cta, paywall).idempotencyKeystringoptionalOptional retry-safe key. Same key + same content returns the same post instead of creating a duplicate.mediaarrayoptionalAlready-hosted media/document assets to attach. Each item needs a publicly fetchable 'url' (never a local file path); use eden_prepare_scheduling_media_upload first to host a local file.perPlatformobjectoptionalOptional per-platform overrides for when one platform should differ from the rest (text, mediaIds subset, a unique thread, YouTube title, or Instagram trial reel). Keyed by platform name. Omit entirely to have every platform use the shared text and all shared media.platformsarrayoptionalPlatforms to publish to. Defaults to active text platforms when no media is provided; active platforms when media is provided.scheduleIdstringoptionalOptional schedule id to publish under.segmentsarrayoptionalThread segments for X/Threads. Each segment is one post in the thread: {"text": "...", "mediaIds": ["..."]}.textstringoptionalPost text/caption, line breaks preserved. Use an empty string for a media-only post; text and media cannot both be empty.timezonestringoptionalIANA timezone. Defaults to the schedule's timezone.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_read_board#Read the full whiteboard contents of an Eden board: every sticky note, free-text label, shape-with-text, sub-folder label, and child item positioned on the canvas, plus section dividers. Find the board's itemId with eden_list_workspace_items or eden_search_workspace_items (items with type "canvas" or "folder").2 params
Read the full whiteboard contents of an Eden board: every sticky note, free-text label, shape-with-text, sub-folder label, and child item positioned on the canvas, plus section dividers. Find the board's itemId with eden_list_workspace_items or eden_search_workspace_items (items with type "canvas" or "folder").
itemIdstringrequiredBoard id from eden_list_workspace_items (type "canvas" or "folder"). Pass the workspace id itself to read the workspace root.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_read_brief#Read a content brief by ID.1 param
Read a content brief by ID.
briefIdstringrequiredThe unique identifier of the content brief to retrieve.edenmcp_eden_read_brief_idea#Read a specific idea within a content brief.2 params
Read a specific idea within a content brief.
briefIdstringrequiredThe unique identifier of the content brief containing the idea.ideaIdstringrequiredThe unique identifier of the idea to retrieve.edenmcp_eden_read_card#Deprecated stub. This tool moved to eden_read_social_post -- pass the card's url to eden_read_social_post (same includeTranscript / attemptLiveFetch options). Do not call this stub; it takes no parameters and performs no action.0 params
Deprecated stub. This tool moved to eden_read_social_post -- pass the card's url to eden_read_social_post (same includeTranscript / attemptLiveFetch options). Do not call this stub; it takes no parameters and performs no action.
edenmcp_eden_read_custom_ai_knowledge#Read one bundled knowledge document of a marketplace-installed (managed) Custom AI, by sourceId from eden_search_custom_ai_knowledge's catalog mode. Content is paged: pass offset (from the previous response's nextOffset) to continue a long document. To find WHERE something is discussed in a long document, use eden_search_custom_ai_knowledge first and read from the matching offset instead of paging blindly. Documents marked readable: false are publisher-protected (runtime-only) and always return a forbidden error -- do not retry them, tell the user the publisher restricted that document.5 params
Read one bundled knowledge document of a marketplace-installed (managed) Custom AI, by sourceId from eden_search_custom_ai_knowledge's catalog mode. Content is paged: pass offset (from the previous response's nextOffset) to continue a long document. To find WHERE something is discussed in a long document, use eden_search_custom_ai_knowledge first and read from the matching offset instead of paging blindly. Documents marked readable: false are publisher-protected (runtime-only) and always return a forbidden error -- do not retry them, tell the user the publisher restricted that document.
customAIIdstringrequiredCustom AI id from eden_list_custom_ai.sourceIdstringrequiredKnowledge sourceId from eden_search_custom_ai_knowledge's catalog mode.maxCharsintegeroptionalMax characters to return per call. Defaults to 24000 when omitted.offsetintegeroptionalCharacter offset to start reading from. Use the previous response's nextOffset to continue a long document.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_read_media_card#Read the processed content of a media or link card on a board: transcript and AI description for video/audio/loom/YouTube items, extracted text for PDFs, AI description for images. Find the item with eden_list_workspace_items first (type image/video/audio/pdf/loom/youtube/link).2 params
Read the processed content of a media or link card on a board: transcript and AI description for video/audio/loom/YouTube items, extracted text for PDFs, AI description for images. Find the item with eden_list_workspace_items first (type image/video/audio/pdf/loom/youtube/link).
itemIdstringrequiredItem id from eden_list_workspace_items.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_read_social_post#Read the full body (and transcript / carousel slide text, when available) of a single social post, identified either by contentId + platform from a prior social tool result, or by url (a saved link, a pasted post URL, or a Loom video). Pass exactly one of contentId or url. Transcripts only exist for YouTube/Instagram/TikTok.6 params
Read the full body (and transcript / carousel slide text, when available) of a single social post, identified either by contentId + platform from a prior social tool result, or by url (a saved link, a pasted post URL, or a Loom video). Pass exactly one of contentId or url. Transcripts only exist for YouTube/Instagram/TikTok.
attemptLiveFetchbooleanoptionalWhen the cached transcript isn't available, fall back to a live vendor fetch. Defaults to true. Set false in batch sweeps where partial coverage is acceptable.contentIdstringoptionalDB UUID returned by eden_analyze_creator's topPosts[].contentId or eden_search_social_content's results[].contentId. NOT the platform's native id. Requires platform; omit when passing url.includeTranscriptbooleanoptionalDefaults to true. Set false to skip transcript fetch and save a round trip.platformstringoptionalRequired with contentId.urlstringoptionalA post/video URL, e.g. the url field of a saved link card, or a URL the user pasted. Omit when passing contentId.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Required for accurate billing of a live fetch (cached reads never bill).edenmcp_eden_read_table#Read a TABLE item (Eden's list / database item, called 'tables' in the UI): its column schema plus every row with that row's cell values. Use this for questions about structured rows and columns, e.g. 'what's in my content calendar' or 'which rows are still not started'. Cell values are keyed by property id, not column name -- join through the returned 'properties' array.2 params
Read a TABLE item (Eden's list / database item, called 'tables' in the UI): its column schema plus every row with that row's cell values. Use this for questions about structured rows and columns, e.g. 'what's in my content calendar' or 'which rows are still not started'. Cell values are keyed by property id, not column name -- join through the returned 'properties' array.
itemIdstringrequiredTable item id from eden_list_workspace_items (type === "table").workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_rename_board#Rename an existing board.2 params
Rename an existing board.
boardIdstringrequiredThe ID of the board to rename.namestringrequiredThe new name to assign to the board.edenmcp_eden_rename_note#Rename an existing note/document. Updates the title everywhere it appears (first heading, sidebar name, canvas card) while leaving the rest of the body intact. Find the note's itemId with eden_search_workspace_items / eden_get_note_markdown. Use eden_update_note instead if you need to rewrite the entire body.3 params
Rename an existing note/document. Updates the title everywhere it appears (first heading, sidebar name, canvas card) while leaving the rest of the body intact. Find the note's itemId with eden_search_workspace_items / eden_get_note_markdown. Use eden_update_note instead if you need to rewrite the entire body.
itemIdstringrequiredNote item id (an item with type: "markdown").titlestringrequiredNew title (display name) for the note.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_resolve_creator#Resolve a free-text creator query (handle, display name, or profile URL) to one or more candidate social profiles. Use when unsure which creator the user means and you want to disambiguate before running an expensive analysis. Results include platform and username for use with eden_analyze_creator or eden_search_social_content.3 params
Resolve a free-text creator query (handle, display name, or profile URL) to one or more candidate social profiles. Use when unsure which creator the user means and you want to disambiguate before running an expensive analysis. Results include platform and username for use with eden_analyze_creator or eden_search_social_content.
querystringrequiredHandle, display name, profile URL, or any free text. Examples: @thedankoe, Dan Koe, https://x.com/thedankoe.limitintegeroptionalMax candidates to return. Defaults to 5 when omitted.platformstringoptionalConstrain to one platform. Omit to search all seven.edenmcp_eden_save_items_to_board#Place existing workspace/library items onto a board as cards. This is the right tool for saving highlights to a board: pass each highlight's itemId from eden_search_highlights results. Also works for any other item id from eden_search_workspace_items / eden_find_workspace_items (notes, saved links, PDFs). Unlike the links/posts tools this creates no new item -- the board gets a card for the canonical item. Idempotent: items already on the board are reported as alreadyOnBoard, not duplicated.3 params
Place existing workspace/library items onto a board as cards. This is the right tool for saving highlights to a board: pass each highlight's itemId from eden_search_highlights results. Also works for any other item id from eden_search_workspace_items / eden_find_workspace_items (notes, saved links, PDFs). Unlike the links/posts tools this creates no new item -- the board gets a card for the canonical item. Idempotent: items already on the board are reported as alreadyOnBoard, not duplicated.
boardIdstringrequiredId of the destination board (item type: "canvas", or a folder). Find via eden_list_workspace_items or eden_search_workspace_items.itemIdsarrayrequiredExisting workspace item ids to place on the board, e.g. the itemId field on eden_search_highlights results, or ids from eden_search_workspace_items (max 25 per call).workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_save_links_to_board#Save one or more URLs onto an Eden board. Eden classifies each URL into a platform card (YouTube/Twitter/Instagram/TikTok/LinkedIn/Substack/Loom) or a generic link card. Use only for URLs from outside Eden; save indexed social results with eden_save_posts_to_board, and items already in the workspace with eden_save_items_to_board. Re-calling with the same URLs creates duplicate cards.3 params
Save one or more URLs onto an Eden board. Eden classifies each URL into a platform card (YouTube/Twitter/Instagram/TikTok/LinkedIn/Substack/Loom) or a generic link card. Use only for URLs from outside Eden; save indexed social results with eden_save_posts_to_board, and items already in the workspace with eden_save_items_to_board. Re-calling with the same URLs creates duplicate cards.
boardIdstringrequiredThe ID of the board to save the links to.urlsarrayrequiredAbsolute URLs to save (max 25 per call).workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_save_posts_to_board#Save indexed social posts onto an Eden board as fully-hydrated cards (thumbnail, metrics, creator attribution). Use with results from eden_search_social_content, eden_analyze_creator, or eden_analyze_list: pass each result's contentId (the Eden DB UUID, not the platform's native post id) plus its platform. Retrying an identical call is safe -- each post lands on a given board once, keyed by contentId.3 params
Save indexed social posts onto an Eden board as fully-hydrated cards (thumbnail, metrics, creator attribution). Use with results from eden_search_social_content, eden_analyze_creator, or eden_analyze_list: pass each result's contentId (the Eden DB UUID, not the platform's native post id) plus its platform. Retrying an identical call is safe -- each post lands on a given board once, keyed by contentId.
boardIdstringrequiredThe ID of the board to save the posts to.postsarrayrequiredPosts to save, in the order they should land on the board (max 20 per call). Each entry needs platform and contentId (the Eden DB UUID from a social search result, not the platform-native id).workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_schedule_post#Schedule a social post in Eden and enqueue it for publishing at a future time -- or, with draft: true, save it as an unscheduled scheduler draft with no publish time. This is a real write, not a proposal. When scheduling, pass a concrete timestamp as scheduledFor (epoch ms) or scheduledAtIso -- never natural language; when draft: true, omit the timestamp. Supports text, media, per-platform overrides, X/Threads segments (threads), and long-form articles (Twitter/Substack).13 params
Schedule a social post in Eden and enqueue it for publishing at a future time -- or, with draft: true, save it as an unscheduled scheduler draft with no publish time. This is a real write, not a proposal. When scheduling, pass a concrete timestamp as scheduledFor (epoch ms) or scheduledAtIso -- never natural language; when draft: true, omit the timestamp. Supports text, media, per-platform overrides, X/Threads segments (threads), and long-form articles (Twitter/Substack).
articleobjectoptionalCanonical long-form article (Twitter Articles / Substack posts). Requires explicit platforms and may only target twitter and substack. Needs title and bodyHtml; substack targets additionally require the nested 'substack' settings object (audience, commentPermission, sendEmail, cta, paywall).draftbooleanoptionaltrue = save as an unscheduled scheduler draft (no publish time, nothing enqueued) for the user to review. Omit or false = schedule at the given timestamp.idempotencyKeystringoptionalOptional retry-safe key. Same key + same content/time returns the same post instead of creating a duplicate.mediaarrayoptionalAlready-hosted media/document assets to attach. Each item needs a publicly fetchable 'url' (never a local file path); use eden_prepare_scheduling_media_upload first to host a local file.perPlatformobjectoptionalOptional per-platform overrides for when one platform should differ from the rest (text, mediaIds subset, a unique thread, YouTube title, or Instagram trial reel). Keyed by platform name. Omit entirely to have every platform use the shared text and all shared media.platformsarrayoptionalPlatforms to publish to. Defaults to active text platforms when no media is provided; active platforms when media is provided.scheduledAtIsostringoptionalPublish time as a concrete ISO timestamp. Used when scheduledFor is absent.scheduledFornumberoptionalPublish time as epoch milliseconds. Prefer this when known. Ignored with draft: true.scheduleIdstringoptionalOptional schedule id to publish under.segmentsarrayoptionalThread segments for X/Threads. Each segment is one post in the thread: {"text": "...", "mediaIds": ["..."]}.textstringoptionalPost text/caption, line breaks preserved. Use an empty string for a media-only post; text and media cannot both be empty.timezonestringoptionalIANA timezone. Defaults to the schedule's timezone.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_scheduling_media_multipart#Drive a multipart scheduling-media upload from eden_prepare_scheduling_media_upload's multipart plan, one step at a time. step="sign-part" (needs partNumber) returns a presigned PUT URL for that part -- PUT the part's bytes and keep the ETag response header. step="complete" (needs parts, every partNumber + ETag in ascending order) finalizes the upload; the prepared publicUrl is ready for media[].url only after this succeeds. step="abort" discards an upload that will not be resumed.6 params
Drive a multipart scheduling-media upload from eden_prepare_scheduling_media_upload's multipart plan, one step at a time. step="sign-part" (needs partNumber) returns a presigned PUT URL for that part -- PUT the part's bytes and keep the ETag response header. step="complete" (needs parts, every partNumber + ETag in ascending order) finalizes the upload; the prepared publicUrl is ready for media[].url only after this succeeds. step="abort" discards an upload that will not be resumed.
stepstringrequiredWhich multipart operation to perform: sign-part, complete, or abort.storagePathstringrequiredstoragePath returned by eden_prepare_scheduling_media_upload.uploadIdstringrequireduploadId returned by eden_prepare_scheduling_media_upload.partNumberintegeroptionalRequired for step=sign-part: one-based part number from the multipart plan.partsarrayoptionalRequired for step=complete: all uploaded part numbers and ETag response headers, in ascending order.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_search_captures#The user's quick captures -- notes, links, and media/voice-note clippings saved from the Eden mobile app or share sheet. Pass q to keyword-search capture text, link titles/URLs, and media filenames; omit q to list recent captures instead, optionally filtered by status and paginated with offset. Audio/voice notes are metadata only -- no transcript.5 params
The user's quick captures -- notes, links, and media/voice-note clippings saved from the Eden mobile app or share sheet. Pass q to keyword-search capture text, link titles/URLs, and media filenames; omit q to list recent captures instead, optionally filtered by status and paginated with offset. Audio/voice notes are metadata only -- no transcript.
limitintegeroptionalMax results. Defaults to 10 when searching, 20 when listing (search caps at 50, listing caps at 200).offsetintegeroptionalList mode only: pagination offset. Defaults to 0.qstringoptionalKeyword(s) to match against capture text, link title/URL, and media filename. Omit to list recent captures instead of searching.statusstringoptionalList mode only: "active" = not yet filed anywhere (default). "sent" = already promoted to a board. "archived". "all" = every status.workspaceIdstringoptionalID of the workspace to search captures in. Uses the default workspace if omitted.edenmcp_eden_search_creators#Discover PEOPLE rather than posts from Eden's pooled creator embeddings. Use kind="topic" for 'find competitors in this niche' / 'who talks about X' (requires query); kind="similar-to-creators" for 'creators like @name' (requires creatorRefs, exact platform+username pairs); or kind="similar-to-list" for more creators like one curated list (requires listId). Results include profile data plus a reason or matching-post evidence. Use eden_resolve_creator to identify a person already named, eden_analyze_creator to study one creator, and eden_search_social_content when the requested result is posts rather than people.9 params
Discover PEOPLE rather than posts from Eden's pooled creator embeddings. Use kind="topic" for 'find competitors in this niche' / 'who talks about X' (requires query); kind="similar-to-creators" for 'creators like @name' (requires creatorRefs, exact platform+username pairs); or kind="similar-to-list" for more creators like one curated list (requires listId). Results include profile data plus a reason or matching-post evidence. Use eden_resolve_creator to identify a person already named, eden_analyze_creator to study one creator, and eden_search_social_content when the requested result is posts rather than people.
kindstringrequiredSearch mode. "topic" requires query; "similar-to-creators" requires creatorRefs; "similar-to-list" requires listId.creatorRefsarrayoptionalRequired when kind is "similar-to-creators". Exact platform and username seeds from eden_resolve_creator; never guess handles.limitintegeroptionalMax results to return. Defaults to 10 when omitted, maximum 25.listIdstringoptionalRequired when kind is "similar-to-list". Exact curated list id.maxFollowerCountintegeroptionalMaximum follower count for result creators.minFollowerCountintegeroptionalMinimum follower count for result creators.platformsarrayoptionalPlatforms the result creators may come from. Omit for all platforms.querystringoptionalRequired when kind is "topic". The niche, audience, or subject to match.workspaceIdstringoptionalWorkspace id. Omit when the MCP connection has a default workspace.edenmcp_eden_search_custom_ai_knowledge#Search the bundled knowledge of a marketplace-installed (managed) Custom AI -- managed installs keep knowledge in a server-side bundle, so eden_get_custom_ai returns an empty sources list for them. Two modes: omit query to CATALOG the documents (sourceId, label, kind, size, previewText, readable); pass query to keyword-search inside them, returning snippets with char offsets to follow up with eden_read_custom_ai_knowledge. Case-insensitive; tries the whole query as a phrase first, then falls back to individual terms. Publisher-protected (runtime-only) documents are never searched or readable. Returns a 409 conflict for workspace-built Custom AIs; those list their sources in eden_get_custom_ai.4 params
Search the bundled knowledge of a marketplace-installed (managed) Custom AI -- managed installs keep knowledge in a server-side bundle, so eden_get_custom_ai returns an empty sources list for them. Two modes: omit query to CATALOG the documents (sourceId, label, kind, size, previewText, readable); pass query to keyword-search inside them, returning snippets with char offsets to follow up with eden_read_custom_ai_knowledge. Case-insensitive; tries the whole query as a phrase first, then falls back to individual terms. Publisher-protected (runtime-only) documents are never searched or readable. Returns a 409 conflict for workspace-built Custom AIs; those list their sources in eden_get_custom_ai.
customAIIdstringrequiredCustom AI id from eden_list_custom_ai.maxMatchesPerDocintegeroptionalMax matches returned per document. Defaults to 4 when omitted.querystringoptionalKeyword or phrase to search for inside the documents. Omit to catalog the documents instead of searching.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_search_highlights#The user's highlights -- their personal swipe file of quotes saved from books, articles, podcasts, and tweets. Pass q to keyword-search highlight text, notes, and book title/author; omit q to list recent highlights instead, optionally scoped with source and ordered by orderBy. Empty if no highlight source is connected or nothing matches.6 params
The user's highlights -- their personal swipe file of quotes saved from books, articles, podcasts, and tweets. Pass q to keyword-search highlight text, notes, and book title/author; omit q to list recent highlights instead, optionally scoped with source and ordered by orderBy. Empty if no highlight source is connected or nothing matches.
limitintegeroptionalMax results. Defaults to 10 when searching, 20 when listing (search caps at 50, listing caps at 200).offsetintegeroptionalList mode only: pagination offset. Defaults to 0.orderBystringoptionalList mode only: "recent" = most recently synced (default), "highlighted" = by the date the user highlighted it in the source.qstringoptionalKeyword(s) to match against highlight text, notes, and book title/author. Omit to list recent highlights instead of searching.sourcestringoptionalRestrict to one source: substring-matched (case-insensitive) against book/article title and author.workspaceIdstringoptionalWorkspace id from eden_list_workspaces, used to resolve each highlight's Library itemId. Uses the default workspace if omitted.edenmcp_eden_search_social_content#Search social posts across one of four scopes: a single creator, a curated list, every creator the user follows, or the entire indexed corpus. Optional free-text query enables semantic search; omitting it returns the top posts in the chosen scope ranked by orderBy. Pattern-spotting filters (creatorTier, follower-count bounds, minOutlierScore) apply to list/following/global scopes.15 params
Search social posts across one of four scopes: a single creator, a curated list, every creator the user follows, or the entire indexed corpus. Optional free-text query enables semantic search; omitting it returns the top posts in the chosen scope ranked by orderBy. Pattern-spotting filters (creatorTier, follower-count bounds, minOutlierScore) apply to list/following/global scopes.
scopestringrequiredSearch scope: "creator" (single creator's library, pass creatorRef), "list" (one curated list's roster, pass listRef), "following" (every creator the user follows), or "global" (the entire indexed corpus).creatorRefobjectoptionalRequired when scope is "creator": the resolved platform + username.creatorTierstringoptionalConvenience follower-count band: micro (10k-100k), mid (100k-1M, default for pattern-spotting), macro (1M-10M), mega (10M+). Ignored on creator scope.depthstringoptionalGlobal-scope search depth (needs a query; ignored elsewhere). "standard" (default) searches the fast semantic index; "deep" runs a slower exact keyword/phrase match over the full corpus.limitintegeroptionalMax results. Defaults to 10.listRefobjectoptionalRequired when scope is "list": the list id. Shape: {"listId": "<id>"}.maxFollowerCountintegeroptionalHard upper bound on follower count. Overrides the upper side of creatorTier when both set.mediaTypestringoptionalPer-creator endpoint media filter (e.g. youtube:short, instagram:reel). Ignored for non-creator scopes.minFollowerCountintegeroptionalHard lower bound on follower count. Overrides the lower side of creatorTier when both set.minOutlierScorenumberoptionalMinimum outlier multiplier vs creator baseline. 2.0 = double the creator's typical post; 3.0+ = real breakouts. Ignored on creator scope.orderBystringoptionalRanking. Defaults to outlier (overperformers vs creator baseline).platformstringoptionalOptional platform filter on top of the scope.querystringoptionalFree-text search (semantic for global/list/following scopes, ILIKE for creator scope). Omit for the "top posts in this scope, ranked" path. Wrap a multi-word domain term in double quotes to force exact phrase matching.sincestringoptionalTime window. Defaults to lifetime.workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_search_workspace_items#Text-substring search across the user's Eden workspace items (notes, cards, boards, media, links), matching case-insensitive against the item's title and its URL when present. Substring match only, no semantic search; note bodies are not searched (only titles + URLs). For semantic search use eden_find_workspace_items instead.6 params
Text-substring search across the user's Eden workspace items (notes, cards, boards, media, links), matching case-insensitive against the item's title and its URL when present. Substring match only, no semantic search; note bodies are not searched (only titles + URLs). For semantic search use eden_find_workspace_items instead.
cursorstringoptionalOpaque pagination cursor from the previous response's nextCursor. Omit on first call.limitintegeroptionalMax results per page. Defaults to 25, max 100.parentIdstringoptionalRestrict to items whose parent board has this id.qstringoptionalFree-text query. Case-insensitive substring match against title + URL. Omit to return everything that matches the type / parentId filters.typestringoptionalRestrict to one item type (e.g. markdown, canvas, twitter, youtube, image).workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_set_first_comment#Set the first comment on a scheduled post (for auto-commenting after publish).2 params
Set the first comment on a scheduled post (for auto-commenting after publish).
commentstringrequiredThe text content of the first comment to auto-post after publishing.postIdstringrequiredThe unique identifier of the scheduled post.edenmcp_eden_study_top_carousels#Research top-performing Instagram carousel posts and return a slide-by-slide teardown (structure, hook, per-slide text, design patterns) as reusable pattern notes. Study one creator's carousels (pass creator) OR a niche across creators (pass niche) -- pass one or the other, not both. This does NOT generate carousel media.6 params
Research top-performing Instagram carousel posts and return a slide-by-slide teardown (structure, hook, per-slide text, design patterns) as reusable pattern notes. Study one creator's carousels (pass creator) OR a niche across creators (pass niche) -- pass one or the other, not both. This does NOT generate carousel media.
creatorstringoptionalCreator handle/name/profile URL to study. Omit to study a niche instead.limitintegeroptionalHow many carousel posts to study. Defaults to 8.minOutlierScorenumberoptionalOptional minimum outlier score.nichestringoptionalTopic/niche to study across creators when no creator is given.scopestringoptionalUse "following" to restrict niche search to creators the user follows.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_trash_board#Move a board to the trash in the user's Eden workspace. This is a soft delete -- the board and its cards leave the sidebar but can be restored from Trash inside Eden. Only do this when the user clearly asks to delete/remove/trash a specific board; confirm the board first with eden_search_workspace_items.1 param
Move a board to the trash in the user's Eden workspace. This is a soft delete -- the board and its cards leave the sidebar but can be restored from Trash inside Eden. Only do this when the user clearly asks to delete/remove/trash a specific board; confirm the board first with eden_search_workspace_items.
boardIdstringrequiredId of the board to trash (an item with type: "canvas").edenmcp_eden_update_custom_ai#Replace an editable Custom AI's definition. First call eden_get_custom_ai, merge the requested changes into the complete current definition, and pass that full definition plus its current revision. Managed marketplace installs are read-only. Sources are preserved (not editable through this call).5 params
Replace an editable Custom AI's definition. First call eden_get_custom_ai, merge the requested changes into the complete current definition, and pass that full definition plus its current revision. Managed marketplace installs are read-only. Sources are preserved (not editable through this call).
customAIIdstringrequiredCustom AI id from eden_list_custom_ai.definitionobjectrequiredThe Custom AI's full replacement definition: name, instructions, and behavior settings. Must be the complete current definition with your changes merged in, not a partial patch. Example: {"name": "Brand Voice Coach", "instructionsMarkdown": "You help draft posts in our brand voice..."}.expectedRevisionintegerrequiredCurrent revision from eden_get_custom_ai. Prevents overwriting a version the caller hasn't seen yet.visibilitystringoptionalWho can see this Custom AI: private, workspace, unlisted, or public.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.edenmcp_eden_update_note#Replace the entire markdown body of an existing note with new content. Always call eden_get_note_markdown first and pass its contentHash as baseContentHash so you do not clobber newer edits. If omitted, this tool preflights a live read and refuses a large unexpected shrink unless allowShrink is true. Does not rename the note -- use eden_rename_note for that. To add to the end instead of replacing, use eden_append_to_note.5 params
Replace the entire markdown body of an existing note with new content. Always call eden_get_note_markdown first and pass its contentHash as baseContentHash so you do not clobber newer edits. If omitted, this tool preflights a live read and refuses a large unexpected shrink unless allowShrink is true. Does not rename the note -- use eden_rename_note for that. To add to the end instead of replacing, use eden_append_to_note.
contentstringrequiredFull replacement markdown body of the note. This fully replaces any existing content.itemIdstringrequiredNote item id (an item with type: "markdown").allowShrinkbooleanoptionalSet true only when you intentionally replace a long note with a much shorter body. Without this, large shrinks are refused so stale/template overwrites cannot wipe work.baseContentHashstringoptionalcontentHash from eden_get_note_markdown for the read you composed against. Strongly recommended. If omitted, Eden reads the live note and uses its hash.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_update_schedule#Edit an Eden posting schedule's recurring slot times and/or timezone -- the queue cadence shown under a brand in the scheduler, not an individual post. Read the current slots with eden_list_schedules first, then pass the full replacement array (it replaces the whole set, so include unchanged slots too). Already-queued posts keep their times. Does not rename the schedule. To move one existing post instead, use eden_update_scheduled_post.4 params
Edit an Eden posting schedule's recurring slot times and/or timezone -- the queue cadence shown under a brand in the scheduler, not an individual post. Read the current slots with eden_list_schedules first, then pass the full replacement array (it replaces the whole set, so include unchanged slots too). Already-queued posts keep their times. Does not rename the schedule. To move one existing post instead, use eden_update_scheduled_post.
scheduleIdstringoptionalSchedule id from eden_list_schedules. Omit to edit the default schedule; pass it explicitly when the workspace has several schedules/brands.slotsarrayoptionalFull replacement set of recurring posting slots. Each slot fires at 'time' on every day marked true. Example: [{"time": "08:30", "days": [true, true, true, true, true, false, false]}].timezonestringoptionalIANA timezone for the schedule, e.g. "America/New_York".workspaceIdstringoptionalWorkspace id. Uses the configured default workspace when omitted.edenmcp_eden_update_scheduled_post#Edit an existing draft or scheduled post in Eden by id -- change its time, its body, its auto first-comment, and/or its auto-repost. Find the id with eden_list_scheduled_posts. Reschedule only by passing scheduledFor/scheduledAtIso and leaving body fields out; edit the body by passing text/article/segments/media/platforms/perPlatform (omitted fields fall back to the existing post). Cannot edit a post that is already publishing or posted.13 params
Edit an existing draft or scheduled post in Eden by id -- change its time, its body, its auto first-comment, and/or its auto-repost. Find the id with eden_list_scheduled_posts. Reschedule only by passing scheduledFor/scheduledAtIso and leaving body fields out; edit the body by passing text/article/segments/media/platforms/perPlatform (omitted fields fall back to the existing post). Cannot edit a post that is already publishing or posted.
postIdstringrequiredScheduled post / draft id from eden_list_scheduled_posts.articleobjectoptionalReplacement canonical article. Omit to keep the existing article. Needs title and bodyHtml; substack targets additionally require the nested 'substack' settings object.autoRepostobjectoptionalX only: natively repost the post to the author's own timeline after publish. Shape: {"everyHours": <0-168>, "times": <1-3>, "undoAfterHours": <0-168>}. Pass everyHours: 0 to turn auto-repost off. Requires the X account to have advanced automations enabled in Eden.firstCommentobjectoptionalSet or clear the auto first-comment Eden posts right after the main post publishes. Shape: {"comment": "...", "afterLikes": <int>, "delayMinutes": <int>}. Pass an empty comment string to remove the first comment.mediaarrayoptionalReplace the attached media. Omit to keep the post's existing media.perPlatformobjectoptionalOptional per-platform overrides for when one platform should differ from the rest. Omit entirely to keep every platform on the shared text/media.platformsarrayoptionalReplace the target platforms. Omit to keep the post's current platforms.scheduledAtIsostringoptionalNew publish time as a concrete ISO timestamp. Used when scheduledFor is absent.scheduledFornumberoptionalNew publish time as epoch milliseconds. Prefer this when known.scheduleIdstringoptionalOptional schedule id guard -- rejects if the post belongs to another schedule.segmentsarrayoptionalReplacement thread segments for X/Threads.textstringoptionalReplacement post text, line breaks preserved. Pass an empty string to remove a media post's caption; omit to keep the current text.timezonestringoptionalOptional timezone override.edenmcp_eden_update_skill#Update an existing AI skill's name, description, or definition by skill ID.4 params
Update an existing AI skill's name, description, or definition by skill ID.
skillIdstringrequiredThe unique identifier of the skill to update.definitionstringoptionalNew skill definition as a JSON string. Omit to leave unchanged.descriptionstringoptionalNew description for the skill. Omit to leave unchanged.namestringoptionalNew display name for the skill. Omit to leave unchanged.edenmcp_eden_update_table#Change an Eden table itself (not its rows): rename it, add columns, or change the shared view -- layout table/board/calendar, groupBy a column name or 'done', the calendar's date column, hide completed / hide check circles. Existing columns can't be renamed or deleted here. Read the table first with eden_read_table for the current column names and view; anything that can't resolve comes back in a 'warnings' field.5 params
Change an Eden table itself (not its rows): rename it, add columns, or change the shared view -- layout table/board/calendar, groupBy a column name or 'done', the calendar's date column, hide completed / hide check circles. Existing columns can't be renamed or deleted here. Read the table first with eden_read_table for the current column names and view; anything that can't resolve comes back in a 'warnings' field.
itemIdstringrequiredTable item id.addColumnsarrayoptionalNew columns to add. Each needs a name and type. 'status' seeds a select with Not started/In progress/Done. 'rating' = stars. 'item' cells hold a workspace item id. 'meta' = read-only fact from the row's linked item. Up to 30 per call.titlestringoptionalNew table name.viewobjectoptionalChanges to the table's shared view: layout (table/board/calendar), groupBy (a select/rating/checkbox/date column name, or 'done'; empty string clears), calendarDateProperty, hideDone, hideCheck.workspaceIdstringoptionalWorkspace id, for usage attribution. Uses the configured default workspace when omitted.edenmcp_eden_update_table_rows#Update rows in an Eden table: set cell values, rename, check/uncheck the done circle, or soft-remove. Address each row by its row item id (from eden_read_table) or its exact title -- ambiguous titles are skipped with a warning. Cell patches merge (only the columns you pass change; null clears a cell). Use for 'mark X done', status sweeps, or bulk fills of a new column.3 params
Update rows in an Eden table: set cell values, rename, check/uncheck the done circle, or soft-remove. Address each row by its row item id (from eden_read_table) or its exact title -- ambiguous titles are skipped with a warning. Cell patches merge (only the columns you pass change; null clears a cell). Use for 'mark X done', status sweeps, or bulk fills of a new column.
itemIdstringrequiredTable item id.updatesarrayrequiredRow updates to apply. Each entry addresses one row by 'row' (row item id or exact title) and may set title, done, cells (merged, not replaced), or removed. Up to 100 updates per call.workspaceIdstringoptionalWorkspace id, for usage attribution. Uses the configured default workspace when omitted.edenmcp_eden_upload_scheduling_media#Upload an image/video/PDF/document from base64 bytes into Eden's public scheduling media bucket and return a ready media asset for scheduling tools. Base64 upload is capped at 25 MB; for larger files use eden_prepare_scheduling_media_upload instead. Supported types: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, video/webm.5 params
Upload an image/video/PDF/document from base64 bytes into Eden's public scheduling media bucket and return a ready media asset for scheduling tools. Base64 upload is capped at 25 MB; for larger files use eden_prepare_scheduling_media_upload instead. Supported types: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, video/webm.
base64ContentstringrequiredBase64-encoded file bytes. Do not include a data: URL prefix.mimeTypestringrequiredMIME type: image/jpeg, image/png, image/webp, image/gif, application/pdf, video/mp4, video/quicktime, or video/webm.altstringoptionalAlt text or document description.fileNamestringoptionalOriginal filename for alt/id hints.workspaceIdstringoptionalWorkspace id from eden_list_workspaces. Uses the configured default workspace when omitted.edenmcp_eden_wait_for_creator_index#Wait for a creator's content index to be ready before querying. Use this before calling analyze_creator or similar tools to ensure the index has been populated.1 param
Wait for a creator's content index to be ready before querying. Use this before calling analyze_creator or similar tools to ensure the index has been populated.
creatorIdstringrequiredThe canonical creator ID whose index readiness to await.