Skip to main content
Glama
johnhenry

mallory-grapher

by johnhenry

session_open

Open a reactive cell session for generic compute or a graph-theory pipeline (edge list, analysis, BFS). Seed inputs, grant capabilities; sessions live in memory until the server ends.

Instructions

Open a reactive cell session. kind "generic" starts empty; "graph-theory" pre-wires an edge-list -> analysis -> BFS pipeline (input cells: edgeListText, directed, startVertex; computed cells: parsed, analysis, bfsOrder). Optional seed sets input cells in the same call (overriding preset defaults). Optional capabilities (issue #7) grants this session use of ops that declare a requiresCapability -- see session_define's own description for which ops (if any) need one; default none. Sessions are in-memory and die with the server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
seedNo
capabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.0.1
    • addedInput schema / properties / capabilities
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observedv0.0.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses that sessions are in-memory and die with the server, that seed overrides preset defaults, and that capabilities gate ops declaring requiresCapability. It omits idempotency, error behavior, and any session-count/resource limits.

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?

Dense but front-loaded: the core purpose is in the first sentence and the kind semantics immediately follow. Parenthetical asides and the cross-reference to session_define add length without being strictly wasteful, but the text is less scannable than it could be.

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 should say what opening a session returns (e.g. a session identifier needed by sibling calls) but never does. Lifecycle ('in-memory, die with the server') is covered and partially compensates, but the return contract is a real gap for a session-creation tool.

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

Parameters4/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 and largely does: it defines both enum values of kind, explains seed as setting input cells (and names the graph-theory input cells), and explains capabilities as granting access to requiresCapability ops. The capabilities explanation is deferred to session_define's description rather than fully self-contained.

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?

States a concrete verb and resource ('Open a reactive cell session') and then details what each kind produces, which lets an agent distinguish this from session_resume. It does not explicitly contrast itself with the sibling that resumes an existing session, so it stops short of a 5.

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?

The description explains what 'generic' vs 'graph-theory' means and how seed/capabilities behave, which implicitly guides parameter choice. It never states when to call session_open instead of session_resume or session_list, so the when-to-use guidance is only implied.

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