Toolcall v0.2 ships today. Three big additions and a handful of smaller fixes. Here's what's new.
Resource support
The MCP spec defines three primitives: tools, resources, and prompts. Until now Toolcall only supported tools. v0.2 adds resources.
Resources are read-only data exposed by the server: documentation, schemas, configuration files, anything the model should know about but shouldn't modify. The client can subscribe to a resource and get notified when it changes.
For a Postgres server, the resources might be the table schema and a list of recent migrations. For a GitHub server, the active pull request list and your repo's CONTRIBUTING.md. For a custom server, whatever static context your model needs.
You define resources in the server config:
{
"resources": [
{
"uri": "schema://tables",
"name": "Database schema",
"description": "Live table list with column types"
}
]
}The client reads them on connection and refreshes when the server signals a change. No extra tool calls needed.
Audit logs
Every tool call your account makes now lands in the audit log. Timestamp, server, tool name, arguments, response size, latency, error if any.
The log is queryable from the dashboard or the API:
curl https://api.toolcall.dev/v1/audit/logs \
-H "Authorization: Bearer $TC_KEY" \
-G --data-urlencode "since=2026-01-15" \
--data-urlencode "server=postgres"Logs are retained for 30 days on the free tier, 90 days on Pro, and one year on Team. CSV export is available on Pro and above.
The most common use case we've seen so far is spotting tools that get called more often than expected. A tool that fires 50 times per chat session usually means the model is in a loop trying to figure something out, which usually means the tool's description needs to be clearer.
Team workspaces
Until now every Toolcall account was a single user. v0.2 adds workspaces with role-based access.
Three roles. Owner has billing, member management, and all server access. Admin can create and manage servers. Member can use existing servers but not create them.
Billing is per workspace. Servers belong to the workspace, not individual members. When someone leaves the team, their personal API keys revoke but the servers keep running.
To create a workspace, hit Switch workspace in the top-right of the dashboard and pick New workspace. You can move existing personal servers in via the server settings panel.
Smaller fixes
- Connection timeouts are now configurable per server (was hardcoded to 30 seconds).
- The
@toolcall/connectnpm package no longer pulls innode-fetch. It uses the native fetch in Node 18+, dropping the install size by 40%. - Postgres template now handles connection pooling correctly under burst load. Previous versions could exhaust the pool on rapid tool calls.
- SSE transport reconnects automatically on network blips. Default backoff is 1s, 2s, 4s, capped at 30s.
- Better error messages when an API key is malformed. We were returning a generic 401. Now you get specifics.
What's next
v0.3 will focus on observability. Distributed tracing for tool calls that chain across multiple servers. A live activity feed for team workspaces. Performance metrics per tool.
After that, prompts as the third MCP primitive, and a marketplace for shared server templates.
Update your CLI with npm i -g @toolcall/cli@latest to get the new dashboard features. Hosted servers update automatically.





