Skip to content
Scalekit Docs

Anakin MCP

Vendor MCP21 toolsOAuth 2.1/DCRAIAutomationProductivity

Anakin is an AI platform and marketplace that lets you build, deploy, and access a wide range of AI tools and automated workflows. This MCP connector...

Anakin MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. 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. 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.actions
    const connector = 'anakinmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Anakin MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'anakinmcp_monitor_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Action wire write — Run a Wire WRITE action — one whose type is “write” (it performs a state-changing interaction on the target site): submit a form, add an item to a cart, post or send content, update account settings
  • Login wire — Sign in to a credentials-mode site and get a credential_id usable immediately with wire_read_action / wire_write_action
  • Build wire — Request a brand-new Wire action for a website that isn’t in the catalog yet
  • List session, monitor — List your saved browser sessions — encrypted login states captured via the Anakin dashboard or Browser API
  • Delete session — Permanently delete a saved browser session and its encrypted login data
  • Create monitor — Create a scheduled website monitor that checks a URL every intervalMinutes (min 15) and records a change when the content differs — optionally alerting a webhook or email

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.

anakinmcp_ai_visibility_sources#List the AI answer engines available to ai_visibility_search — each with its slug (what you pass as `sources`) and display label. Call this when you need to query a subset of engines or check what is currently enabled.0 params

List the AI answer engines available to ai_visibility_search — each with its slug (what you pass as `sources`) and display label. Call this when you need to query a subset of engines or check what is currently enabled.

anakinmcp_browser_task#Run a natural-language task in a real cloud browser driven by an AI agent: it navigates, clicks, types, scrolls, and extracts on your behalf ("find the cheapest 65-inch TV on this site and list its specs", "fill the contact form with …"). Use when scrape cannot do the job (multi-step flows, interactions, complex navigation) and no Wire action covers the site (check wire_discover first — Wire actions are faster and cheaper). Async; runs up to ~5 minutes and this tool polls to completion. For login-protected tasks pass session_id from session_list — never put passwords in the prompt. Supply output_schema to get structured JSON back. It does not execute payments or transfer funds; such tasks are refused. Returns the task result plus run metadata (steps taken, duration, run_id).6 params

Run a natural-language task in a real cloud browser driven by an AI agent: it navigates, clicks, types, scrolls, and extracts on your behalf ("find the cheapest 65-inch TV on this site and list its specs", "fill the contact form with …"). Use when scrape cannot do the job (multi-step flows, interactions, complex navigation) and no Wire action covers the site (check wire_discover first — Wire actions are faster and cheaper). Async; runs up to ~5 minutes and this tool polls to completion. For login-protected tasks pass session_id from session_list — never put passwords in the prompt. Supply output_schema to get structured JSON back. It does not execute payments or transfer funds; such tasks are refused. Returns the task result plus run metadata (steps taken, duration, run_id).

NameTypeRequiredDescription
promptstringrequiredThe task in natural language. Be specific about the goal and what to return. Never include passwords or secrets — use session_id for authenticated sites.
max_stepsintegeroptionalCap on agent steps (navigation/click/type actions).
output_schemaobjectoptionalJSON Schema for the result — the agent returns structured data conforming to it.
session_idstringoptionalSaved browser-session ID (from session_list) so the task runs logged in.
timeout_msintegeroptionalTask timeout in milliseconds (server caps runs at ~330s regardless).
urlstringoptionalNavigate here before starting. Omit to let the agent follow URLs named in the prompt.
anakinmcp_crawl#Bulk-fetch markdown across a site. Use this when an agent needs the contents of many pages at once (catalog ingestion, site-wide RAG corpus). Pair with includePatterns / excludePatterns to scope which URLs are fetched. Returns an array of pages each with markdown and per-page status.9 params

Bulk-fetch markdown across a site. Use this when an agent needs the contents of many pages at once (catalog ingestion, site-wide RAG corpus). Pair with includePatterns / excludePatterns to scope which URLs are fetched. Returns an array of pages each with markdown and per-page status.

NameTypeRequiredDescription
urlstringrequiredStarting URL.
countrystringoptionalTwo-letter proxy egress country code.
depthintegeroptionalLink-hops from the starting URL to follow.
excludePatternsarrayoptionalGlob/regex patterns. URLs matching any pattern are skipped.
includePatternsarrayoptionalGlob/regex patterns. Only URLs matching at least one pattern are fetched.
maxPagesintegeroptionalHard cap on pages fetched. Defaults to 10.
sessionIdstringoptionalOptional saved-browser-session ID for login-protected sites.
sessionNamestringoptionalOptional saved-browser-session name.
useBrowserbooleanoptionalRender each page in a headless browser (for SPAs).
anakinmcp_map#Discover all reachable URLs under a given site. Useful for understanding a domain's structure before crawling, or finding the sub-pages an agent should scrape. Returns lists of internal links, external links, and counts. Honors depth and limit parameters.8 params

Discover all reachable URLs under a given site. Useful for understanding a domain's structure before crawling, or finding the sub-pages an agent should scrape. Returns lists of internal links, external links, and counts. Honors depth and limit parameters.

NameTypeRequiredDescription
urlstringrequiredThe starting URL for discovery (typically a homepage or section root).
depthintegeroptionalHow many link-hops from the starting URL to follow.
includeExternalLinksbooleanoptionalAlso collect (but do not follow) external links.
includeSubdomainsbooleanoptionalInclude URLs on subdomains of the starting host.
limitintegeroptionalMaximum number of URLs to return overall.
limitPerLevelintegeroptionalMaximum URLs collected per depth level (controls breadth).
searchstringoptionalOptional keyword filter — only return URLs whose path/title matches.
useBrowserbooleanoptionalRender with a headless browser (for SPAs).
anakinmcp_monitor_changes#Get the detected changes for a monitor — each entry records when the watched content differed from the previous check, with a diff/summary (and the AI change summary when aiMode is on). Use monitor_list first to find the monitor id.1 param

Get the detected changes for a monitor — each entry records when the watched content differed from the previous check, with a diff/summary (and the AI change summary when aiMode is on). Use monitor_list first to find the monitor id.

NameTypeRequiredDescription
idstringrequiredThe monitor ID (from monitor_list or monitor_create).
anakinmcp_monitor_control#Control an existing website monitor: "pause" stops scheduled checks, "resume" restarts them (may hit the plan's active-monitor cap), "run_now" triggers an immediate out-of-schedule check (billed like a normal check), and "delete" permanently removes the monitor and its history. Use monitor_list to find the id.2 params

Control an existing website monitor: "pause" stops scheduled checks, "resume" restarts them (may hit the plan's active-monitor cap), "run_now" triggers an immediate out-of-schedule check (billed like a normal check), and "delete" permanently removes the monitor and its history. Use monitor_list to find the id.

NameTypeRequiredDescription
actionstringrequiredWhat to do with the monitor.
idstringrequiredThe monitor ID (from monitor_list or monitor_create).
anakinmcp_monitor_create#Create a scheduled website monitor that checks a URL every intervalMinutes (min 15) and records a change when the content differs — optionally alerting a webhook or email. scope "page" (default) watches one URL; "site" crawls the site each run and tracks pages added/removed/changed; "wire" runs a Wire action each check and diffs its JSON. watchMode "full_page" (2 credits/check) compares the whole page; "specific_data" (3 credits/check) extracts only the fields in outputSchema with AI — ideal for price/stock/status tracking. aiMode (+1 credit/check) filters out trivial noise and summarizes real changes. Active-monitor caps per plan: Free 5, Pro 20, Scale 100.24 params

Create a scheduled website monitor that checks a URL every intervalMinutes (min 15) and records a change when the content differs — optionally alerting a webhook or email. scope "page" (default) watches one URL; "site" crawls the site each run and tracks pages added/removed/changed; "wire" runs a Wire action each check and diffs its JSON. watchMode "full_page" (2 credits/check) compares the whole page; "specific_data" (3 credits/check) extracts only the fields in outputSchema with AI — ideal for price/stock/status tracking. aiMode (+1 credit/check) filters out trivial noise and summarizes real changes. Active-monitor caps per plan: Free 5, Pro 20, Scale 100.

NameTypeRequiredDescription
intervalMinutesintegerrequiredCheck frequency in minutes. Minimum 15.
urlstringrequiredThe URL to watch (root URL for site scope; the Wire site's URL for wire scope).
aiGoalstringoptionalNatural-language description of which changes count as meaningful (used with aiMode), e.g. "only when the price drops or it goes out of stock".
aiModebooleanoptionalAI meaningful-change filtering: ignores trivial noise (ads, timestamps) and summarizes real changes. +1 credit per check.
alertEmailsstringoptionalComma-separated email recipients for change alerts.
alertWebhookUrlstringoptionalWebhook URL that receives signed change alerts.
countrystringoptionalTwo-letter proxy country code. Defaults to "us".
excludePatternsarrayoptionalSite scope: glob patterns to skip.
expiresAtstringoptionalOptional end date (ISO 8601 timestamp or YYYY-MM-DD); the monitor auto-pauses when it passes.
includePatternsarrayoptionalSite scope: glob patterns or hand-picked same-site URLs to track.
isActivebooleanoptionalStart running immediately. Defaults to true.
maxDepthintegeroptionalSite scope: crawl depth (1–5). Defaults to 2.
maxPagesintegeroptionalSite scope: max pages crawled per run.
outputSchemaobjectoptionalJSON Schema of the fields to track. Required when watchMode is "specific_data".
scopestringoptionalWhat to monitor: one page (default), a whole site, or a Wire action.
sessionIdstringoptionalSaved browser-session ID for monitoring login-protected pages (see session_list).
useBrowserbooleanoptionalRender checks with a stealth headless browser (needed for JS-heavy pages). Forced true when sessionId is set.
watchFormatstringoptionalFormat compared in full_page mode. Defaults to markdown.
watchModestringoptionalCompare the whole page (default) or only the fields in outputSchema, extracted with AI.
wireActionIdstringoptionalWire scope (required there): the Wire action run each check, e.g. "amazon.search_products" (see wire_discover).
wireCatalogSlugstringoptionalWire scope: catalogue slug of the Wire site.
wireCredentialIdstringoptionalWire scope: credential ID when the action needs auth (see wire_identities).
wireParamsobjectoptionalWire scope: parameters passed to the action each check.
wireWatchPathsarrayoptionalWire scope: JSON paths to diff instead of the whole response.
anakinmcp_monitor_list#List your website monitors, or pass `id` to fetch one monitor's full configuration and status (next/last check time, active state, per-check credit cost, alert settings). Use this to find a monitor's id before monitor_changes or monitor_control.1 param

List your website monitors, or pass `id` to fetch one monitor's full configuration and status (next/last check time, active state, per-check credit cost, alert settings). Use this to find a monitor's id before monitor_changes or monitor_control.

NameTypeRequiredDescription
idstringoptionalMonitor ID — fetch just this monitor instead of the full list.
anakinmcp_scrape#Fetch a single URL and return clean markdown by default. Set generateJson=true to also extract structured data with AI. Set useBrowser=true for SPAs and JS-heavy sites (slower and more expensive — only when needed). Returns markdown unless generateJson is true, in which case it returns the structured JSON.7 params

Fetch a single URL and return clean markdown by default. Set generateJson=true to also extract structured data with AI. Set useBrowser=true for SPAs and JS-heavy sites (slower and more expensive — only when needed). Returns markdown unless generateJson is true, in which case it returns the structured JSON.

NameTypeRequiredDescription
urlstringrequiredThe URL to scrape.
countrystringoptionalTwo-letter country code for the proxy egress location (e.g. "us", "de", "in"). Defaults to "us".
forceFreshbooleanoptionalSkip the cache and refetch. Defaults to false; cached results are typically good for 24h.
generateJsonbooleanoptionalHave AI extract structured JSON from the page in addition to / instead of markdown. Use for product pages, listings, articles, anywhere the caller wants typed fields.
sessionIdstringoptionalOptional saved-browser-session ID for login-protected pages. Pair with useBrowser=true.
sessionNamestringoptionalOptional saved-browser-session name (alternative to sessionId).
useBrowserbooleanoptionalRender the page with a stealth headless browser. Required for SPAs and dynamic content; otherwise prefer the default (fetch-based) for speed and lower cost.
anakinmcp_session_delete#Permanently delete a saved browser session and its encrypted login data. Irreversible — the user must log in again through the dashboard to recreate it, and any monitors or requests referencing this sessionId will lose authenticated access. Find ids with session_list.1 param

Permanently delete a saved browser session and its encrypted login data. Irreversible — the user must log in again through the dashboard to recreate it, and any monitors or requests referencing this sessionId will lose authenticated access. Find ids with session_list.

NameTypeRequiredDescription
idstringrequiredThe session ID to delete (from session_list).
anakinmcp_session_list#List your saved browser sessions — encrypted login states captured via the Anakin dashboard or Browser API. Each session's id is what you pass as sessionId to scrape/crawl, monitor_create, or browser_task to work with login-protected pages. Optionally filter by the website domain the session belongs to. If no session exists for a site, the user must create one interactively in the dashboard (log in once; 2FA/captchas included) — that flow cannot run from here.1 param

List your saved browser sessions — encrypted login states captured via the Anakin dashboard or Browser API. Each session's id is what you pass as sessionId to scrape/crawl, monitor_create, or browser_task to work with login-protected pages. Optionally filter by the website domain the session belongs to. If no session exists for a site, the user must create one interactively in the dashboard (log in once; 2FA/captchas included) — that flow cannot run from here.

NameTypeRequiredDescription
domainstringoptionalFilter to sessions for one website domain, e.g. "amazon.com".
anakinmcp_wire_build#Request a brand-new Wire action for a website that isn't in the catalog yet. Describe the site (`website_url`) and what the action should do or extract (`goal`); Wire generates and auto-tests a scraper, then publishes it. Asynchronous (returns status "pending") and charges credits, refunded automatically if the build fails. Only use this after wire_discover / wire_catalog confirm no existing action covers the site.5 params

Request a brand-new Wire action for a website that isn't in the catalog yet. Describe the site (`website_url`) and what the action should do or extract (`goal`); Wire generates and auto-tests a scraper, then publishes it. Asynchronous (returns status "pending") and charges credits, refunded automatically if the build fails. Only use this after wire_discover / wire_catalog confirm no existing action covers the site.

NameTypeRequiredDescription
goalstringrequiredNatural-language description of what the action should do or extract. Be specific — the builder synthesizes the scraper from this.
website_urlstringrequiredThe site to build an action for. The domain is extracted automatically.
catalog_idstringoptionalOptional — attach to an existing catalog instead of creating one.
forcebooleanoptionalBuild even if similar actions already exist for the domain (otherwise the request is rejected with ACTION_EXISTS).
visibilitystringoptionalAction visibility. Defaults to private.
anakinmcp_wire_catalog#Browse the Wire catalog. With no arguments, lists every supported website and its action count. Pass a catalog slug (e.g. "walmart", "amazon", "linkedin") to get that site's full action list with exact parameter schemas, each action's type (read/write), auth mode (none/optional/required), and credit cost — plus the login fields for credentials-mode sites.1 param

Browse the Wire catalog. With no arguments, lists every supported website and its action count. Pass a catalog slug (e.g. "walmart", "amazon", "linkedin") to get that site's full action list with exact parameter schemas, each action's type (read/write), auth mode (none/optional/required), and credit cost — plus the login fields for credentials-mode sites.

NameTypeRequiredDescription
slugstringoptionalCatalog slug to inspect (e.g. "walmart"). Omit to list all catalogs.
anakinmcp_wire_discover#Find Wire actions for a task from a natural-language intent. Wire is a catalog of pre-built automation actions across hundreds of websites (Amazon, Walmart, LinkedIn, Airbnb, Zillow, and others). Actions are of two kinds: READ actions that extract data and WRITE actions that perform interactions. Returns ranked candidate actions, each with its action_id, type ("read" or "write"), required/optional params, credit cost, and whether auth is needed.2 params

Find Wire actions for a task from a natural-language intent. Wire is a catalog of pre-built automation actions across hundreds of websites (Amazon, Walmart, LinkedIn, Airbnb, Zillow, and others). Actions are of two kinds: READ actions that extract data and WRITE actions that perform interactions. Returns ranked candidate actions, each with its action_id, type ("read" or "write"), required/optional params, credit cost, and whether auth is needed.

NameTypeRequiredDescription
qstringrequiredThe intent in natural language, e.g. "top phones on walmart", "search airbnb listings in Lisbon", "a linkedin profile's work history".
limitintegeroptionalMaximum number of candidate actions to return.
anakinmcp_wire_identities#List your saved Wire identities and their credentials. An identity is a named account on a site; each credential's id is the credential_id you pass to wire_read_action / wire_write_action to run actions whose auth_mode is "required". Optionally filter by catalog_id. Use this to find an existing credential before running an auth-required action (and check its status is "active", not "expired").1 param

List your saved Wire identities and their credentials. An identity is a named account on a site; each credential's id is the credential_id you pass to wire_read_action / wire_write_action to run actions whose auth_mode is "required". Optionally filter by catalog_id. Use this to find an existing credential before running an auth-required action (and check its status is "active", not "expired").

NameTypeRequiredDescription
catalog_idstringoptionalOptional — restrict to identities for a single catalog.
anakinmcp_wire_login#Sign in to a credentials-mode site and get a credential_id usable immediately with wire_read_action / wire_write_action. Provide the catalog `slug` and login `params` (the fields that catalog's login schema defines, e.g. email/password — see wire_catalog's login_input_schema). The password is never stored, only the encrypted session. Only needed for actions whose auth_mode is "required", and only for catalogs that support password sign-in; cookie-based sites use the dashboard connect flow instead.5 params

Sign in to a credentials-mode site and get a credential_id usable immediately with wire_read_action / wire_write_action. Provide the catalog `slug` and login `params` (the fields that catalog's login schema defines, e.g. email/password — see wire_catalog's login_input_schema). The password is never stored, only the encrypted session. Only needed for actions whose auth_mode is "required", and only for catalogs that support password sign-in; cookie-based sites use the dashboard connect flow instead.

NameTypeRequiredDescription
catalog_slugstringrequiredThe catalog to sign in to (e.g. "neb").
identity_namestringoptionalOptional name for the identity. Derived from params in password mode; required when using a 1Password locator.
paramsobjectoptionalLogin fields defined by the catalog (e.g. { email, password }). Use wire_catalog's login_input_schema to learn the field names.
source_idstringoptionalOptional 1Password identity-source ID (alternative to params).
source_refobjectoptionalOptional 1Password item locator { vault_id, item_id, fields } (use with source_id instead of params).
anakinmcp_wire_read_action#Run a Wire READ action — one whose type is "read" (it EXTRACTS data and does not change state on the target site): search listings, fetch a category's products, get a product's price/specs/reviews, read a profile, pull dashboard metrics. Discover action_ids first with wire_discover or wire_catalog. This tool transparently polls the async job to completion and returns the extracted data.4 params

Run a Wire READ action — one whose type is "read" (it EXTRACTS data and does not change state on the target site): search listings, fetch a category's products, get a product's price/specs/reviews, read a profile, pull dashboard metrics. Discover action_ids first with wire_discover or wire_catalog. This tool transparently polls the async job to completion and returns the extracted data.

NameTypeRequiredDescription
action_idstringrequiredThe action to run (from wire_discover / wire_catalog).
credential_idstringoptionalRequired when the action's auth_mode is "required"; honored when "optional"; ignored when "none". Get one from wire_identities or wire_login.
identity_idstringoptionalOptional identity selector — the server resolves a credential from it (alternative to credential_id).
paramsobjectoptionalThe action's input parameters. Shape depends on the action — use its parameter schema from discovery. Omit for actions that take none.
anakinmcp_wire_write_action#Run a Wire WRITE action — one whose type is "write" (it performs a state-changing interaction on the target site): submit a form, add an item to a cart, post or send content, update account settings. Discover action_ids first with wire_discover or wire_catalog and confirm the action's type is "write"; `params` must match that action's parameter schema. Most write actions need auth — pass a `credential_id` from wire_identities or wire_login. This tool transparently polls the async job to completion and returns its result. It does not execute payments or transfer funds; such actions are refused. For data extraction that does not change state (type "read") use wire_read_action instead.4 params

Run a Wire WRITE action — one whose type is "write" (it performs a state-changing interaction on the target site): submit a form, add an item to a cart, post or send content, update account settings. Discover action_ids first with wire_discover or wire_catalog and confirm the action's type is "write"; `params` must match that action's parameter schema. Most write actions need auth — pass a `credential_id` from wire_identities or wire_login. This tool transparently polls the async job to completion and returns its result. It does not execute payments or transfer funds; such actions are refused. For data extraction that does not change state (type "read") use wire_read_action instead.

NameTypeRequiredDescription
action_idstringrequiredThe action to run (from wire_discover / wire_catalog). Must be an action whose type is "write".
credential_idstringoptionalRequired when the action's auth_mode is "required"; honored when "optional"; ignored when "none". Get one from wire_identities or wire_login.
identity_idstringoptionalOptional identity selector — the server resolves a credential from it (alternative to credential_id).
paramsobjectoptionalThe action's input parameters. Shape depends on the action — use its parameter schema from discovery. Omit for actions that take none.