Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Eraser MCP server

Vendor MCP
Open markdown

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

Tools
42
What they doRead · write · destructive
16 · 21 · 516 read21 write5 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 Eraser MCP connection

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

    Scalekit credentials are available for Eraser 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 = 'erasermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Eraser 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: 'erasermcp_get_me',
    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
  • erasermcp_export_diagramRender a canvas diagram to PNG or JPEG and return a temporary image URL.Read-only

    Export Diagram

    Render a canvas diagram to PNG or JPEG and return a temporary image URL. Tell the user to download it from the returned imageUrl.

    Inputs

    diagramIdstringrequired
    No description.
    fileIdstringrequired
    No description.
    backgroundboolean
    No description.
    formatstring
    No description.one of pngjpegdrawio
    imageQualitystring
    No description.
    themestring
    No description.one of lightdark
  • erasermcp_export_documentExport a file's markdown document body as a downloadable artifact.Read-only

    Export Document

    Export a file's markdown document body as a downloadable artifact.

    Inputs

    fileIdstringrequired
    No description.
    returnAsstring
    No description.one of urlstream
  • erasermcp_export_fileReturns the Eraser file URL for PDF export.Read-only

    Export File

    Returns the Eraser file URL for PDF export. NOTE: programmatic PDF export is not yet available via MCP — this returns a link for the user to export from the Eraser app's export menu, not a downloadable PDF. For a diagram image, use export_diagram; for the document body as markdown, use export_document.

    Inputs

    fileIdstringrequired
    No description.
    areastring
    No description.one of fulldocumentcanvas
    pageOrientationstring
    No description.one of portraitlandscape
    pageSizestring
    No description.one of A4A3LetterLegalTabloid
    returnAsstring
    No description.one of urlstream
  • erasermcp_get_diagramFetch a diagram's metadata and DSL/JSON code.Read-only

    Get Diagram

    Fetch a diagram's metadata and DSL/JSON code. For freeform diagrams, set includeFreeformDefinition: true to get the full scene structure (elements, connections, titles). Need a PNG image of the diagram? Use export_diagram instead.

    Inputs

    diagramIdstringrequired
    No description.
    fileIdstringrequired
    No description.
    includeFreeformDefinitionboolean
    No description.
  • erasermcp_get_documentFetch the full markdown body of a file's document.Read-only

    Get Document

    Fetch the full markdown body of a file's document.

    Inputs

    fileIdstringrequired
    No description.
  • erasermcp_get_fileFetch a file's metadata, document outline (headers), and the list of diagrams in it.Read-only

    Get File

    Fetch a file's metadata, document outline (headers), and the list of diagrams in it.

    Inputs

    fileIdstringrequired
    No description.
  • erasermcp_get_folderFetch a folder by id.Read-only

    Get Folder

    Fetch a folder by id.

    Inputs

    folderIdstringrequired
    No description.
  • erasermcp_get_meFetch the current user, active team, and team memberships.Read-only

    Get Me

    Fetch the current user, active team, and team memberships.

    Inputs

    This tool takes no inputs.