Skip to main content
Official Schema: See the JSON Schema definition for the authoritative toolset configuration specification.
Toolsets organize related tools into logical groups that can be discovered, filtered, and deployed together. They provide a way to structure large collections of tools by functional area, business domain, or use case.

What Are Toolsets?

Toolsets are named collections of tools that share a common purpose or domain. They enable:
  • Selective loading - Load only the tools you need
  • Logical organization - Group related capabilities together
  • Discoverability - Help AI agents find relevant tools
  • Access control - Manage permissions by toolset
  • Deployment flexibility - Deploy different toolsets to different environments
Design Principle: Toolsets are purely organizational - they don’t change tool behavior. A tool works the same whether loaded individually or as part of a toolset.

Toolset Structure

Define toolsets in the toolsets section of your YAML configuration:

Basic Example


Toolset Fields Reference

Required Fields

All toolsets must include these fields:
Tool References: Each tool name in the tools array must match a key in the tools section. The server will error if a referenced tool doesn’t exist.

Field Details

Unique identifier for the toolsetThe toolset name is the YAML key and must be unique across all toolsets in the configuration.Naming conventions:
  • Use lowercase with underscores: performance_monitoring
  • Be descriptive of the domain: employee_information, security_audit
  • Group logically: system_administration, business_reporting

Organization Strategies

By Functional Domain

Organize tools by what they do:

By Business Process

Organize tools by business workflow:

By User Role

Organize tools by who uses them:

By Environment

Organize tools by deployment environment:

Selective Loading

Control which toolsets are loaded at server startup:

Load All Toolsets

Load Specific Toolsets

List Available Toolsets

Output:

Multiple File Organization

Structure large tool collections across multiple files with consistent toolsets:

File Structure

Consistent Toolsets Across Files

tools/performance.yaml:
tools/security.yaml:
Load all files:

Complete Examples

Example 1: Sample Database Toolsets

Example 2: System Administration Toolsets

Example 3: Multi-Environment Toolsets


Best Practices

Optimal size: 3-10 tools per toolset
  • Too small (1-2 tools): Defeats the purpose of grouping
  • Too large (20+ tools): Reduces discoverability and increases load time
  • Just right (3-10 tools): Easy to understand and manage
Example:
Use consistent naming patterns:
  • Domain-based: {domain}_{purpose}security_audit, performance_monitoring
  • Role-based: {role}_toolsdeveloper_tools, dba_tools
  • Environment-based: {env}_{category}prod_monitoring, dev_utilities
Be consistent within a project:
Tools can belong to multiple toolsets:
Use cases:
  • Shared utility tools (logging, health checks)
  • Cross-domain tools (system information)
  • Different access levels to same tool
Always include:
  • title: Clear, human-readable name
  • description: Purpose and target users
  • Mention any special requirements (authorities, environments)

Environment-Specific Toolset Loading

Use environment variables to control toolset loading across environments: Development:
Production:
Start server:

Next Steps

Sources Reference

Configure database connection sources

Tools Reference

Define individual SQL tool operations

Building SQL Tools

Step-by-step guide to creating tools and toolsets

Tools Overview

High-level overview of the SQL tools system
Toolset Design Philosophy: Toolsets are organizational constructs that improve discoverability and deployment flexibility. Design toolsets around how tools are used (functional domains, business processes, user roles) rather than how they’re built (database schemas, file structure). Good toolsets help AI agents and humans quickly find the right tool for their task.