Skip to content
Get started
Guides

Tool Sets

Organize and manage the tools your agents use.

Tool sets are workspace-scoped collections of tools. They’re how you give agents capabilities — each tool set connects to an external source that provides tools, and Cadenya syncs them automatically.

Every tool set uses an adapter to connect to a tool provider. There are two adapter types.

The MCP adapter connects to a Model Context Protocol server. Cadenya discovers and syncs tools from the server automatically.

const toolSet = await client.toolSets.create({
name: "MCP Tools",
description: "Tools from my MCP server",
adapter: {
mcp: {
url: "https://your-mcp-server.example.com",
headers: {
Authorization: "Bearer your-token",
},
},
},
});

You can control which tools are synced using include and exclude filters:

adapter: {
mcp: {
url: "https://your-mcp-server.example.com",
include_tools: ["search", "fetch"], // Only sync these tools
exclude_tools: ["dangerous_tool"], // Or exclude specific tools
},
}

The HTTP adapter connects to a plain HTTP endpoint. Use this when your tools are exposed as a standard REST API rather than an MCP server.

const toolSet = await client.toolSets.create({
name: "HTTP Tools",
description: "Tools from my HTTP API",
adapter: {
http: {
base_url: "https://your-api.example.com",
headers: {
Authorization: "Bearer your-token",
},
},
},
});

Once a tool set is created, you can manage the individual tools within it.

Each tool has a status:

  • Available — The tool is active and can be used by agents.
  • Filtered — The tool was discovered but excluded by a filter rule.
  • Archived — The tool has been manually archived and won’t be used.
const tools = await client.toolSets.tools.list(toolSet.metadata.id);
for (const tool of tools.data) {
console.log(`${tool.metadata.name}: ${tool.spec.description}`);
}

When a tool set has managed enabled, only API key actors can modify its tools — human users cannot make changes through the API. This is useful when tools are managed by an automated pipeline.