v2.2.0
Released: June 8, 2026
Highlights
- MCP Server — expose Toolpack's 100+ built-in tools to any MCP client (Claude Desktop, Cursor, custom agents) via HTTP or stdio, with static/JWT/custom auth and search mode
- Two new exec tools —
exec.run_blocking(no-timeout shell execution) andexec.tail_output(read tail of background process output) - Kubernetes tools auto-loaded — all 11
k8s.*tools are now registered by default (tool count: 95 → 106)
Breaking changes
None.
toolpack-sdk
sdk.startMcpServer() — Toolpack as an MCP server
const handle = await sdk.startMcpServer({
transport: 'http', // or 'stdio' for Claude Desktop / Cursor
port: 3000,
});
// handle.port, handle.toolCount, handle.stop()
Transport options:
'http'— Streamable HTTP for remote/cloud use'stdio'— for Claude Desktop and Cursor viaclaude_desktop_config.json
Tool filtering:
expose: { categories: ['filesystem', 'version-control'] }
expose: { tools: ['fs.read_file', 'git.commit'] }
Authentication (HTTP only):
mode: 'static'— pre-shared bearer tokens; multiple tokens supported for zero-downtime rotationmode: 'jwt'— JWKS-based verification (Auth0, Supabase, Clerk)mode: 'custom'— bring your ownverifyAccessToken()function
Search mode:
searchMode: true // tools/list returns only tool.search; clients discover tools on demand
Agent exposure: agents from @toolpack-sdk/agents can be exposed as MCP tools via McpChannel.asAgentDefinition().
New exec tools
| Tool | Description |
|---|---|
exec.run_blocking | Execute a shell command with no timeout — waits until the process exits naturally |
exec.tail_output | Read the last N lines of output from a background process started with exec.run_background |
Bug fix: Kubernetes tools missing from loadBuiltIn()
k8sToolsProject was never imported in loadBuiltIn(). All 11 Kubernetes tools are now registered by default when tools: true is set.
Install
npm install toolpack-sdk@2.2.0