Skip to main content
Glama
sbl-sdsc

MCP GeneLab Server

by sbl-sdsc

create_session

Start a session to get the session_id required by every other MCP GeneLab tool; call it once at the start and again if the session expires or is unknown.

Instructions

Start a session and obtain the session_id that EVERY other tool on this server requires.

WHEN TO USE THIS TOOL: Call this ONCE at the beginning of a conversation, before any other mcp-genelab tool. Also call it again whenever a tool replies that the session is unknown or expired.

WHY: This server runs as a single shared process serving many users at once. The session id is the only thing that keeps YOUR output directory and YOUR generated plots (retrievable via fetch_plot, get_save_script and the plot://{session_id}/{filename} resource) separate from everyone else's. It is an opaque bearer token — treat it as private to this conversation and never guess one.

LIFETIME: A session expires after a period of inactivity (default 60 min) or an absolute maximum age (default 8 h), whichever comes first. Expired sessions drop their plots; regenerate them under a new session.

RETURNS: A short message containing session_id: <token>. Extract the token and pass it as the session_id argument on every subsequent call.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, idempotentHint=false and openWorldHint=false; the description adds material context beyond that: inactivity (60 min) and absolute (8 h) lifetimes, the fact that expired sessions DROP their plots, and that the session id is an opaque bearer token to be kept private and never guessed. This directly discloses what is lost and the security posture.

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

Conciseness5/5

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

Front-loaded with the core action, then organized into clearly labeled WHEN TO USE / WHY / LIFETIME / RETURNS blocks. The extra length is justified because the tool is a universal prerequisite, and no sentence is filler.

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

Completeness5/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 carries the return contract and does so ('a short message containing session_id: <token>'). Combined with lifetime and re-creation guidance, nothing an agent needs to call this correctly is missing.

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?

The tool takes zero parameters, so the baseline is 4; the description still explains what the calling convention is (extract the token from the return message and pass it as session_id on every subsequent call), which is useful even though there is no argument to document.

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

Purpose5/5

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

States a specific verb+resource ('Start a session and obtain the session_id') and immediately distinguishes itself from siblings by declaring that every other tool on the server requires the returned token. An agent can tell it apart from end_session and the plotting/query tools without opening any schema.

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

Usage Guidelines5/5

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

Explicit when-to-use: call ONCE at the start of a conversation before any other mcp-genelab tool, and again whenever a tool reports the session is unknown or expired. This is exactly the kind of ordering prerequisite an agent needs, with no reliance on inference.

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