A powerful TypeScript Agentic Framework for building AiAgent Workflows
Installation • Quick Start • Features • Examples • API Reference • Tool Use • MCP Integration • License
or goto
This project is in early development and is not yet production-ready. It is intended for testing and experimentation only. Use at your own risk.
AgentForce ADK is a TypeScript Agent library for creating, managing, and orchestrating AiAgent Workflows. Built with modern TypeScript practices, it provides a simple powerful interface to develop Agent-Based applications. The Agent Development Kit supports multiple AI providers and models, making it flexible for various use cases.
AgentForce ADK is available on both npm and JSR registries:
# Install via npm
npm install @agentforce/adk
# Install via JSR (JavaScript Registry)
npx jsr add @agentforce/adk # For Node.js projects
bunx jsr add @agentforce/adk # For Bun projects
deno add jsr:@agentforce/adk # For Deno projects
# Install via Bun (from npm)
bun add @agentforce/adk| Method | Best For | Command | Benefits |
|---|---|---|---|
| npm | Node.js projects, existing npm workflows | npm install @agentforce/adk |
Largest ecosystem, familiar tooling |
| JSR | TypeScript-first projects, Deno/Bun compatibility | npx jsr add @agentforce/adk (Node.js)bunx jsr add @agentforce/adk (Bun)deno add @agentforce/adk (Deno) |
Native TypeScript support, better type checking |
| Bun (npm) | Fast development, modern JavaScript projects | bun add @agentforce/adk |
Fastest package manager, built-in TypeScript support |
- Node.js:
- npm:
npm install @agentforce/adk - JSR:
npx jsr add @agentforce/adk
- npm:
- Deno:
- JSR:
deno add jsr:@agentforce/adk(recommended)
- JSR:
- Bun:
- npm:
bun add @agentforce/adk - JSR:
bunx jsr add @agentforce/adk
- npm:
- Browsers: Works with bundlers like Vite, Webpack, or Rollup using any installation method
# Install Ollama on macOS using Homebrew
brew install ollama
# Or install via curl
curl -fsSL https://ollama.ai/install.sh | sh
# Verify installation
ollama --version
# Start Ollama server
ollama serve
# Pull a model, e.g
ollama pull gemma3:12b
ollama pull phi4-mini-reasoning:latest
ollama pull magistral:latest# Set your OpenRouter API key
export OPENROUTER_API_KEY=sk-or-v1-your-api-key-here
# Or add to .env file
echo "OPENROUTER_API_KEY=sk-or-v1-your-api-key-here" >> .envGet your API key at OpenRouter.ai to access models from:
- OpenAI (GPT-5, gpt-oss-120b, gpt-4, gpt-3.5-turbo)
- Anthropic (Claude Opus 4, Claude Sonnet 4, Claude Sonnet 3.5)
- Google (Gemini 2.5 Pro, Gemini 2.5 Flash, Gemma 3)
- Meta (Llama 4, Llama 3)
- Free models (GLM 4.5 Air (free), Qwen3 Coder (free), Kimi K2 (free), etc.)
Not yet implemented! Coming Soon
Create your first agent in just a few lines of code:
// Import main classes
import { AgentForceAgent } from "@agentforce/adk";
// Create and configure your agent
const agent = new AgentForceAgent({ name: "StoryTellerAgent" })
.useLLM("ollama", "gemma3:4b")
.systemPrompt("You are a creative story writer.")
.prompt("Write a short story about AI and humanity.");
// Run the agent and get the response in markdown format
const response = await agent.output("md");
console.log(response);- Simple API: Create agents with minimal code
- Method Chaining: Fluent interface for configuring agents
- Cross-Runtime Support: Works seamlessly in Bun, Node.js, and Deno environments
- Multiple AI Providers: Support for Ollama (local), OpenRouter (cloud), with OpenAI/Anthropic/Google coming soon
- Model Switching: Easily switch between different models with
useLLM() - Cloud & Local Models: Use local Ollama models or cloud models via OpenRouter
- Prompt Management: Set system and user prompts with
.systemPrompt()and.prompt() - Multiple Output Formats: Support for text, JSON, and Markdown output formats
- Type Safe: Full TypeScript support with proper type definitions
- Debug Support: Built-in debugging capabilities
- Test-Friendly: Comprehensive test coverage and designed for testability
- Server Mode: Built-in server functionality for agent deployment with automatic runtime detection
- OpenAI Compatibility: Full OpenAI chat completions API compatibility for seamless integration
- Browser Automation: Advanced browser automation capabilities for complex web interactions
- Enhanced Documentation: Comprehensive JSDoc examples and type documentation for better developer experience
And many more!
The Awesome ADK Example Repository
AgentForce ADK supports tool use for advanced agent capabilities. You can define tools that agents can call during execution, allowing for dynamic interactions and enhanced functionality.
The AgentForce ADK includes the following built-in tools:
fs_read_file- Read the contents of a specified filefs_write_file- Write content to a specified filefs_list_dir- List contents of a directoryfs_move_file- Move or rename filesfs_find_files- Find files matching specified patternsfs_find_dirs_and_files- Find both directories and filesfs_search_content- Search for content within filesfs_get_file_tree- Get a complete file tree structure
web_fetch- Web scraping with JavaScript rendering using Puppeteerapi_fetch- HTTP requests with security and resource limitsfilter_content- Filter and process contentbrowser_use- Advanced browser automation for complex web interactions
gh_list_repos- List GitHub repositories
os_exec- Execute system commands
md_create_ascii_tree- Create ASCII tree representations in Markdown
Tools can be used by agents during execution to perform various tasks. Here's a basic example:
import { AgentForceAgent } from "@agentforce/adk";
// File management agent
const fileAgent = new AgentForceAgent({
name: "FileAgent",
tools: ["fs_read_file", "fs_write_file"]
})
.useLLM("ollama", "gpt-oss:20b")
.systemPrompt("You are a file management assistant.")
.prompt("Read the README.md file and create a summary");
const response = await fileAgent.run();
// Browser automation agent
const browserAgent = new AgentForceAgent({
name: "WebAutomationAgent",
tools: ["browser_use", "fs_write_file"]
})
.useLLM("openrouter", "openai/gpt-5-mini")
.systemPrompt("You are a web automation specialist.")
.prompt("Navigate to example.com and extract the main heading");
const webResponse = await browserAgent.run();AgentForce ADK supports Model Context Protocol (MCP) servers, enabling agents to connect to external tools and services that implement the MCP standard. This provides powerful extensibility beyond the built-in tools.
MCP (Model Context Protocol) is a standardized protocol for connecting language models to external tools, resources, and data sources. It allows agents to interact with a growing ecosystem of MCP-compatible servers and services.
Create a mcp.config.json file in your project root:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"env": {}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
}Set MCP_CONFIG environment variable to use a custom config file path:
MCP_CONFIG=custom-mcp.config.jsonimport { AgentForceAgent } from "@agentforce/adk";
const agent = new AgentForceAgent({
name: "MCPAgent",
mcps: ["filesystem", "github"] // MCP servers to connect to
})
.useLLM("openrouter", "z-ai/glm-4.5v")
.systemPrompt("You are an assistant with file system and GitHub access.")
.prompt("List files in /tmp and show my GitHub repositories");
const response = await agent.run();const gitAgent = new AgentForceAgent({
name: "GitAgent",
mcps: ["github"],
mcpConfig: "git-specific-mcp.config.json" // Custom config for this agent
})
.useLLM("openrouter", "z-ai/glm-4.5v")
.prompt("Create a new GitHub repository for my project");
const response = await gitAgent.run();- Automatic Tool Integration - MCP tools are automatically available to agents
- Environment Variable Support - Use
${VAR_NAME}syntax in configurations - Agent-Specific Configs - Each agent can have its own MCP configuration
- Resource and Prompt Loading - Access MCP resources and prompts
- Error Handling - Graceful handling of connection and execution errors
For detailed MCP implementation information, see the MCP Implementation Guide.
For detailed API documentation, visit the AgentForce ADK API Reference.
- Method chaining with fluent interface
- Prompt management (system and user prompts)
- Agent execution with real LLM calls
- Multiple output formats (text, JSON, Yaml and markdown)
- Server deployment capabilities
- Comprehensive test coverage with mock data support
- Ollama provider support (local models)
- OpenRouter provider support (cloud models with multiple providers)
- Function calling and tool integration
- Content filter tool and improved file save formats
- HTML, JSON, Markdown, and YAML output utilities with tools
- Configurable asset path for agent skills
- Template support with withTemplate method
- NPM Publishing
- JSR support for Bun and Deno
- AgentForceServer base class
- Docker support for local server deployment
- RouteAgent functionality
- Enhanced logging with Custom logger
- saveToFile method for AgentForceAgent
- Ollama ToolUse functionality
- OpenAI compatible route handling
- Schema validation for addRouteAgent method
- Jest Test Runner integration
- Enhanced server and workflow functions
- Improved documentation and examples
- JSR support for Bun and Deno
- Browser automation tool with browser_use functionality
- Comprehensive JSDoc examples and type documentation
- Improved tool organization and directory structure
- Enhanced MCP Client integration with automatic tool loading
- Streaming responses
- Multi-agent workflows and communication
- Advanced error handling and retry mechanisms
- Performance monitoring and analytics
- Enhanced debugging tools
- Support for more AI providers
- Advanced model management (versioning, rollback)
- BMAD-METHOD integration
- CodingAgent functionality (claude-cli, gemini-cli and qwen3-coder-cli integration)
- MCP Server Integration and plugins
- AgentForceZone CLI for easy project setup
- AgentForceZone Marketplace for sharing agents and workflows
- License Change to Apache 2.0
- Enhanced security features
- Flow Integration - complex workflow management
- ...
Check the CHANGELOG
This project is licensed under the AgentForceZone License - see the LICENSE file for details.
Built with ❤️ by the AgentForceZone Team