Manage tool availability using Tool Packaging
mainTo prevent overwhelming a language model with too many tools, you can load specific subsets of tools called "packages" using the MCP_TOOL_PACKAGE environment variable.
Configuration
- Set a package:
export MCP_TOOL_PACKAGE=package_name - Load all tools (default): Do not set
MCP_TOOL_PACKAGEor set it tofull. - Load no tools: Set
MCP_TOOL_PACKAGE=none(onlylist_tool_packageswill be available). - Invalid package: If an invalid name is provided, the
nonepackage is loaded and a warning is logged.
Package definitions are managed in config/tool_packages.yaml.
Available Default Packages
service_desk: Incident handling and user/knowledge lookup.catalog_builder: Service catalog management (items, categories, variables, scripting).change_coordinator: Change request lifecycle management.knowledge_author: Knowledge base and article management.platform_developer: Server-side scripting (Script Includes) and workflow development.system_administrator: User/group management and system logs.agile_management: User stories, epics, and scrum tasks.full: All tools.none: No tools (exceptlist_tool_packages).
Introspection
Use the list_tool_packages tool to see available package names and identify which package is currently loaded. This tool is available in all packages except none.