Skip to content

Toolset Configuration

Toolsets are collections of tools that can be dynamically loaded from various sources. They provide a way to organize and manage groups of related tools.

Overview

LLMling-Agent supports multiple toolset types:

  • OpenAPI: Create tools from OpenAPI/Swagger specifications
  • Entry Points: Load tools registered through Python entry points
  • Composio: Integration with Composio tool platform
  • Built-in Toolsets: Agent management, execution environment, tool management, user interaction, history, and skills

Configuration Reference

OpenAPI Toolset

Configuration for OpenAPI toolsets.

OpenAPI Toolset (YAML)
1
2
3
4
5
6
7
- type: openapi
  spec:  # URL or path to the OpenAPI specification document.
    path: https://api.example.com/openapi.json
    protocol: https
    storage_options: {}
  base_url: null  # Optional base URL for API requests, overrides the one in spec.
  namespace: null  # Optional namespace prefix for tool names

Entry Point Toolset

Configuration for entry point toolsets.

Entry Point Toolset (YAML)
1
2
3
- type: entry_points
  module: myapp.tools  # Python module path to load tools from via entry points.
  namespace: null  # Optional namespace prefix for tool names

Composio Toolset

Configuration for Composio toolsets.

Composio Toolset (YAML)
1
2
3
4
5
- type: composio
  api_key: null  # Composio API Key.
  user_id: user@example.com  # User ID for composio tools.
  toolsets: []  # List of toolsets to load.
  namespace: null  # Optional namespace prefix for tool names

Agent Management Toolset

Configuration for agent pool building tools.

Agent Management Toolset (YAML)
1
2
3
- type: agent_management
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Execution Environment Toolset

Configuration for execution environment toolset (code + process management).

Execution Environment Toolset (YAML)
1
2
3
4
- type: execution
  environment: null  # Optional execution environment configuration (defaults to local).
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Tool Management Toolset

Configuration for tool management toolset.

Tool Management Toolset (YAML)
1
2
3
- type: tool_management
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

User Interaction Toolset

Configuration for user interaction toolset.

User Interaction Toolset (YAML)
1
2
3
- type: user_interaction
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

History Toolset

Configuration for history toolset.

History Toolset (YAML)
1
2
3
- type: history
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Skills Toolset

Configuration for skills toolset.

Provides tools to discover and load Claude Code Skills from the pool's skills registry. Skills are discovered from configured directories (e.g., ~/.claude/skills/, .claude/skills/).

Skills Toolset (YAML)
1
2
3
- type: skills
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Integration Toolset

Configuration for integration toolset.

Integration Toolset (YAML)
1
2
3
- type: integrations
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Code Toolset

Configuration for code toolset.

Code Toolset (YAML)
1
2
3
- type: code
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

File Access Toolset

Configuration for file access toolset (supports local and remote filesystems).

File Access Toolset (YAML)
1
2
3
4
5
6
7
8
9
- type: file_access
  url: null  # Filesystem URL or protocol. If None set, use agent default FS.
  model: null
  storage_options: {}  # Additional options to pass to the filesystem constructor.
  conversion: null  # Optional conversion configuration for markdown conversion.
  max_file_size_kb: 64  # Maximum file size in kilobytes for read/write operations (default: 64KB).
  max_grep_output_kb: 64  # Maximum grep output size in kilobytes (default: 64KB).
  use_subprocess_grep: true  # Use ripgrep/grep subprocess if available (faster than Python regex).
  namespace: null  # Optional namespace prefix for tool names

VFS Toolset

Configuration for VFS registry filesystem toolset.

VFS Toolset (YAML)
- type: vfs
  namespace: null  # Optional namespace prefix for tool names

Subagent Toolset

Configuration for subagent interaction tools.

Subagent Toolset (YAML)
1
2
3
- type: subagent
  tools: null  # Optional tool filter to enable/disable specific tools.
  namespace: null  # Optional namespace prefix for tool names

Workers Toolset

Configuration for worker agent tools.

Workers are agents or teams registered as tools for the parent agent. This provides a predefined set of worker tools based on configuration.

Workers Toolset (YAML)
1
2
3
- type: workers
  workers: []  # List of workers to register as tools.
  namespace: null  # Optional namespace prefix for tool names

CodeModeToolsetConfig

Configuration for code mode tools.

CodeModeToolsetConfig (YAML)
1
2
3
4
- type: code_mode
  toolsets:
  - a
  namespace: null

RemoteCodeModeToolsetConfig

Configuration for code mode tools.

RemoteCodeModeToolsetConfig (YAML)
1
2
3
4
5
- type: remote_code_mode
  environment: a
  toolsets:
  - a
  namespace: null

Search Toolset

Configuration for web/news search toolset.

Search Toolset (YAML)
1
2
3
4
- type: search
  web_search: null  # Web search provider configuration.
  news_search: null  # News search provider configuration.
  namespace: null  # Optional namespace prefix for tool names

Notifications Toolset

Configuration for Apprise-based notifications toolset.

Notifications Toolset (YAML)
1
2
3
- type: notifications
  channels: {}  # Named notification channels. Values can be a single Apprise URL or list of URLs.
  namespace: null  # Optional namespace prefix for tool names

Semantic Memory Toolset

Configuration for semantic memory / knowledge processing toolset.

Semantic Memory Toolset (YAML)
1
2
3
4
- type: semantic_memory
  model: null  # Model to use for query translation and answer generation.
  dbname: null  # SQLite database path for persistent storage, or None for in-memory.
  namespace: null  # Optional namespace prefix for tool names

Config Creation Toolset

Configuration for config creation with schema validation.

Config Creation Toolset (YAML)
1
2
3
4
5
6
7
- type: config_creation
  schema_path:  # Path or URL to the JSON schema for validation.
    path: schema/config-schema.json
    protocol: ''
    storage_options: {}
  markup: yaml  # Markup language for the configuration (yaml, json, toml).
  namespace: null  # Optional namespace prefix for tool names

Custom Toolset

Configuration for custom toolsets.

Custom Toolset (YAML)
1
2
3
- type: custom
  import_path: myapp.toolsets.CustomTools  # Dotted import path to the custom toolset implementation class.
  namespace: null  # Optional namespace prefix for tool names

Configuration Notes

  • The type field serves as discriminator for toolset types
  • Namespaces help prevent tool name collisions when combining multiple toolsets
  • Toolsets are loaded when the agent initializes
  • OpenAPI specs can be local files or URLs
  • Entry points use standard Python entry point format
  • Tools from toolsets can be filtered through agent capabilities
  • API keys can be provided directly or via environment variables