
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
@anakin-io/mastra
Advanced tools
Anakin web data tools for Mastra agents: scrape, crawl, map, search, agentic research, Wire site actions, monitors and browser tasks
Anakin tools for Mastra agents: scrape pages, map and crawl sites, search the web, run multi-source research, use Wire's pre-built site actions, watch pages with monitors, compare AI answer engines, and drive a cloud browser.
Each tool is a Mastra createTool() tool with Zod input and output schemas, so any Mastra agent
can call it. The 22 tools match the Anakin MCP server
one to one.
This is a community package maintained by Anakin, not by the Mastra team.
npm install @anakin-io/mastra
Requires Node.js 22.13 or later and, as peer dependencies, @mastra/core 1.x and zod 3.25+ or 4.x
(already in any Mastra project).
Get an API key (starts with ask_) from the Anakin dashboard. There
is a free tier.
export ANAKIN_API_KEY="ask_..."
import { Agent } from '@mastra/core/agent';
import { createAnakinTools } from '@anakin-io/mastra';
export const researchAgent = new Agent({
id: 'research-agent',
name: 'Research Agent',
instructions: 'Answer with facts from the web. Cite the pages you used.',
model: 'anthropic/claude-sonnet-5',
tools: createAnakinTools(),
});
createAnakinTools() reads ANAKIN_API_KEY from the environment. To pass the key yourself:
createAnakinTools({ apiKey: process.env.MY_ANAKIN_KEY });
createAnakinReadOnlyTools() returns the 15 tools that only read data. It leaves out the 7 tools
marked * below, which change something on a website or in your Anakin account.
import { createAnakinReadOnlyTools } from '@anakin-io/mastra';
const tools = createAnakinReadOnlyTools();
A shorter tool list means a shorter prompt. Every tool has its own factory:
import { createAnakinCrawlTool, createAnakinSearchTool, createAnakinUrlScraperTool } from '@anakin-io/mastra';
const tools = {
search: createAnakinSearchTool(),
scrape: createAnakinUrlScraperTool(),
crawl: createAnakinCrawlTool(),
};
Key in createAnakinTools() | Tool id | What it does |
|---|---|---|
| Web data | ||
urlScraper | anakin-url-scraper | One page as markdown, HTML, or AI-extracted JSON |
search | anakin-search | Web search: URLs, titles and snippets, returned immediately |
map | anakin-map | Every URL on a site, to decide what to crawl |
crawl | anakin-crawl | Many pages of one site as markdown |
agenticSearch | anakin-agentic-search | Research across many sources, as a summary plus structured data |
| Wire: pre-built site actions | ||
wireDiscover | anakin-wire-discover | Find actions for a task, e.g. "top phones on walmart" |
wireCatalog | anakin-wire-catalog | Every supported site, or one site's actions and their parameters |
wireReadAction | anakin-wire-read-action | Run an action that reads data |
wireWriteAction | anakin-wire-write-action | Run an action that changes something on the site * |
wireIdentities | anakin-wire-identities | Your saved site logins |
wireLogin | anakin-wire-login | Sign in to a site and get a credential * |
wireBuild | anakin-wire-build | Request actions for a site Wire doesn't cover yet * |
wireBuildStatus | anakin-wire-build-status | Progress of those requests |
| Monitors | ||
monitorCreate | anakin-monitor-create | Watch a page, a site, or a Wire action on a schedule * |
monitorList | anakin-monitor-list | Your monitors, or one monitor's settings |
monitorChanges | anakin-monitor-changes | Changes a monitor detected |
monitorControl | anakin-monitor-control | Pause, resume, run now, or delete a monitor * |
| AI visibility | ||
aiVisibilitySearch | anakin-ai-visibility-search | Ask several AI answer engines the same question and compare |
aiVisibilitySources | anakin-ai-visibility-sources | The answer engines available |
| Browser | ||
sessionList | anakin-session-list | Saved browser sessions, for pages behind a login |
sessionDelete | anakin-session-delete | Delete a saved browser session * |
browserTask | anakin-browser-task | An AI agent that drives a real browser through a multi-step task * |
* Changes state on a website or in your Anakin account. Left out of createAnakinReadOnlyTools().
Mastra tools have no read-only or destructive annotation, so each of these says so in its
description. Only give them to agents that should be able to make those changes.
Monitor responses include an alertWebhookSecret. The monitor tools redact it so it never reaches
the model's context; read it from the Anakin dashboard.
Every factory takes the same optional config:
| Option | Default | What it does |
|---|---|---|
apiKey | ANAKIN_API_KEY | Your Anakin API key, sent as the X-API-Key header |
baseUrl | https://api.anakin.io/v1 | API base URL |
timeout | 30000 | Per-request timeout, in ms |
pollIntervalMs | 2000 | First delay between job status checks, in ms |
pollMaxIntervalMs | 10000 | Cap on the exponential backoff between checks, in ms |
pollTimeoutMs | 120000 | How long to wait for an async job before giving up, in ms |
Scrapes, maps, crawls, agentic searches, AI visibility searches, Wire jobs and browser tasks are
asynchronous on Anakin's side. The tools submit the job and poll until it finishes. A browser task
can run for several minutes, so raise pollTimeoutMs for it:
import { createAnakinBrowserTaskTool } from '@anakin-io/mastra';
const browserTask = createAnakinBrowserTaskTool({ pollTimeoutMs: 360_000 });
A failed request throws an Error with the API's message (for example Invalid or inactive API key for a 401). Mastra passes the message back to the model.
| Status | Meaning |
|---|---|
| 400 | Invalid parameters |
| 401 | Invalid API key |
| 402 | Plan upgrade required |
| 429 | Rate limit exceeded |
| 5xx | Server error, retry with backoff |
npm ci
npm run typecheck && npm run lint && npm test && npm run build
npm run smoke # real @mastra/core, live API call if ANAKIN_API_KEY is set
Releases are published from GitHub Actions with npm provenance when a v* tag is pushed. See
CHANGELOG.md.
Apache-2.0
FAQs
Anakin web data tools for Mastra agents: scrape, crawl, map, search, agentic research, Wire site actions, monitors and browser tasks
We found that @anakin-io/mastra demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.