-
-
Notifications
You must be signed in to change notification settings - Fork 1
Tool Packages
MCP_TOOL_PACKAGE controls which tools the server exposes at startup. It defaults to full. The server must restart for changes to take effect.
For the complete tool reference see Tool-Reference. For all environment variables see Configuration.
Every tool count in this document includes the always-on list_tool_packages tool. This tool is registered unconditionally - it is not part of any package - and returns the package registry so callers can discover the active surface without out-of-band knowledge.
| Package | Groups | Tools | Description |
|---|---|---|---|
full |
11 | 14 | Complete read/write surface for development instances |
readonly |
8 | 10 | Read-focused; no record_write, record_apply, build_query, or service_catalog
|
core_readonly |
3 | 5 | Minimal - query, describe, attachments |
none |
0 | 1 | Only list_tool_packages; useful for connectivity checks |
list_tool_packages, query, build_query, describe, record_read, record_write, record_apply, attachment, attachment_write, investigate, resolve_choice, service_catalog, audit, flow
list_tool_packages, query, describe, record_read, attachment, attachment_write, investigate, resolve_choice, audit, flow
list_tool_packages, query, describe, attachment, attachment_write
list_tool_packages
The readonly and core_readonly presets load attachment_write because the attachment group registers both its read and write tools as a pair. Write operations (upload, delete) are blocked at runtime by write_gate when the environment is production or the target table is denied. In non-production environments, attachment_write remains functional even under the readonly presets.
Set MCP_TOOL_PACKAGE to a comma-separated list of group names to compose a bespoke surface:
MCP_TOOL_PACKAGE=query,describe,auditA single group name also works - MCP_TOOL_PACKAGE=service_catalog loads only that group (plus list_tool_packages).
Valid group names: query, build_query, describe, record_read, record_write, attachment, investigate, resolve_choice, service_catalog, audit, flow.
If a token in the comma-separated list does not match a known group name, the server logs an ImportError and captures it via Sentry; the remaining groups still load.
Most groups register a single MCP tool with the same name as the group. Two groups register a pair:
| Group | Tools registered |
|---|---|
query |
query |
build_query |
build_query |
describe |
describe |
record_read |
record_read |
record_write |
record_write, record_apply
|
attachment |
attachment, attachment_write
|
investigate |
investigate |
resolve_choice |
resolve_choice |
service_catalog |
service_catalog |
audit |
audit |
flow |
flow |
Call list_tool_packages to see the registry. It returns group names per preset:
{
"full": ["query", "build_query", "describe", "record_read", "record_write", "attachment", "investigate", "resolve_choice", "service_catalog", "audit", "flow"],
"readonly": ["query", "describe", "record_read", "attachment", "investigate", "resolve_choice", "audit", "flow"],
"core_readonly": ["query", "describe", "attachment"],
"none": []
}Use the group-to-tool mapping above to determine individual tool names from these group lists.