freshcrate
Skin:/
Home > Frameworks > adk-ts

adk-ts

A robust framework for building AI agents with multi-provider LLM support

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

A robust framework for building AI agents with multi-provider LLM support

README

ADK-TS Logo

ADK-TS: The TypeScript-Native AI Agent Framework

An open-source framework for building production-ready AI agents in TypeScript. Type-safe, multi-LLM, with built-in tools, sessions, and agent orchestration.
TypeScript-Native โ€ข Multi-Agent Systems โ€ข Production-Ready

NPM Version NPM Downloads License GitHub Stars

๐ŸŒŸ Overview

ADK-TS is the TypeScript-native framework for building production-ready AI agents. It provides multi-LLM support, advanced tool integration, memory systems, and flexible conversation flows โ€” built from the ground up for TypeScript developers who want to ship intelligent, autonomous systems that handle complex multi-step tasks.

๐Ÿš€ Quick Start

Getting Started

You can get started in two ways:

  • Create a new project with our CLI:

    npm install -g @iqai/adk-cli
    adk
  • Add ADK-TS to an existing project:

    npm install @iqai/adk

Simple Example

import { AgentBuilder } from "@iqai/adk";

const response = await AgentBuilder.withModel("gemini-2.5-flash").ask(
  "What is the capital of France?",
);

console.log(response);

๐Ÿ“š Documentation

For detailed documentation on how to use ADK-TS, please visit our official documentation site.

๐Ÿš€ Key Features

๐Ÿงช Examples

For examples of how to use ADK-TS, check out the apps/examples directory.

You can run the examples by following these steps:

# 1. Clone and install the repository
git clone https://github.com/IQAIcom/adk-ts.git
cd adk-ts
pnpm install

# 2. Build the ADK-TS package (required for examples to work)
pnpm build

# 3. Setup API keys
cd apps/examples
echo "GOOGLE_API_KEY=your_google_api_key_here" > .env

# 4. Run examples
pnpm start

โš ๏ธ Important: The examples require API keys from at least one LLM provider. The default LLM is Google Gemini. You can get a Google API key from Google AI Studio.

๐Ÿค Contributing

All contributions are welcome! Please check out our Contributing Guide for details on how to get started.

๐ŸŒ Community

Join our community to discuss ideas, ask questions, and share your projects:

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE.md file for details.

๐Ÿ”’ Security

If you discover a security vulnerability within this project, please report it by following our Security Policy. We take security seriously and will respond promptly to any reports.


Ready to build your first AI agent? Visit https://adk.iqai.com to get started!

Release History

VersionChangesUrgencyDate
@iqai/adk-cli@0.4.8### Patch Changes - Updated dependencies [d25219b] - Updated dependencies [2336621] - Updated dependencies [b4b6887] - Updated dependencies [751b3e9] - Updated dependencies [800239b] - Updated dependencies [d35873a] - Updated dependencies [c6ff7ef] - Updated dependencies [fbb3c30] - Updated dependencies [7c9ddf6] - @iqai/adk@0.8.5 Medium3/27/2026
@iqai/mcp-docs@0.1.7### Patch Changes - Updated dependencies [d25219b] - Updated dependencies [2336621] - Updated dependencies [b4b6887] - Updated dependencies [751b3e9] - Updated dependencies [800239b] - Updated dependencies [d35873a] - Updated dependencies [c6ff7ef] - Updated dependencies [fbb3c30] - Updated dependencies [7c9ddf6] - @iqai/adk@0.8.5 Medium3/27/2026
@iqai/adk@0.8.5### Patch Changes - d25219b: fix: deduplicate concurrent database session initialization - 2336621: fix: share endInvocation flag by reference between parent/child contexts endInvocation was a primitive boolean copied by value when creating child invocation contexts, so sub-agents setting it to true never propagated to the parent. Wrapped in a shared InvocationFlags object passed by reference. - b4b6887: fix: standardize evaluation timestamps to milliseconds - 751b3e9: fMedium3/27/2026
@iqai/adk-cli@0.4.4### Patch Changes - Updated dependencies [58eeac4] - @iqai/adk@0.8.1 Low3/4/2026
@iqai/adk@0.8.1### Patch Changes - 58eeac4: fix: handle null `answer` from Tavily API in WebSearchTool Tavily returns `"answer": null` by default when `include_answer` is not set, but the Zod schema typed `answer` as `z.string().optional()` which rejects `null`. Changed to `z.string().nullish()` to accept both `null` and `undefined`. Low3/4/2026
@iqai/mcp-docs@0.1.3### Patch Changes - Updated dependencies [58eeac4] - @iqai/adk@0.8.1 Low3/4/2026
@iqai/mcp-docs@0.1.2### Patch Changes - Updated dependencies [d7d8b78] - @iqai/adk@0.8.0 Low3/2/2026
@iqai/adk@0.8.0### Minor Changes - d7d8b78: Add popular third-party MCP server wrappers and fix tool name handling - Add `McpNotion`, `McpSequentialThinking`, and `McpPlaywright` server wrapper functions - Fix MCP tool name sanitization: hyphens in tool names (e.g. `notion-search`) are now replaced with underscores to pass BaseTool validation, while preserving the original name for MCP server calls Low3/2/2026
@iqai/adk-cli@0.4.3### Patch Changes - Updated dependencies [d7d8b78] - @iqai/adk@0.8.0 Low3/2/2026
@iqai/mcp-docs@0.1.1### Patch Changes - d671e06: Add `ToolOutputFilterPlugin` to intelligently reduce large tool outputs before downstream processing. The plugin dynamically generates safe `jq` filters using an LLM to extract only relevant data, applying adaptive and iterative filtering until configurable size or key-count targets are met. This improves performance, prevents context window overflows, and supports per-tool enablement, schema-aware filtering, and strict security checks against unsafe filters.Low2/9/2026
@iqai/adk-cli@0.4.2### Patch Changes - 094ee58: Fix debug trace session polling to handle missing or empty sessions gracefully. Previously, the `/debug/trace/session/:sessionId` endpoint would throw `NotFoundException` errors when the frontend polled for sessions that did not exist, were cleared during hot reload, or had no recorded spans. This change returns empty results instead, preventing repeated 404 errors and reducing noisy logs during normal development workflows. - d671e06: Add `ToolOutputFilteLow2/9/2026
@iqai/adk@0.7.0### Minor Changes - 6e3eddc: Add `AgentScheduler` for recurring agent execution New `AgentScheduler` class that runs ADK agents on cron expressions or fixed intervals. Supports job lifecycle management (schedule, unschedule, pause, resume), manual triggering with `triggerNow` and `triggerNowStream`, overlap prevention, execution limits, per-job callbacks, and global event listeners. ```typescript import { AgentBuilder, AgentScheduler } from "@iqai/adk"; const { runner } = aLow2/9/2026
@iqai/adk-cli@0.4.1### Patch Changes - Updated dependencies [78bac0e] - @iqai/adk@0.6.6 Low1/30/2026
@iqai/adk@0.6.6### Patch Changes - 78bac0e: Previously, chaining builder methods after `withOutputSchema()` caused TypeScript to lose the inferred output type, resulting in `EnhancedRunner<any, any>` instead of the schema-derived type. This update: - Makes all chainable builder methods return `this` to preserve polymorphic typing. - Refactors `AgentBuilderWithSchema` using a mapped type that preserves all methods from `AgentBuilder` while correctly typing `build`, `buildWithSchema`, and `aLow1/30/2026
@iqai/mcp-docs@0.1.0### Minor Changes - e0d20c0: Initial release of MCP Docs server - an MCP server for accessing ADK-TS documentation, examples, API reference, and MCP server integrations. Features include: - Documentation fetching and caching from ADK-TS docs site - Code example retrieval and search - API reference access - MCP server integration examples - Built on FastMCP with support for resources and tools Low1/30/2026
@iqai/adk-cli@0.4.0### Minor Changes - e0d20c0: Add MCP docs IDE integration step to `adk new` command flow. Users can now configure the @iqai/mcp-docs server directly during project creation for seamless access to ADK documentation in their IDE. ### Patch Changes - f85e4bb: ADK Web Versioning - Bundled UI Support Added bundled web UI mode allowing the CLI to serve the web interface directly, eliminating CORS issues and simplifying local development setup. **Key Changes:** - Configured NextLow1/30/2026
@iqai/adk-cli@0.3.38### Patch Changes - 3666f6e: Introduced backend support for **trace visualization** of agent execution sessions. The system now captures OpenTelemetry spans in-memory (in addition to OTLP export), groups them by `sessionId`, and exposes them via a new debug API. This enables the UI to reconstruct full execution trees and timelines for agents, tools, and LLM calls. **Highlights** - In-memory span storage with rolling buffer scoped per session - Dual export: OTLP + in-memory tLow1/28/2026
@iqai/adk@0.6.5### Patch Changes - 3666f6e: Introduced backend support for **trace visualization** of agent execution sessions. The system now captures OpenTelemetry spans in-memory (in addition to OTLP export), groups them by `sessionId`, and exposes them via a new debug API. This enables the UI to reconstruct full execution trees and timelines for agents, tools, and LLM calls. **Highlights** - In-memory span storage with rolling buffer scoped per session - Dual export: OTLP + in-memory tLow1/28/2026
@iqai/adk-cli@0.3.37### Patch Changes - Updated dependencies [3382057] - @iqai/adk@0.6.4 Low1/21/2026
@iqai/adk@0.6.4### Patch Changes - 3382057: Fix optional peer dependency issue with Langfuse. Previously, importing `@iqai/adk` would fail if `langfuse` was missing, even when the Langfuse plugin was not used. This change: - Uses `import type` for Langfuse to preserve type safety without a runtime import. - Dynamically requires `langfuse` inside `LangfusePlugin` constructor. - Throws a clear error if the plugin is used without `langfuse` installed. Now, users can import `@iLow1/21/2026
@iqai/adk@0.6.3### Patch Changes - ad1b38b: Improve tracing with sequential span indices for better observability. - Add span counters to `InvocationContext` for tracking LLM, tool, and agent invocations - Update trace span names to include indices (e.g., `agent_run [my-agent] #1`, `execute_tool [search] #1`, `llm_generate [gpt-4] #1`) - Include app name in invocation span for better traceability - Disable auto instrumentation by default to reduce trace noise - Update telemetryLow1/21/2026
@iqai/adk-cli@0.3.36### Patch Changes - Updated dependencies [ad1b38b] - @iqai/adk@0.6.3 Low1/21/2026
@iqai/adk-cli@0.3.35### Patch Changes - 96e9661: Add Context Caching support for ADK Apps using Gemini 2.0+ models. This feature allows agents to reuse extended instructions or large contextual data across requests, reducing token usage and improving performance. Caching behavior is configurable at the App or Agent level via `contextCacheConfig`, with controls for minimum token threshold, cache TTL, and maximum usage intervals. All agents within an App can benefit from shared cached context, minimizingLow1/20/2026
@iqai/adk@0.6.2### Patch Changes - 8f2167a: Adds a new suite of default ADK tools and refactors common tooling, including a major upgrade to the Google Search tool. - Introduces a comprehensive set of **default tools** for the ADK (file system, shell, and web utilities) to provide a strong out-of-the-box agent experience. - Adds a new **Tavily-powered web search tool** as part of the default toolset. - Refactors the **Google Search tool** to use the real Google Custom Search API with AxioLow1/20/2026
@iqai/adk@0.6.1### Patch Changes - 3f78ed9: Fix: Wire up all missing plugin lifecycle callbacks The PluginManager had several callback methods defined but never invoked, causing plugins implementing guardrails, logging, or error recovery to be silently ignored. This fix adds the missing calls for: - `beforeModelCallback` / `afterModelCallback` - intercept LLM requests/responses - `onModelErrorCallback` - handle/recover from LLM errors - `beforeToolCallback` / `afterToolCallback`Low1/9/2026
@iqai/adk-cli@0.3.34### Patch Changes - Updated dependencies [3f78ed9] - @iqai/adk@0.6.1 Low1/9/2026
@iqai/adk-cli@0.3.33### Patch Changes - Updated dependencies [7186de5] - Updated dependencies [c2f9b02] - Updated dependencies [1387333] - @iqai/adk@0.6.0 Low1/8/2026
@iqai/adk@0.6.0### Minor Changes - c2f9b02: ## Comprehensive Telemetry System Overhaul This release introduces a complete redesign of the telemetry system with extensive features for observability and monitoring. ### โœจ New Features **Modular Architecture** - Refactored from monolithic to service-based design - Separate modules for tracing, metrics, setup, and utilities - Clean `telemetryService` API replacing low-level functions **Metrics Support** - Full metricLow1/8/2026
@iqai/adk-cli@0.3.32### Patch Changes - Updated dependencies [27d6bd9] - @iqai/adk@0.5.9 Low12/22/2025
@iqai/adk@0.5.9### Patch Changes - 27d6bd9: Refactored MCP sampling parameters to align with the official protocol specification by moving from direct model assertions to the `modelPreferences` hint system. - **Protocol Alignment** Removed the invalid `mcpParams.model` type assertion, as the MCP spec does not define a top-level string for the model in sampling requests. - **Preference Logic** Implemented support for `modelPreferences.hints`, allowing the server to interpret modLow12/22/2025
@iqai/adk-cli@0.3.30### Patch Changes - Updated dependencies [b938be4] - @iqai/adk@0.5.7 Low12/2/2025
@iqai/adk@0.5.7### Patch Changes - b938be4: fix: underlying type errors with Model Context Protocol versioning Low12/2/2025
@iqai/adk@0.5.6### Patch Changes - 8d5ba1e: ADK WEB now supports voice input Low11/13/2025
@iqai/adk-cli@0.3.28### Patch Changes - 8d5ba1e: ADK WEB now supports voice input - Updated dependencies [8d5ba1e] - @iqai/adk@0.5.6 Low11/13/2025
@iqai/adk-cli@0.3.27### Patch Changes - Updated dependencies [05bb1b8] - @iqai/adk@0.5.5 Low11/5/2025
@iqai/adk@0.5.5### Patch Changes - 05bb1b8: Fix state variable injection: serialize objects to JSON and parse nested properties Low11/5/2025
@iqai/adk-cli@0.3.26### Patch Changes - Updated dependencies [2167a47] - @iqai/adk@0.5.4 Low11/3/2025
@iqai/adk@0.5.4### Patch Changes - 2167a47: Adds polymarket mcp wrapper Low11/3/2025
@iqai/adk-cli@0.3.25### Patch Changes - 0082494: fix: env parsing Low11/3/2025
@iqai/adk-cli@0.3.24### Patch Changes - 8143f4f: refactor: simplified agent loaders and managers Low10/29/2025
@iqai/adk-cli@0.3.23### Patch Changes - 737493f: Fix hot reload state sync and State Panel UI issues Low10/28/2025
@iqai/adk@0.5.3### Patch Changes - 1ec769a: fix: improve type safety across cli and adk package - 9ba699c: fix: state persistence - 4fbb724: Fix: state management - edfe628: Add artifact parsing and rewind functionality Low10/24/2025
@iqai/adk-cli@0.3.22### Patch Changes - 1ec769a: fix: improve type safety across cli and adk package - 9ba699c: fix: state persistence - 4fbb724: Fix: state management - 69d3431: fix: state persistence and allows initial state of agents to be passed down to proper sessions - Updated dependencies [1ec769a] - Updated dependencies [9ba699c] - Updated dependencies [4fbb724] - Updated dependencies [edfe628] - @iqai/adk@0.5.3 Low10/24/2025
@iqai/adk-cli@0.3.21### Patch Changes - Updated dependencies [ae81c74] - @iqai/adk@0.5.2 Low10/23/2025
@iqai/adk@0.5.2### Patch Changes - ae81c74: Add event compaction feature with configurable summarization Low10/23/2025
@iqai/adk-cli@0.3.19### Patch Changes - 67a3547: Add next js starter template - 7a7c9b0: Fix root agent state load & add state polling Low10/22/2025
@iqai/adk-cli@0.3.18### Patch Changes - Updated dependencies [9c8441c] - @iqai/adk@0.5.0 Low10/15/2025
@iqai/adk@0.5.0### Minor Changes - 9c8441c: Enhanced CoinGecko MCP server support with remote endpoints - **Enhanced createMcpConfig function**: Now automatically detects URLs and uses `mcp-remote` for remote MCP endpoints while maintaining backward compatibility with npm packages - **Updated McpCoinGecko**: Now uses the remote CoinGecko MCP API endpoint (`https://mcp.api.coingecko.com/mcp`) instead of the npm package - **Added McpCoinGeckoPro**: New function for accessing the professionaLow10/15/2025
@iqai/adk-cli@0.3.17### Patch Changes - Updated dependencies [1b00e47] - @iqai/adk@0.4.1 Low10/14/2025
@iqai/adk@0.4.1### Patch Changes - 1b00e47: Add export to VertexAiRagMemoryService Low10/14/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

outputThe open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code describe what you want, Claude builds it, with all the best practices already in place.main@2026-06-05
adk-jsAn open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.devtools-v1.2.0
adk-javaAn open-source, code-first Java toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.v1.4.0
ClawRecipesSave 120+ Hours of Setup Pain (I did it for you) โ€“ Launch Your OpenClaw Agent Teams with 1 Command (15+ Recipes)v0.5.1
astack๐Ÿค– A composable framework for building AI applications.v0.1.1-beta.0

More in Frameworks

langchainThe agent engineering platform
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.