Skip to content
Get started
Integrations

Agent framework integrations

Use Tabstack as native tools in LangChain, the Vercel AI SDK, Mastra, LlamaIndex.TS, the OpenAI Agents SDK, the Claude Agent SDK, and eve. Schema-enforced extraction, research, generation, and browser automation, backed by the official SDK.

Tabstack ships maintained packages that expose its capabilities as native tools for common agent frameworks. Instead of hand-rolling a tool around the SDK, you install one package and drop a ready-made tool set into your agent.

Every package wraps the official Tabstack SDK and exposes the same five tools, with the same names, descriptions, and inputs, so behavior is consistent across languages and frameworks.

FrameworkLanguagePackageGuide
LangChainPythonlangchain-tabstackLangChain (Python)
LangChain.jsTypeScript@tabstack/langchainLangChain.js
Vercel AI SDKTypeScript@tabstack/aiVercel AI SDK
MastraTypeScript@tabstack/mastraMastra
LlamaIndex.TSTypeScript@tabstack/llamaindexLlamaIndex.TS
OpenAI Agents SDKTypeScript@tabstack/openai-agentsOpenAI Agents SDK
Claude Agent SDKTypeScript@tabstack/claude-agentClaude Agent SDK
eveTypeScript@tabstack/eveeve

If you are not using one of these frameworks, call the TypeScript or Python SDK directly.

ToolBacked byUse it for
extract_structured_dataextract.jsonPull specific fields from a URL into a JSON shape you define.
extract_page_contentextract.markdownFetch a page as clean markdown.
research_questionagent.researchSynthesize a cited answer across multiple pages.
generate_structured_datagenerate.jsonFetch a page, then AI-transform it into derived or reshaped JSON.
automate_browser_taskagent.automateRun a multi-step, natural-language browser task.

These apply to every package.

Beyond each tool’s required inputs, the fetch-based tools accept optional controls. They are sent to Tabstack only when provided, so omitting them keeps the defaults.

  • extract_structured_data, extract_page_content, generate_structured_data:
    • effort: min, standard, or max. Use max for JS-heavy pages (full server-side browser rendering). See Effort levels.
    • nocache: bypass the cache and fetch fresh.
    • country: ISO 3166-1 alpha-2 code for geotargeting.
  • research_question: mode (fast or balanced), nocache.
  • automate_browser_task: guardrails (constraints on what the agent may do), data (context for form filling), country, max_iterations, max_validation_attempts.

automate_browser_task consumes the automate stream without the human-in-the-loop form-data flow, so it never blocks waiting for input. It returns the final answer plus the data it extracted and the pages it visited. For interactive automation, use the SDK’s interactive mode directly.

The TypeScript packages return native objects (camelCase keys). The Python package returns JSON strings (snake_case keys), the conventional LangChain-Python tool output. The data is the same; only the return type and key casing differ, by language convention.

@tabstack/claude-agent is the one structural exception: it registers the tools as an in-process MCP server rather than handing you tool objects, so results reach the model as MCP text content (markdown for extract_page_content, JSON for the rest).

  • Schema-enforced output. You define the shape, you get that shape back. No prompt-engineering the JSON out of raw text.
  • No browser to run. JS-heavy pages render server-side. No Playwright, no binaries.
  • Version-independent. It is an SDK call, not a loader coupled to your framework version. See Tabstack vs. LangChain browser tools.