Skip to main content
Glama

Skill

skill

Invoke skills for inline execution or publish and update skill markdown with frontmatter, scope, and supporting files.

Instructions

Skill

Invoke or publish Vruum skills — the consolidated skill tool.

Actions:

  • invoke: fetch a skill's executable body for inline execution (id = skill UUID or name; no payload). Follow the returned instructions in your current context.

  • publish: publish or update a skill (no id; payload = {body, scope?, metadata?, supporting_files?} — body is the full skill markdown with frontmatter).

To browse skills use search type='skills'; to read one without executing it use fetch type='skill'.

Responses:

200: Successful Response (Success Response) Content-Type: application/json

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoTarget entity id, or an ARRAY of ids to apply the same action+payload to each (max 100; see the tool description for which entity the id names per action).
itemsNoFor create-like actions only: an array of per-item payloads processed in order with per-item results (max 100). Mutually exclusive with `id` and `payload`.
actionYesThe operation to perform — see the tool description for the action vocabulary and each action's id/payload semantics.
payloadNoAction-specific fields, validated by the underlying route's own schema (a bad field 422s with that route's precise errors). See the tool description per action.
for_companyNoOptional company ID or name (UUID, or case-insensitive EXACT name match — partial / substring matches are NOT supported; ambiguous names raise 400) to execute this tool as. Use get_operator_overview with view='companies' to list available companies. Only needed if you manage multiple companies. Access is enforced server-side: the tool resolves the value to a user_company_id and verifies the caller's membership in `company_users` — a 403 'Company not found or access denied' means EITHER the value did not match a known company OR the caller is not a member of it. The MCP operator role itself is NOT auto-granted — operators get this access by being members of each client company via `company_users` (the same row that grants any normal user access).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.2.2

TDQS

A3.6/5.0
Behavior3/5

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

With annotations declaring readOnlyHint=false, destructiveHint=false, and openWorldHint=false, the description somewhat contradicts the implied safety profile — publish is a mutation that creates/updates skills but destructiveHint=false suggests limited destructive impact. The description adds useful detail (invoke has no payload, publish requires body), but doesn't disclose side effects, authorization requirements (does publishing require special privileges?), or what happens on overwrite.

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 compact with clear action bullets, front-loading the two main actions. The 'Responses' section adds minimal value (no output details). Each line earns its place, though the response section is slightly wasteful given there's no output schema.

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

Completeness3/5

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

For a two-action tool with shared generic param semantics (id, payload, items), the description adequately splits the contracts per action. But it lacks details on: return format (what an invoke response looks like), error conditions beyond the implicit 422 mentioned in schema, and whether publish supports items/create-like batching. The output schema is absent, so return value documentation falls on the description.

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

Parameters3/5

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

Schema coverage is 100% (all 5 params described). The description adds specific per-action parameter contracts: for invoke id=skill UUID or name with no payload; for publish id=none and payload={body,...}. This meaningfully supplements the schema, which says only 'see the tool description'. However, the generic schema descriptions already redirect to the tool description, creating some circular dependency.

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

Purpose4/5

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

The description states specific verbs ('Invoke or publish Vruum skills') with distinct actions clearly enumerated. It differentiates from sibling tools by naming alternative tools (search, fetch) for non-executing tasks. However, it doesn't contrast against the many manage_* siblings, though the 'skills' subject matter is specific enough.

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

Usage Guidelines4/5

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

The description clearly explains when to use this tool vs alternatives: 'To browse skills use search type='skills'; to read one without executing it use fetch type='skill''. This gives explicit when-not guidance. It also clarifies that invoke follows returned instructions in current context, which is useful behavioral guidance.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vruum-gtm/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server