Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Eden MCP server

Vendor MCP
Open markdown

The Eden MCP connector routes your AI agent's tool calls to Eden's own MCP server through Scalekit. Each user signs in to Eden once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 84 tools.

Tools
84
What they doRead · write · destructive
47 · 34 · 347 read34 write3 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. 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>
  3. Create the Eden MCP connection

    In AgentKit > Connections, create an Eden MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Eden MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'edenmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Eden MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'edenmcp_eden_analyze_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • edenmcp_eden_analyze_creatorAnalyze 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).Read-only

    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.

    Inputs

    querystringrequired
    Free-text identifier (handle, name, URL). Required even when creatorRef is set, for fallback messaging.
    creatorRefobject
    Pre-resolved (platform, username), skipping the resolver hop. Use after eden_resolve_creator when you've picked a specific candidate. Shape: {"platform": "twitter", "username": "thedankoe"}.
    focusstring
    Free-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.
    platformstring
    Constrain to one platform. Omit to consider all.one of twitterlinkedininstagramtiktokyoutubesubstackthreads
    refreshboolean
    Set 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.
    sincestring
    Time window for breakdown + top-posts query. Defaults to lifetime.one of weekmonthquarteryeartwo_yearsall
    topPostLimitinteger
    How many top posts to surface. Defaults to 8.
    workspaceIdstring
    Workspace 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_listFetch 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.Read-only

    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.

    Inputs

    listRefobject
    Pre-resolved list reference, skipping the fuzzy match pass. Shape: {"listId": "<id>"}.
    memberLimitinteger
    How many members to return. Defaults to 40 when omitted.
    querystring
    List name, slug, or partial match. Omit along with listRef to get the roster-of-lists mode instead of a single-list analysis.
    workspaceIdstring
    ID of the workspace context for the analysis. Uses the default workspace if omitted.
  • edenmcp_eden_find_creator_in_workspaceFind saved posts and content by a specific creator in an Eden workspace, identified by their handle.Read-only

    Find Creator in Workspace

    Find saved posts and content by a specific creator in an Eden workspace, identified by their handle.

    Inputs

    creatorHandlestringrequired
    The handle or username of the creator whose content you want to find.
    workspaceIdstringrequired
    The unique identifier of the workspace to search within.
  • edenmcp_eden_find_workspace_itemsSemantic 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.Read-only

    Find Workspace Items (Semantic)

    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.

    Inputs

    querystringrequired
    Natural-language description of what to find.
    categorystring
    Restrict results to items carrying one AI-assigned category.
    kindstring
    Restrict results to one item kind.one of documentscardsstackspdfsimagesvideosaudiolinkssocial
    limitinteger
    Max hits to return. Defaults to 10 when omitted.
    sourcestring
    Restrict social items to one platform.one of youtubetwitterinstagramtiktoklinkedinthreadssubstack
    tagsarray
    Restrict results to items carrying any of these AI-assigned tags.
    workspaceIdstring
    Workspace id. Uses the configured default workspace when omitted.
  • edenmcp_eden_following_overviewList 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.Read-only

    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.

    Inputs

    limitinteger
    Max creators to return. Defaults to 100, maximum 500.
    platformstring
    Filter the following overview to a specific platform. Omit to return the full cross-platform roster.one of twitterlinkedininstagramtiktokyoutubesubstackthreads
    workspaceIdstring
    ID of the workspace context. Uses the default workspace if omitted.
  • edenmcp_eden_get_analyticsThe 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.Read-only

    Get Analytics Digest

    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.

    Inputs

    brandIdstring
    Scope to one brand (brand ids come from eden_list_schedules). Pass 'default' for the workspace-default profile. Omit for the whole workspace.
    daysinteger
    Lookback window in days. Defaults to 30. Served history is clamped to the workspace tier's entitlement.
    workspaceIdstring
    Workspace id. Uses the configured default workspace when omitted.
  • edenmcp_eden_get_connectionsRead 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.Read-only

    Get Item 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.

    Inputs

    itemIdstringrequired
    Item id from eden_search_workspace_items / eden_find_workspace_items / eden_list_workspace_items. A board-card element id also works.
    includearray
    Which sides of the connection graph to return. Defaults to both when omitted.
    suggestionLimitinteger
    Max suggestions to return. Defaults to 5 when omitted.
    workspaceIdstring
    Workspace id. Uses the configured default workspace when omitted.
  • edenmcp_eden_get_custom_aiGet a Custom AI's full instructions and authoritative source catalog.Read-only

    Get a 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.

    Inputs

    customAIIdstringrequired
    Custom AI id from eden_list_custom_ai.
    workspaceIdstring
    Workspace id from eden_list_workspaces. Uses the workspace's configured default when omitted.