Skip to main content
Glama

Liminal

code_mode

Discover tools for the Liminal Python Code Mode client. search(query) returns public method names; describe(tool) returns its schema. Code executes in the consuming client's isolated runtime; every method uses ordinary authenticated MCP.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "context": "<context>"
    },
    "name": "code_mode"
  }
}

Input Schema

NameRequiredDescriptionDefault
toolNo
queryNo
actionNosearch
contextYesUser's goal in one short sentence; no personal data or secrets.
llm_modelNoYour exact model id for analytics, or "unknown"; never guess.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "context",
      -  "llm_model"
      -]New value: +[
      +  "context"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / context / description
      Previous value: -"Describe the user's goal in one short sentence. Omit personal data and secrets."New value: +"User's goal in one short sentence; no personal data or secrets."
    • changedInput schema / properties / llm_model / description
      Previous value: -"The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess."New value: +"Your exact model id for analytics, or \"unknown\"; never guess."
  3. Added

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does add genuine value: code runs in the consuming client's isolated runtime and every method uses ordinary authenticated MCP, which reassures the agent about execution location and auth. However, it omits error behavior, whether discovery calls are read-only/cached, rate limits, and what the caller must supply for the required 'context' field. Useful but incomplete for a zero-annotation tool.

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?

Three compact sentences, front-loaded with the discovery purpose before the per-operation detail, and no filler. The notation 'search(query)' / 'describe(tool)' packs operation, parameter, and return value into a few words. Minor cost: the shift from discovery framing to runtime/auth commentary is slightly abrupt.

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?

There is no output schema, so the description must explain returns, and it does so at a high level (method names, schemas). But the 'action' parameter's allowed values are never enumerated and the required 'context' prerequisite is never mentioned in prose, so an agent must open the schema to call it correctly. Adequate but not complete for a five-parameter meta-tool.

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 description coverage is only 40% across five parameters, so the description must compensate. It implicitly explains 'query' and 'tool' through the search(query) and describe(tool) notation and hints at 'action' via the default value, but 'action', 'context', and 'llm_model' receive no explanatory treatment beyond their schema titles. It adds partial meaning but leaves roughly half of the surface undocumented in either place.

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 a specific purpose ('Discover tools for the Liminal Python Code Mode client') and then names two concrete verbs with their resources: search(query) returns public method names, describe(tool) returns its schema. That is far more specific than restating the name. The one gap is that a sibling tool is literally named 'search', and the description never distinguishes this meta-discovery operation from that sibling, leaving some ambiguity about which entry point to call.

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

Usage Guidelines3/5

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

Usage is only implied: pick search to learn method names, then describe to fetch a schema for a named tool. There is no explicit when-to-use / when-not-to-use statement, no prerequisite list, and no guidance against the ambiguous 'search' sibling. An agent can infer the two-step workflow but must guess when code_mode is preferable to the standalone tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.