Package Exports
- @agentskit/tools
Readme
@agentskit/tools
Give your agents real-world capabilities without writing a single integration.
Tags: ai · agents · llm · agentskit · ai-agents · function-calling · tool-use · mcp · web-search · filesystem
Why tools
- Save days of integration work — web search, filesystem read/write, shell execution, and directory listing are ready to drop in; no wiring required
- Safe by default — filesystem tools are sandboxed to a
basePath, shell commands require an explicit allowlist, so agents can't escape their boundaries - Composable with any runtime — tools are just objects with a schema; they work with
@agentskit/runtime,useChat, or any custom ReAct loop - Extend without friction — author custom tools with
@agentskit/templatesand register them the same way as built-ins
Install
npm install @agentskit/toolsQuick example
import { createRuntime } from '@agentskit/runtime'
import { openai } from '@agentskit/adapters'
import { webSearch, filesystem, shell } from '@agentskit/tools'
const runtime = createRuntime({
adapter: openai({ apiKey: process.env.OPENAI_API_KEY, model: 'gpt-4o' }),
tools: [
webSearch(),
...filesystem({ basePath: './workspace' }),
shell({ timeout: 10_000, allowed: ['ls', 'cat', 'grep'] }),
],
})
const result = await runtime.run('Find the README and summarize it')
console.log(result.content)With useChat (browser)
Tools are plain ToolDefinition values — register them in useChat the same way as in createRuntime.
Features
webSearch()— live web search for agentsfilesystem({ basePath })— sandboxed read, write, list, deleteshell({ allowed })— shell execution with command allowlist- All tools follow
ToolDefinitioncontract (ADR 0002) — parallel tool calling supported - Works in
@agentskit/runtime,useChat, or any custom loop
Ecosystem
| Package | Role |
|---|---|
| @agentskit/core | ToolDefinition contract |
| @agentskit/runtime | createRuntime({ tools }) |
| @agentskit/react | useChat + tools in the UI |
| @agentskit/templates | Scaffold new tools |
Contributors
License
MIT — see LICENSE.