# AI SDK Library > A curated collection of agents and tools for the Vercel AI SDK > [Live Website](https://aisdklibrary.com) > Created by [Ben Sabic](https://bensabic.ca) ## Agents ### Context7 > The Context7 Agent is a pre-configured AI agent that handles the complete documentation lookup workflow automatically. It combines both resolveLibraryId and queryDocs tools with an optimized system prompt. - **Package:** @upstash/context7-tools-ai-sdk - **Author:** Upstash - **Tags:** search, docs, code examples **Environment Variables:** - `CONTEXT7_API_KEY` **Installation:** ```bash npm install @upstash/context7-tools-ai-sdk ``` **Usage:** ```typescript import { Context7Agent } from "@upstash/context7-tools-ai-sdk"; import { anthropic } from "@ai-sdk/anthropic"; const agent = new Context7Agent({ model: anthropic("claude-sonnet-4-20250514"), }); const { text } = await agent.generate({ prompt: "How do I use React Server Components?", }); console.log(text); ``` **Links:** [Documentation](https://context7.com/docs/agentic-tools/ai-sdk/agents/context7-agent) | [npm](https://www.npmjs.com/package/@upstash/context7-tools-ai-sdk) | [GitHub](https://github.com/upstash/context7) --- ### Webflow > The LeadResponseAgent automates responding to Webflow form submissions. It discovers sites and forms, retrieves submissions, creates Resend contacts, and sends template-based response emails. - **Package:** @224industries/webflow-ai-sdk - **Author:** 224 Industries - **Tags:** webflow, forms, email, resend, leads **Environment Variables:** - `WEBFLOW_API_KEY` - `WEBFLOW_SITE_ID` - `RESEND_API_KEY` - `RESEND_EMAIL_DOMAIN` **Installation:** ```bash npm install @224industries/webflow-ai-sdk ``` **Usage:** ```typescript import { LeadResponseAgent } from "@224industries/webflow-ai-sdk/agents"; import { anthropic } from "@ai-sdk/anthropic"; const agent = new LeadResponseAgent({ model: anthropic("claude-sonnet-4-20250514"), }); const { text } = await agent.generate({ prompt: "Check my Webflow site for new form submissions and respond to any new leads using the New Lead template in Resend.", }); ``` **Links:** [Documentation](https://github.com/224-Industries/webflow-ai-sdk) | [npm](https://www.npmjs.com/package/@224industries/webflow-ai-sdk) | [GitHub](https://github.com/224-Industries/webflow-ai-sdk) --- ## Tools ### Airweave > Airweave is an open-source platform that makes any app searchable for your agent. Sync and search across 35+ data sources (Notion, Slack, Google Drive, databases, and more) with semantic search. Add unified search across all your connected data to your AI applications in just a few lines of code. - **Package:** @airweave/vercel-ai-sdk - **Author:** Airweave - **Tags:** search, rag, data-sources, semantic-search **Environment Variables:** - `AIRWEAVE_API_KEY` **Included Tools:** - **airweaveSearch:** Search across 35+ connected data sources with semantic search **Installation:** ```bash npm install @airweave/vercel-ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { airweaveSearch } from '@airweave/vercel-ai-sdk'; const { text } = await generateText({ model: 'anthropic/claude-sonnet-4.5', prompt: 'What were the key decisions from last week?', tools: { search: airweaveSearch({ defaultCollection: 'my-knowledge-base', }), }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.airweave.ai) | [npm](https://www.npmjs.com/package/@airweave/vercel-ai-sdk) --- ### Amazon Bedrock AgentCore > Fully managed Browser and Code Interpreter tools for AI agents. Browser is a fast and secure cloud-based runtime for interacting with web applications, filling forms, navigating websites, and extracting information. Code Interpreter provides an isolated sandbox for executing Python, JavaScript, and TypeScript code to solve complex tasks. - **Package:** bedrock-agentcore - **Author:** Amazon - **Tags:** code-execution, browser-automation, sandbox **Environment Variables:** - `AWS_ROLE_ARN` **Included Tools:** - **CodeInterpreterTools:** Execute Python, JavaScript, and TypeScript code in an isolated sandbox environment - **BrowserTools:** Interact with web applications, fill forms, navigate websites, and extract information **Installation:** ```bash npm install bedrock-agentcore ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { bedrock } from '@ai-sdk/amazon-bedrock'; import { awsCredentialsProvider } from '@vercel/oidc-aws-credentials-provider'; import { CodeInterpreterTools } from 'bedrock-agentcore/code-interpreter/vercel-ai'; import { BrowserTools } from 'bedrock-agentcore/browser/vercel-ai'; const credentialsProvider = awsCredentialsProvider({ roleArn: process.env.AWS_ROLE_ARN!, }); const codeInterpreter = new CodeInterpreterTools({ credentialsProvider }); const browser = new BrowserTools({ credentialsProvider }); try { const { text } = await generateText({ model: bedrock('us.anthropic.claude-sonnet-4-20250514-v1:0'), prompt: 'Go to https://news.ycombinator.com and get the first story title. Then use Python to reverse the string.', tools: { ...codeInterpreter.tools, ...browser.tools, }, stopWhen: stepCountIs(5), }); console.log(text); } finally { await codeInterpreter.stopSession(); await browser.stopSession(); } ``` **Links:** [Documentation](https://github.com/aws/bedrock-agentcore-sdk-typescript) | [npm](https://www.npmjs.com/package/bedrock-agentcore) | [GitHub](https://github.com/aws/bedrock-agentcore-sdk-typescript) --- ### bash-tool > Provides bash, readFile, and writeFile tools for AI agents. Supports @vercel/sandbox for full VM isolation. - **Package:** bash-tool - **Author:** Vercel - **Tags:** bash, file-system, sandbox, code-execution **Included Tools:** - **bash:** Execute bash commands in the sandbox environment. For analysis agents, this may be the only tool you need to give to the agent - **readFile:** Read the contents of a file from the sandbox - **writeFile:** Write content to a file in the sandbox. Creates parent directories if needed **Installation:** ```bash npm install bash-tool ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { createBashTool } from 'bash-tool'; const { tools } = await createBashTool({ files: { 'src/index.ts': "export const hello = 'world';" }, }); const { text } = await generateText({ model: 'anthropic/claude-sonnet-4', prompt: 'List the files in src/ and show me the contents of index.ts', tools, stopWhen: stepCountIs(5), }); console.log(text); ``` **Links:** [Documentation](https://github.com/vercel-labs/bash-tool) | [npm](https://www.npmjs.com/package/bash-tool) | [GitHub](https://github.com/vercel-labs/bash-tool) --- ### Code Execution > Execute Python code in a sandboxed environment using Vercel Sandbox. Run calculations, data processing, and other computational tasks safely in an isolated environment with Python 3.13. - **Package:** ai-sdk-tool-code-execution - **Author:** Vercel - **Tags:** code-execution, sandbox **Environment Variables:** - `VERCEL_API_KEY` **Included Tools:** - **executeCode:** Execute Python code in a sandboxed Vercel Sandbox environment **Installation:** ```bash npm install ai-sdk-tool-code-execution ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { executeCode } from 'ai-sdk-tool-code-execution'; const { text } = await generateText({ model: 'openai/gpt-5.1-codex', prompt: 'What is 5 + 5 minus 84 cubed?', tools: { executeCode: executeCode(), }, stopWhen: stepCountIs(5), }); console.log(text); ``` **Links:** [Documentation](https://vercel.com/docs/vercel-sandbox) | [npm](https://www.npmjs.com/package/ai-sdk-tool-code-execution) | [GitHub](https://github.com/vercel/sandbox) --- ### Context7 > When building AI-powered applications, your models often need accurate information about libraries and frameworks. Instead of relying on potentially outdated training data, Context7 tools let your AI fetch current documentation on-demand, ensuring responses include correct API usage, current best practices, and working code examples. - **Package:** @upstash/context7-tools-ai-sdk - **Author:** Upstash - **Tags:** search, docs, code examples **Environment Variables:** - `CONTEXT7_API_KEY` **Included Tools:** - **resolveLibraryId:** Resolve a package or library name to a Context7-compatible library ID - **queryDocs:** Retrieve and query up-to-date documentation and code examples for a library **Installation:** ```bash npm install @upstash/context7-tools-ai-sdk ``` **Usage:** ```typescript import { resolveLibraryId, queryDocs } from "@upstash/context7-tools-ai-sdk"; import { generateText, stepCountIs } from "ai"; import { openai } from "@ai-sdk/openai"; const { text } = await generateText({ model: openai("gpt-5.2"), prompt: "How do I create a server action in Next.js?", tools: { resolveLibraryId: resolveLibraryId(), queryDocs: queryDocs(), }, stopWhen: stepCountIs(5), }); console.log(text); ``` **Links:** [Documentation](https://context7.com/docs/agentic-tools/ai-sdk/getting-started) | [npm](https://www.npmjs.com/package/@upstash/context7-tools-ai-sdk) | [GitHub](https://github.com/upstash/context7) --- ### ctx-zip > Transform MCP tools and AI SDK tools into code, write it to a Vercel sandbox file system and have the agent import the tools, write code, and execute it. - **Package:** ctx-zip - **Author:** Vercel - **Tags:** code-execution, sandbox, mcp, code-mode **Environment Variables:** - `VERCEL_OIDC_TOKEN` **Included Tools:** - **sandbox_ls:** List directory contents - **sandbox_cat:** Read file contents - **sandbox_grep:** Search inside files - **sandbox_find:** Find a file or directory - **sandbox_exec:** Execute TypeScript code **Installation:** ```bash npm install ctx-zip ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { createVercelSandboxCodeMode, SANDBOX_SYSTEM_PROMPT } from 'ctx-zip'; const { tools } = await createVercelSandboxCodeMode({ servers: [ { name: 'vercel', url: 'https://mcp.vercel.com', useSSE: false, headers: { Authorization: `Bearer ${process.env.VERCEL_API_KEY}`, }, }, ], standardTools: { weather: weatherTool, }, }); const { text } = await generateText({ model: 'openai/gpt-5.2', tools, stopWhen: stepCountIs(20), system: SANDBOX_SYSTEM_PROMPT, messages: [ { role: 'user', content: 'What tools are available from the Vercel MCP server?', }, ], }); console.log(text); ``` **Links:** [Documentation](https://github.com/karthikscale3/ctx-zip/blob/main/README.md) | [npm](https://www.npmjs.com/package/ctx-zip) | [GitHub](https://github.com/karthikscale3/ctx-zip/blob/main/README.md) --- ### Exa > Exa is a web search API that adds web search capabilities to your LLMs. Exa can search the web for code docs, current information, news, articles, and alot more. Exa performs real-time web searches and can get page content from specific URLs. Add Exa web search tool to your LLMs in just a few lines of code. - **Package:** @exalabs/ai-sdk - **Author:** Exa - **Tags:** search, web, extraction **Environment Variables:** - `EXA_API_KEY` **Included Tools:** - **webSearch:** Search the web for code docs, news, articles, and real-time information **Installation:** ```bash npm install @exalabs/ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { webSearch } from '@exalabs/ai-sdk'; const { text } = await generateText({ model: 'google/gemini-3-pro-preview', prompt: 'Tell me the latest developments in AI', tools: { webSearch: webSearch(), }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.exa.ai/reference/vercel) | [npm](https://www.npmjs.com/package/@exalabs/ai-sdk) --- ### Firecrawl > Firecrawl tools for the AI SDK. Web scraping, search, crawling, and data extraction for AI applications. Scrape any website into clean markdown, search the web, crawl entire sites, and extract structured data. - **Package:** firecrawl-aisdk - **Author:** Firecrawl - **Tags:** scraping, search, crawling, extraction, web **Environment Variables:** - `FIRECRAWL_API_KEY` **Included Tools:** - **scrapeTool:** Scrape a single URL into clean markdown - **searchTool:** Search the web and return relevant results - **mapTool:** Discover and map URLs on a website - **crawlTool:** Crawl multiple pages from a starting URL - **batchScrapeTool:** Scrape multiple URLs at once - **extractTool:** Extract structured data from pages - **pollTool:** Poll async job status - **statusTool:** Check the status of a job - **cancelTool:** Cancel a running job **Installation:** ```bash npm install firecrawl-aisdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { scrapeTool } from 'firecrawl-aisdk'; const { text } = await generateText({ model: 'openai/gpt-5-mini', prompt: 'Scrape https://firecrawl.dev and summarize what it does', tools: { scrape: scrapeTool, }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.firecrawl.dev/integrations/ai-sdk) | [npm](https://www.npmjs.com/package/firecrawl-aisdk) | [GitHub](https://github.com/firecrawl/firecrawl) --- ### Parallel > Parallel gives AI agents best-in-class tools to search and extract context from the web. Web results returned by Parallel are compressed for optimal token efficiency at inference time. - **Package:** @parallel-web/ai-sdk-tools - **Author:** Parallel - **Tags:** search, web, extraction **Environment Variables:** - `PARALLEL_API_KEY` **Included Tools:** - **searchTool:** Search the web with token-optimized compressed results - **extractTool:** Extract context and content from web pages **Installation:** ```bash npm install @parallel-web/ai-sdk-tools ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { searchTool, extractTool } from '@parallel-web/ai-sdk-tools'; const { text } = await generateText({ model: 'google/gemini-3-pro-preview', prompt: 'When was Vercel Ship AI?', tools: { webSearch: searchTool, webExtract: extractTool, }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://www.npmjs.com/package/@parallel-web/ai-sdk-tools) | [npm](https://www.npmjs.com/package/@parallel-web/ai-sdk-tools) --- ### Perplexity Search > Search the web with real-time results and advanced filtering powered by Perplexity's Search API. Provides ranked search results with domain, language, date range, and recency filters. Supports multi-query searches and regional search results. - **Package:** @perplexity-ai/ai-sdk - **Author:** Perplexity - **Tags:** search, web **Environment Variables:** - `PERPLEXITY_API_KEY` **Included Tools:** - **perplexitySearch:** Search the web with real-time results and advanced filtering options **Installation:** ```bash npm install @perplexity-ai/ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { perplexitySearch } from '@perplexity-ai/ai-sdk'; const { text } = await generateText({ model: 'openai/gpt-5.2', prompt: 'What are the latest AI developments? Use search to find current information.', tools: { search: perplexitySearch(), }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.perplexity.ai/guides/search-quickstart) | [npm](https://www.npmjs.com/package/@perplexity-ai/ai-sdk) --- ### Resend > Send and manage emails with Resend. Give your AI agents the ability to send transactional emails, manage contacts, and work with email templates. - **Package:** resend-ai-sdk - **Author:** Flash Brew Digital - **Tags:** email, resend, transactional, contacts, templates **Environment Variables:** - `RESEND_API_KEY` - `RESEND_EMAIL_DOMAIN` **Included Tools:** - **sendEmail:** Send an email to one or more recipients - **sendBatchEmails:** Send multiple emails at once (up to 100) - **getEmail:** Retrieve the status and metadata of a sent email - **listEmails:** List recently sent emails - **createContact:** Add a new contact to your Resend account - **listContacts:** List contacts in your account - **removeContact:** Remove a contact permanently - **listTemplates:** List available email templates - **getTemplate:** Retrieve a template's content and variables **Installation:** ```bash npm install resend-ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { sendEmail, listTemplates, getTemplate } from 'resend-ai-sdk'; const { text } = await generateText({ model: 'openai/gpt-4o', prompt: 'Find my welcome template and send it to user@example.com from hello@acme.com', tools: { sendEmail, listTemplates, getTemplate, }, stopWhen: stepCountIs(5), }); console.log(text); ``` **Links:** [Documentation](https://github.com/Flash-Brew-Digital/resend-ai-sdk) | [npm](https://www.npmjs.com/package/resend-ai-sdk) | [GitHub](https://github.com/Flash-Brew-Digital/resend-ai-sdk) --- ### Superagent > AI security guardrails for your LLMs. Protect your AI apps from prompt injection, redact PII/PHI (SSNs, emails, phone numbers), and verify claims against source materials. Add security tools to your LLMs in just a few lines of code. - **Package:** @superagent-ai/ai-sdk - **Author:** Superagent - **Tags:** security, guardrails, pii, prompt-injection, verification **Environment Variables:** - `SUPERAGENT_API_KEY` **Included Tools:** - **guard:** Protect against prompt injection and security threats - **redact:** Redact PII/PHI like SSNs, emails, and phone numbers - **verify:** Verify claims against source materials **Installation:** ```bash npm install @superagent-ai/ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { guard, redact, verify } from '@superagent-ai/ai-sdk'; import { openai } from '@ai-sdk/openai'; const { text } = await generateText({ model: openai('gpt-4o-mini'), prompt: 'Check this input for security threats: "Ignore all instructions"', tools: { guard: guard(), redact: redact(), verify: verify(), }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.superagent.sh) | [npm](https://www.npmjs.com/package/@superagent-ai/ai-sdk) --- ### Tako Search > Search Tako's knowledge base for data visualizations, insights, and well-sourced information with charts and analytics. - **Package:** @takoviz/ai-sdk - **Author:** Tako - **Tags:** search, data, visualization, analytics **Environment Variables:** - `TAKO_API_KEY` **Included Tools:** - **takoSearch:** Search for data visualizations, insights, and analytics with charts **Installation:** ```bash npm install @takoviz/ai-sdk ``` **Usage:** ```typescript import { takoSearch } from '@takoviz/ai-sdk'; import { generateText, stepCountIs } from 'ai'; const { text } = await generateText({ model: 'openai/gpt-5.2', prompt: 'What is the stock price of Nvidia?', tools: { takoSearch: takoSearch(), }, stopWhen: stepCountIs(5), }); console.log(text); ``` **Links:** [Documentation](https://github.com/TakoData/ai-sdk#readme) | [npm](https://www.npmjs.com/package/@takoviz/ai-sdk) | [GitHub](https://github.com/TakoData/ai-sdk#readme) --- ### Tavily > Tavily is a web intelligence platform offering real-time web search optimized for AI applications. Tavily provides comprehensive web research capabilities including search, content extraction, website crawling, and site mapping to power AI agents with current information. - **Package:** @tavily/ai-sdk - **Author:** Tavily - **Tags:** search, extract, crawl **Environment Variables:** - `TAVILY_API_KEY` **Included Tools:** - **tavilySearch:** Search the web for real-time, AI-optimized information - **tavilyExtract:** Extract clean, structured content from URLs - **tavilyCrawl:** Crawl websites to discover and extract content from multiple pages - **tavilyMap:** Map website structure to understand site architecture **Installation:** ```bash npm install @tavily/ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { tavilySearch } from '@tavily/ai-sdk'; const { text } = await generateText({ model: 'google/gemini-3-pro-preview', prompt: 'What are the latest developments in agentic search?', tools: { webSearch: tavilySearch, }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.tavily.com/documentation/integrations/vercel) | [npm](https://www.npmjs.com/package/@tavily/ai-sdk) --- ### Valyu > Valyu provides powerful search tools for AI agents. Web search for real-time information, plus specialized domain-specific searchtools: financeSearch (stock prices, earnings, income statements, cash flows, etc), paperSearch (full-text PubMed, arXiv, bioRxiv, medRxiv), bioSearch (clinical trials, FDA drug labels, PubMed, medRxiv, bioRxiv), patentSearch (USPTO patents), secSearch (10-k/10-Q/8-k), economicsSearch (BLS, FRED, World Bank data), and companyResearch (comprehensive company research reports). - **Package:** @valyu/ai-sdk - **Author:** Valyu - **Tags:** search, web, domain-search **Environment Variables:** - `VALYU_API_KEY` **Included Tools:** - **webSearch:** Search the web for current information, news, articles, and general content - **financeSearch:** Search financial data including stock prices and more - **paperSearch:** Search academic research papers, scholarly articles, and textbooks - **bioSearch:** Search biomedical literature like PubMed articles - **patentSearch:** Search patent databases - **secSearch:** Search SEC filings - **economicsSearch:** Search economic data (e.g. labor statistics) - **companyResearch:** Generate comprehensive company research reports **Installation:** ```bash npm install @valyu/ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { webSearch } from '@valyu/ai-sdk'; // Available specialised search tools: financeSearch, paperSearch, // bioSearch, patentSearch, secSearch, economicsSearch, companyResearch const { text } = await generateText({ model: 'google/gemini-3-pro-preview', prompt: 'Latest data center projects for AI inference?', tools: { webSearch: webSearch(), }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://docs.valyu.ai/integrations/vercel-ai-sdk) | [npm](https://www.npmjs.com/package/@valyu/ai-sdk) --- ### Vercel Blob > Upload, download, list, copy, and delete files in cloud storage. Give your AI agents the ability to persist and manage files with public URLs. - **Package:** vercel-blob-ai-sdk - **Author:** Flash Brew Digital - **Tags:** storage, files, blob, upload **Environment Variables:** - `BLOB_READ_WRITE_TOKEN` **Included Tools:** - **uploadAsset:** Upload files, images, or text content to cloud storage - **listAssets:** List stored assets with optional filtering by prefix - **getAssetInfo:** Get metadata about an asset without downloading - **downloadAsset:** Download and retrieve the contents of an asset - **copyAsset:** Copy an asset to a new location - **deleteAsset:** Delete a single asset - **deleteAssets:** Delete multiple assets at once **Installation:** ```bash npm install vercel-blob-ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from 'ai'; import { uploadAsset, listAssets, downloadAsset } from 'vercel-blob-ai-sdk'; const { text } = await generateText({ model: 'openai/gpt-4o', prompt: 'Save a file called hello.txt with the content "Hello, world!"', tools: { uploadAsset, listAssets, downloadAsset, }, stopWhen: stepCountIs(3), }); console.log(text); ``` **Links:** [Documentation](https://github.com/Flash-Brew-Digital/vercel-blob-ai-sdk) | [npm](https://www.npmjs.com/package/vercel-blob-ai-sdk) | [GitHub](https://github.com/Flash-Brew-Digital/vercel-blob-ai-sdk) --- ### Webflow > Give your AI agents the power to list and publish sites, manage pages, retrieve form submissions, and add custom code to your Webflow projects. - **Package:** @224industries/webflow-ai-sdk - **Author:** 224 Industries - **Tags:** webflow, cms, forms, websites **Environment Variables:** - `WEBFLOW_API_KEY` - `WEBFLOW_SITE_ID` **Included Tools:** - **listSites:** List all Webflow sites accessible with the current API token - **publishSite:** Publish a site to custom domains or the Webflow subdomain - **listPages:** List all pages for a site with pagination - **updatePage:** Update a page's title, slug, SEO, and Open Graph metadata - **listForms:** List all forms for a site with field definitions - **listFormSubmissions:** Retrieve submitted form data, optionally filtered by form - **listCustomCode:** List all custom code scripts applied to a site and its pages - **addCustomCode:** Register and apply an inline script to a site or page **Installation:** ```bash npm install @224industries/webflow-ai-sdk ``` **Usage:** ```typescript import { generateText, stepCountIs } from "ai"; import { listSites, listPages, updatePage, publishSite } from "@224industries/webflow-ai-sdk/tools"; const { text } = await generateText({ model: 'openai/gpt-5.2', tools: { listSites, listPages, updatePage, publishSite }, prompt: "List all my sites and their pages", stopWhen: stepCountIs(5), }); ``` **Links:** [Documentation](https://github.com/224-Industries/webflow-ai-sdk) | [npm](https://www.npmjs.com/package/@224industries/webflow-ai-sdk) | [GitHub](https://github.com/224-Industries/webflow-ai-sdk) ---