freshcrate
Skin:/
Home > AI Agents > adk-js

adk-js

An open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

An open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

README

Agent Development Kit (ADK) for TypeScript

License NPM Version r/agentdevelopmentkit

An open-source, code-first TypeScript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

Important Links: Docs, Samples, Python ADK. Java ADK, Go ADK & Web ADK.

Agent Development Kit (ADK) is designed for developers seeking fine-grained control and flexibility when building advanced AI agents that are tightly integrated with services in Google Cloud. It allows you to define agent behavior, orchestration, and tool use directly in code, enabling robust debugging, versioning, and deployment anywhere – from your laptop to the cloud.


✨ Key Features

  • Rich Tool Ecosystem: Utilize pre-built tools, custom functions, OpenAPI specs, or integrate existing tools to give agents diverse capabilities, all for tight integration with the Google ecosystem.

  • Code-First Development: Define agent logic, tools, and orchestration directly in TypeScript for ultimate flexibility, testability, and versioning.

  • Modular Multi-Agent Systems: Design scalable applications by composing multiple specialized agents into flexible hierarchies.

🚀 Installation

If you're using npm, add the following to your dependencies:

npm install @google/adk

Or with yarn:

yarn add @google/adk

📚 Documentation

For building, evaluating, and deploying agents by follow the TypeScript documentation & samples:

🏁 Feature Highlight

Same Features & Familiar Interface As Other ADKs:

import {LlmAgent, GOOGLE_SEARCH} from '@google/adk';

const rootAgent = new LlmAgent({
  name: 'search_assistant',
  description: 'An assistant that can search the web.',
  model: 'gemini-2.5-flash', // Or your preferred models
  instruction:
    'You are a helpful assistant. Answer user questions using Google Search when needed.',
  tools: [GOOGLE_SEARCH],
});

Development UI

Same as the Python Development UI. A built-in development UI to help you test, evaluate, debug, and showcase your agent(s).

Evaluate Agents

Coming soon...

🤖 A2A and ADK integration

For remote agent-to-agent communication, ADK integrates with the A2A protocol. Examples coming soon...

🏗️ Building the Project

To set up the project and build it from source, follow these steps:

  1. Install dependencies:

    npm install
  2. Build the project: This project uses esbuild to compile and bundle the TypeScript source code. You can build the project using the following npm scripts:

    • npm run build: Compiles the TypeScript code into CommonJS, ESM, and Web formats in the dist directory.
    • npm run build:bundle: Creates bundled versions of the output for easier distribution or use in environments that don't support tree-shaking well.
    • npm run build:watch: Watches for changes in the source files and automatically rebuilds the project for ESM format only.

🤝 Contributing

We welcome contributions from the community! Whether it's bug reports, feature requests, documentation improvements, or code contributions, please see our

📄 License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Preview

This feature is subject to the "Pre-GA Offerings Terms" in the General Service Terms section of the Service Specific Terms. Pre-GA features are available "as is" and might have limited support. For more information, see the launch stage descriptions.


Happy Agent Building!

Release History

VersionChangesUrgencyDate
integrations-v1.4.0## [1.4.0](https://github.com/google/adk-js/compare/integrations-v1.3.0...integrations-v1.4.0) (2026-07-20) ### Features * **integrations:** create new top-level integrations package ([#449](https://github.com/google/adk-js/issues/449)) ([a65d05f](https://github.com/google/adk-js/commit/a65d05fff901565b981f4f38d58b64fb1750812d)) ### Miscellaneous Chores * release 1.0.0 ([84f886e](https://github.com/google/adk-js/commit/84f886e1ac8b3e9a7807a184257444fd0b15e1af)) ### Dependencies * The foHigh7/20/2026
devtools-v1.3.0## [1.3.0](https://github.com/google/adk-js/compare/devtools-v1.2.0...devtools-v1.3.0) (2026-06-22) ### Features * add --reload_agents flag to watch agent files for changes ([#304](https://github.com/google/adk-js/issues/304)) ([b420284](https://github.com/google/adk-js/commit/b420284079a3fd3e37f7e12ea74188a2c7b2bab4)) * **cli:** deploy agent engine to Artifact Registry instead of GCR (Agent Engine Deployment Artifact registry fix part 2) ([#441](https://github.com/google/adk-js/issues/441)) High6/23/2026
devtools-v1.2.0## [1.2.0](https://github.com/google/adk-js/compare/devtools-v1.1.0...devtools-v1.2.0) (2026-06-02) ### Features * abort agent execution on HTTP connection disconnected ([#382](https://github.com/google/adk-js/issues/382)) ([e7776cc](https://github.com/google/adk-js/commit/e7776ccbfbeb7657c0f0a3411173ae9bbf2ec0dd)) * Add Agent Engine deployment support ([#335](https://github.com/google/adk-js/issues/335)) ([3e901a5](https://github.com/google/adk-js/commit/3e901a5b2d4c291628c9f88f223803a7e9269High6/3/2026
devtools-v1.1.0## [1.1.0](https://github.com/google/adk-js/compare/devtools-v1.0.0...devtools-v1.1.0) (2026-04-28) ### Bug Fixes * fix adk web ui source code serving path ([#309](https://github.com/google/adk-js/issues/309)) ([b92c238](https://github.com/google/adk-js/commit/b92c2387622cedec880227ed6a6af4b5559d43e3)) ### Dependencies * The following workspace dependencies were updated * dependencies * @google/adk bumped from ^1.0.0 to ^1.1.0High4/28/2026
devtools-v1.0.0## [1.0.0](https://github.com/google/adk-js/compare/devtools-v0.6.1...devtools-v1.0.0) (2026-04-21) ### Features * export AdkApiServer from @google/adk-devtools package ([#245](https://github.com/google/adk-js/issues/245)) ([0887e40](https://github.com/google/adk-js/commit/0887e4082974fb500a67411ded196f31e9d790bf)) * keep original __dirname, __filename and import.meta.url value for compiled agent files. ([#254](https://github.com/google/adk-js/issues/254)) ([db89a42](https://github.com/googleHigh4/21/2026
adk-v1.0.0## [1.0.0](https://github.com/google/adk-js/compare/adk-v0.6.1...adk-v1.0.0) (2026-04-21) ### Features * add Agent type alias for LlmAgent to keep parity with Python ADK. ([#242](https://github.com/google/adk-js/issues/242)) ([03da958](https://github.com/google/adk-js/commit/03da95820efb5cdbca045f0621f15c5a60efe2ea)) * add auth preprocessor and update auth handler. ([#227](https://github.com/google/adk-js/issues/227)) ([e94c181](https://github.com/google/adk-js/commit/e94c181d50760b47dde5b230High4/21/2026
main-v1.0.0## [1.0.0](https://github.com/google/adk-js/compare/main-v0.6.1...main-v1.0.0) (2026-04-21) ### Features * add Agent type alias for LlmAgent to keep parity with Python ADK. ([#242](https://github.com/google/adk-js/issues/242)) ([03da958](https://github.com/google/adk-js/commit/03da95820efb5cdbca045f0621f15c5a60efe2ea)) * add auth preprocessor and update auth handler. ([#227](https://github.com/google/adk-js/issues/227)) ([e94c181](https://github.com/google/adk-js/commit/e94c181d50760b47dde5b2High4/21/2026
devtools-v0.6.1## [0.6.1](https://github.com/google/adk-js/compare/devtools-v0.6.0...devtools-v0.6.1) (2026-03-30) ### Bug Fixes * support native addon agent deps ([#219](https://github.com/google/adk-js/issues/219)) ([a13ee82](https://github.com/google/adk-js/commit/a13ee8244fb9d843a4123732ab5c28bbc49aeb7a)) ### Dependencies * The following workspace dependencies were updated * dependencies * @google/adk bumped from ^0.6.0 to ^0.6.1Medium3/31/2026
main-v0.6.1## [0.6.1](https://github.com/google/adk-js/compare/main-v0.6.0...main-v0.6.1) (2026-03-30) ### Bug Fixes * add support for MCP type array instead of string only in gemini_schema_util ([#199](https://github.com/google/adk-js/issues/199)) ([9cb4a33](https://github.com/google/adk-js/commit/9cb4a33b9a15718e97cbda532a04f1e91c45389e)) * support native addon agent deps ([#219](https://github.com/google/adk-js/issues/219)) ([a13ee82](https://github.com/google/adk-js/commit/a13ee8244fb9d843a4123732abMedium3/31/2026
adk-v0.6.1## [0.6.1](https://github.com/google/adk-js/compare/adk-v0.6.0...adk-v0.6.1) (2026-03-30) ### Bug Fixes * add support for MCP type array instead of string only in gemini_schema_util ([#199](https://github.com/google/adk-js/issues/199)) ([9cb4a33](https://github.com/google/adk-js/commit/9cb4a33b9a15718e97cbda532a04f1e91c45389e))Medium3/31/2026
devtools-v0.6.0## [0.6.0](https://github.com/google/adk-js/compare/devtools-v0.5.0...devtools-v0.6.0) (2026-03-23) ### Features * A2A integration: A2A Remote agent ([#190](https://github.com/google/adk-js/issues/190)) ([c6b75a2](https://github.com/google/adk-js/commit/c6b75a29683b0bbac98e1e17d811aa958025a11a)) * A2A integration: Add CLI option and serve ADK agents via A2A ([#188](https://github.com/google/adk-js/issues/188)) ([3897ee9](https://github.com/google/adk-js/commit/3897ee99df7122b57e4ff2c29bMedium3/25/2026
main-v0.6.0## [0.6.0](https://github.com/google/adk-js/compare/main-v0.5.0...main-v0.6.0) (2026-03-23) ### Features * A2A integration: A2A Remote agent ([#190](https://github.com/google/adk-js/issues/190)) ([c6b75a2](https://github.com/google/adk-js/commit/c6b75a29683b0bbac98e1e17d811aa958025a11a)) * A2A integration: Add CLI option and serve ADK agents via A2A ([#188](https://github.com/google/adk-js/issues/188)) ([3897ee9](https://github.com/google/adk-js/commit/3897ee99df7122b57e4ff2c29b3f6806d6cb1ff4Medium3/25/2026
adk-v0.6.0## [0.6.0](https://github.com/google/adk-js/compare/adk-v0.5.0...adk-v0.6.0) (2026-03-23) ### Features * A2A integration: A2A Remote agent ([#190](https://github.com/google/adk-js/issues/190)) ([c6b75a2](https://github.com/google/adk-js/commit/c6b75a29683b0bbac98e1e17d811aa958025a11a)) * A2A integration: Add CLI option and serve ADK agents via A2A ([#188](https://github.com/google/adk-js/issues/188)) ([3897ee9](https://github.com/google/adk-js/commit/3897ee99df7122b57e4ff2c29b3f6806d6cbMedium3/25/2026
devtools-v0.5.0## [0.5.0](https://github.com/google/adk-js/compare/devtools-v0.4.0...devtools-v0.5.0) (2026-03-09) ### Features * integrate with ADK conformance tests ([#168](https://github.com/google/adk-js/issues/168)) ([3a7c012](https://github.com/google/adk-js/commit/3a7c012e035f665dbf200640c10caa6e6dd82aa3)) ### Dependencies * The following workspace dependencies were updated * dependencies * @google/adk bumped from ^0.4.0 to ^0.5.0Low3/9/2026
main-v0.5.0## [0.5.0](https://github.com/google/adk-js/compare/main-v0.4.0...main-v0.5.0) (2026-03-09) ### Breaking Changes * CallbackContext and ToolContext are unified into a single Context class. It is a drop-in replacement for both. ### Features * Add ability to prefix toolsets to avoid tool name conflicts ([#184](https://github.com/google/adk-js/issues/184)) ([95837b2](https://github.com/google/adk-js/commit/95837b2d6e89a3455f104c352c5ef7e9077b989a)) * implement ExitLoopTool similar to PyLow3/9/2026
adk-v0.5.0## [0.5.0](https://github.com/google/adk-js/compare/adk-v0.4.0...adk-v0.5.0) (2026-03-09) ### Features * Add ability to prefix toolsets to avoid tool name conflicts ([#184](https://github.com/google/adk-js/issues/184)) ([95837b2](https://github.com/google/adk-js/commit/95837b2d6e89a3455f104c352c5ef7e9077b989a)) * implement ExitLoopTool similar to Python and Java ADK equivalent ([#170](https://github.com/google/adk-js/issues/170)) ([258998f](https://github.com/google/adk-js/commit/258998f7fbd0Low3/9/2026
devtools-v0.4.0## [0.4.0](https://github.com/google/adk-js/compare/devtools-v0.3.0...devtools-v0.4.0) (2026-02-25) ### Features * Add ADK CLI version command. ([#115](https://github.com/google/adk-js/issues/115)) ([871be23](https://github.com/google/adk-js/commit/871be23acd020571b47129c96cc25730cd2d8e19)) * add database session service ([b3c38fe](https://github.com/google/adk-js/commit/b3c38feeb006cf40d0c7b71abe3afd052febb9b1)) * flip ADK CLI to be ESM native instead of CommonJS. ([#113](https://githLow2/25/2026
adk-v0.4.0## [0.4.0](https://github.com/google/adk-js/compare/adk-v0.3.0...adk-v0.4.0) (2026-02-25) ### Features * Add ApigeeLlm to the typescript ADK ([#125](https://github.com/google/adk-js/issues/125)) ([9e42b25](https://github.com/google/adk-js/commit/9e42b257d10117b4900374b257029ec6572eca0e)) * add database session service ([b3c38fe](https://github.com/google/adk-js/commit/b3c38feeb006cf40d0c7b71abe3afd052febb9b1)) * flip ADK CLI to be ESM native instead of CommonJS. ([#113](https://github.Low2/25/2026
main-v0.4.0## [0.4.0](https://github.com/google/adk-js/compare/main-v0.3.0...main-v0.4.0) (2026-02-25) ### Features * Add ADK CLI version command. ([#115](https://github.com/google/adk-js/issues/115)) ([871be23](https://github.com/google/adk-js/commit/871be23acd020571b47129c96cc25730cd2d8e19)) * Add ApigeeLlm to the typescript ADK ([#125](https://github.com/google/adk-js/issues/125)) ([9e42b25](https://github.com/google/adk-js/commit/9e42b257d10117b4900374b257029ec6572eca0e)) * add database session servLow2/25/2026
devtools-v0.3.0## [0.3.0](https://github.com/google/adk-js/compare/devtools-v0.2.5...devtools-v0.3.0) (2026-01-31) ### Features * support Zod v3 and v4. ([#46](https://github.com/google/adk-js/issues/46)) ([accb7ca](https://github.com/google/adk-js/commit/accb7ca3bdec1295c81a4966177a2d5ed1103313)) ### Miscellaneous Chores * support release-please for release automation ([2c55c5d](https://github.com/google/adk-js/commit/2c55c5d09f56b18f7adea61d0106c7f77112bde1)) ### Dependencies * The following workspaLow1/31/2026
adk-v0.3.0## [0.3.0](https://github.com/google/adk-js/compare/adk-v0.2.5...adk-v0.3.0) (2026-01-31) ### Features * Add headers option for MCP Session manager and deprecate the header option. ([#98](https://github.com/google/adk-js/issues/98)) ([c28aae3](https://github.com/google/adk-js/commit/c28aae311948522cc769a8346b3e2af3653fcf46)) * add setLogger() for custom logger support ([#96](https://github.com/google/adk-js/issues/96)) ([7e96728](https://github.com/google/adk-js/commit/7e967282757ed66f5a9f45aLow1/31/2026
main-v0.3.0## [0.3.0](https://github.com/google/adk-js/compare/main-v0.2.5...main-v0.3.0) (2026-01-31) ### Features * Add headers option for MCP Session manager and deprecate the header option. ([#98](https://github.com/google/adk-js/issues/98)) ([c28aae3](https://github.com/google/adk-js/commit/c28aae311948522cc769a8346b3e2af3653fcf46)) * add setLogger() for custom logger support ([#96](https://github.com/google/adk-js/issues/96)) ([7e96728](https://github.com/google/adk-js/commit/7e967282757ed66f5a9f4Low1/31/2026
devtools-v0.2.5## [0.2.5](https://github.com/google/adk-js/compare/v0.2.4...devtools-v0.2.5) (2026-01-28) ### Miscellaneous Chores * support release-please for release automation ([2c55c5d](https://github.com/google/adk-js/commit/2c55c5d09f56b18f7adea61d0106c7f77112bde1)) ### Dependencies * The following workspace dependencies were updated * dependencies * @google/adk bumped from ^0.2.4 to ^0.2.5Low1/29/2026
adk-v0.2.5## [0.2.5](https://github.com/google/adk-js/compare/v0.2.4...adk-v0.2.5) (2026-01-28) ### Bug Fixes * handle empty MCP schema types during Gemini conversion ([345d16b](https://github.com/google/adk-js/commit/345d16b)) * Fix bug when ADK web server crashes on agent graph generation ([3c7f28e](https://github.com/google/adk-js/commit/3c7f28e)) ### Changed * Update the test as per review to use toEqual ([5680f93](https://github.com/google/adk-js/commit/5680f93)) * Stop using `instanceoLow1/29/2026
v0.2.4**Full Changelog**: https://github.com/google/adk-js/compare/v0.2.3...v0.2.4Low1/17/2026
v0.2.3Bumping version to 0.2.3 to fix lodash import errors. **Full Changelog**: https://github.com/google/adk-js/compare/v0.2.2...v0.2.3Low1/15/2026
v0.2.2## What's Changed * Auth credential exchange registry implementation by @hariprasath2603 in https://github.com/google/adk-js/pull/15 * Add support to create a new agent through NPX by @nohe427 in https://github.com/google/adk-js/pull/25 * Upgrade GitHub Actions for Node 24 compatibility by @salmanmkc in https://github.com/google/adk-js/pull/20 * fix(#37): add proper type inference to functional tool parameters t… by @jagadhis in https://github.com/google/adk-js/pull/40 * Fix: Pass header paLow1/8/2026
v0.2.1Bumping to version 0.2.1 ## What's Changed * Revise README for 0.2.1. by @dewitt in https://github.com/google/adk-js/pull/19 ## New Contributors * @dewitt made their first contribution in https://github.com/google/adk-js/pull/19 **Full Changelog**: https://github.com/google/adk-js/compare/v0.2.0...v0.2.1Low12/17/2025
v0.2.0Bump to version 0.2.0 ## What's Changed * Integrate OpenTelemetry (OTel) support by @mingjourney in https://github.com/google/adk-js/pull/10 * Cleaning up parsing logic for "foreign events" by @karmel in https://github.com/google/adk-js/pull/14 ## New Contributors * @mingjourney made their first contribution in https://github.com/google/adk-js/pull/10 * @karmel made their first contribution in https://github.com/google/adk-js/pull/14 **Full Changelog**: https://github.com/google/adkLow12/15/2025
v0.1.3## What's Changed * Add esbuild to bundle the source code by @kalenkevich in https://github.com/google/adk-js/pull/2 * chore: Add caution note to README about project stability by @tpryan in https://github.com/google/adk-js/pull/8 ## New Contributors * @tpryan made their first contribution in https://github.com/google/adk-js/pull/8 **Full Changelog**: https://github.com/google/adk-js/commits/v0.1.3Low12/12/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

adk-pythonAn open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.v2.5.0
adk-javaAn open-source, code-first Java toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.v1.7.0
Autonomous-AgentsAutonomous Agents (LLMs) research papers. Updated Daily.main@2026-06-24
ClawRecipesSave 120+ Hours of Setup Pain (I did it for you) – Launch Your OpenClaw Agent Teams with 1 Command (15+ Recipes)v0.5.2
mcp-verified-repo-memoryProvide reliable, repository-scoped memory for AI coding agents with code citations, just-in-time verification, and stale-proof data management.main@2026-07-19

More from google

adk-pythonAn open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
adk-javaAn open-source, code-first Java toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

More in AI Agents

awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
letta-codeThe memory-first coding agent
MiniSearchMinimalist web-searching platform with an AI assistant that runs directly from your browser. Uses WebLLM, Wllama and SearXNG. Demo: https://felladrin-minisearch.hf.space
tokentracker-cliToken usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Kiro, Gemini, OpenCode, OpenClaw, Hermes, GitHub Copilot)