Skip to main content
Glama

bind_skills

Bind skill references (name, description, path) to a scope for persistent access, with optional clearing and scope selection.

Instructions

Persist lean binding (name/description/path only). Max 3. Pass clear:true or none to clear. Optional scope: session (in-memory), project (.skill-mcp/binding.json), or global (~/.config/skill-mcp/binding.json). Default global. Priority: session > project > global.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noneNo
clearNo
namesNo
scopeNo
reasonsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • addedInput schema / properties / scope
      Added value: +{
      +  "enum": [
      +    "session",
      +    "project",
      +    "global"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.1.0

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses persistence scope and precedence ('Default global. Priority: session > project > global') and where data is stored for project and global scopes. However, with no annotations provided, it carries the full burden and still does not clearly explain side effects such as overwriting existing bindings or exactly what clearing does beyond the phrase 'to clear'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and uses separate sentences for distinct details, making it easy to scan. It includes scope paths and clear behavior without excessive verbosity, though the telegraphic style makes some phrases like 'Max 3' underexplained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description needs to be self-sufficient, but it leaves important gaps: the purpose of the 'reasons' parameter, the exact meaning of 'none', and what the tool returns or changes are not explained. It is not complete enough for an agent to confidently invoke the tool in all intended scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it only partially explains parameters. It covers clear and scope, and loosely references 'name/description/path only' and 'Max 3' for names, but it does not explain the 'none' property clearly and completely omits the 'reasons' object parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Persist lean binding' and mentions clearing and scope, which gives some sense of the action, but it never explicitly states that the tool binds skills to a scope or what a 'binding' represents. 'Max 3' is ambiguous and could refer to the number of skills or entries. It is distinguishable from siblings like list_skills and read_skill, but not as crisp as it could be.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides parameter-level instructions such as 'Pass clear:true or none to clear' and scope options, but it does not state when to use bind_skills versus alternatives like get_binding or write_host_contract. There is no explicit guidance about the intended use case or when a binding should be created.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.