Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TG_LOOP_GUARDNoSet to 0 to disable the loop guard that warns on the 3rd identical call and refuses it on the 5th.
TG_VALIDATE_ARGSNoSet to 0 to disable argument validation (silent fixes of near-miss types, and refusal of invalid calls with an example).
TOOL_GUARDIAN_ENVNoExplicit path to a .env file to load. Otherwise a .env is looked for by an upward search starting at the config file's directory (or the cwd) and walking up to 5 parent directories.
TOOL_GUARDIAN_STATENoPath to state.json, where activated groups are remembered across sessions. Empty disables it. Default ~/.tool-guardian/state.json.
TOOL_GUARDIAN_CONFIGNoPath to the mcp.json config file. Config is searched in order: --config PATH, $TOOL_GUARDIAN_CONFIG, ./mcp.json, ./.mcp.json, ~/.tool-guardian/mcp.json.
TOOL_GUARDIAN_LADDERNoSet to 0 to turn off the output ladder (result shaping) applied to call_tool results.
TOOL_GUARDIAN_PRESETNoSet to 'small' for 8k-context local models. It sets TOOL_GUARDIAN_CATALOGUE_CHARS=1500 and TOOL_GUARDIAN_DESC_WORDS=6.
TOOL_GUARDIAN_PYTHONNoPython interpreter for the DSH bundle to use. Otherwise a .venv beside the package, then python/python3 on PATH (3.9+).
TOOL_GUARDIAN_SKILLSNoOne or more folders containing SKILL.md files, separated by ':' on Linux/macOS and ';' on Windows. Enables the list_skills and read_skill tools.
TOOL_GUARDIAN_CALL_LOGNoPath to the call log where every router call is appended (argument values never are). Default ~/.tool-guardian/calls.jsonl.
TOOL_GUARDIAN_HOOK_MODENoSet to 'deny' to make the Claude Code PreToolUse hook block a shell call that does a router tool's job and tell Claude which call_tool(...) to use.
TOOL_GUARDIAN_PROVE_KEYNoBearer token for the OpenAI-compatible endpoint used by 'tool-guardian --prove'.
TOOL_GUARDIAN_PROVE_URLNoBase URL of an OpenAI-compatible chat endpoint (e.g. http://127.0.0.1:11434/v1) used by 'tool-guardian --prove' to test whether the model drives the router.
GUARDIAN_NO_UPDATE_CHECKNoSet to 1 to disable the once-a-day update check.
TOOL_GUARDIAN_DESC_WORDSNoWords of a tool, server or skill description shown in catalogue and search lines. Default 12; 6 with TOOL_GUARDIAN_PRESET=small.
TOOL_GUARDIAN_PROVE_MODELNoModel id used by 'tool-guardian --prove'. Default: the first id from GET <url>/models.
TOOL_GUARDIAN_CALL_TIMEOUTNoMilliseconds/seconds timeout before a call gets no reply; the router stops the backend and restarts it before the next call. A second failure within 60 s marks the backend DOWN.
TOOL_GUARDIAN_CATALOGUE_CHARSNoEach server's block in list_capabilities is cut at this many characters, with a '[+N more tools not shown ...]' line pointing at search_capabilities. Default 0 (no cap); 1500 with TOOL_GUARDIAN_PRESET=small.
TOOL_GUARDIAN_DESCRIBE_DETAILNoSet to 'full' to make describe_tool return the whole tool definition by default instead of the compact form.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_capabilitiesA

List the tools on a connected MCP server. THESE SERVERS ARE AVAILABLE AND YOU SHOULD USE THEM RATHER THAN GUESSING OR WORKING AROUND THEM: none reachable. If a request concerns any of those, call this FIRST to find the right tool, then call_tool. To find a tool by keyword instead, call search_capabilities(query).

describe_toolA

Get the arguments for one tool (detail=full: whole schema). Call after list_capabilities and before call_tool if unsure of args.

call_toolA

Invoke a tool on a server. THIS IS THE STEP THAT ANSWERS THE USER -- list_capabilities only finds the name. args may be an object or a JSON string; omit it for tools that take no arguments.

search_capabilitiesA

Find a tool by keyword across every connected server. Cheaper than listing them all when you know roughly what you are looking for.

list_groups_with_costsA

List tool GROUPS with the context-token cost of loading each, so you can pick only the group a task needs.

retrieve_spillA

Read back the FULL original of a result that was shortened. Use the id from the [tool-guardian: ...] notice.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have clearly distinct roles: call_tool invokes, retrieve_spill recovers shortened output, and list_groups_with_costs reports costs. The three discovery tools (list_capabilities, search_capabilities, describe_tool) share a 'find/inspect' space but are differentiated by scope (all, by keyword, one detail), so confusion is limited.

Naming Consistency5/5

All names use a consistent snake_case verb_noun pattern (list_capabilities, search_capabilities, describe_tool, call_tool, retrieve_spill, list_groups_with_costs). No mixed conventions or vague verbs.

Tool Count5/5

Six tools is well-scoped for a meta/gateway server, covering discovery, invocation, output recovery, and cost reporting without redundancy. Each tool earns a distinct place in the workflow.

Completeness4/5

The surface covers the key lifecycle of a proxy: discover tools (list/search/describe), invoke them (call_tool), and handle truncated results (retrieve_spill), plus cost awareness. Minor gap: no explicit connection/registration management, though that may be out of scope.

Maintenance

ActivityActive
ResponsivenessNo issues