The Tools section in Crew has two tabs:
- Custom Tools — user-defined functions described by a JSON schema. The schema is exposed to the model as a callable tool; the body runs as code.
- MCP Servers — external servers that expose tools through the Model Context Protocol. Connect once at the workspace level, then attach servers to individual agents.
This is distinct from the Tools reference — that page documents the catalog of first-party tool integrations available as workflow blocks. The Crew Tools tab is the workspace-scoped surface for custom and MCP-served tools that agents call at run time.
Custom Tools
A Custom Tool is a saved JSON-schema function definition. Agents and the Inference block can both reference it.
| Field | Notes |
|---|---|
title | Shown in pickers. The tool id sent to the model is customtool_<title>. |
schema.function.name | Function name the model sees. |
schema.function.description | Function description the model sees. |
schema.function.parameters | JSON Schema describing the parameters. |
When an agent run calls the tool, the parameters the model produces are merged with any user-provided defaults (set on the block sub-block) before the function body runs.
MCP Servers
MCP Servers are configured at the workspace level. Each server has a connection (HTTP, stdio, etc.) and a connectionStatus (connected, disconnected, …). Tools the server exposes are discovered on demand.
A few rules baked into the executor:
- An MCP server must be
connectedfor its tools to be sent to the model. Disconnected servers are filtered out silently — seeexecutor/handlers/inference/inference-handler.ts:284. - Tool schemas are cached per
(serverId, toolName). When a tool is referenced without a cached schema, the executor calls/api/mcp/tools/discoverto fetch the live schema before the run. - Workspace-level permissions (
validateMcpToolsAllowed) gate whether MCP tools can be used at all.
To use an MCP server with an agent: open the agent detail page and add the server in the MCP panel. The agent_mcp_server join table records the attachment; at dispatch time the sandbox is given the list of MCP servers the agent can call.
Tools are not Skills. Tools are functions the model invokes during a run. Skills are prompt + file bundles that ship into the sandbox at start-up. See Crew › Skills for the difference.
Source
apps/actana/app/workspace/[workspaceId]/w/crew/tools/— UI (Custom Tools + MCP tabs)apps/actana/app/api/mcp/— MCP server registry + tool discoveryapps/actana/executor/handlers/inference/inference-handler.ts— MCP filtering, custom tool resolutionpackages/db/schema.ts—mcp_servers,agent_mcp_server