Skip to main content
Glama

femm_session_open

Start or reuse a named FEMM engine session, choosing headless or GUI mode, attaching to an existing port, or setting the working directory for subsequent simulation tools.

Instructions

Start (or reuse) a named FEMM engine. Every other tool takes session (default "main") and opens it lazily, so call this only to choose options.

headless=True spawns femm_headlessw (no window, fastest). headless=False opens the femm_gui window: needed for femm_save_bitmap (screenshots are not written headless). attach=True connects to an engine already listening on port (e.g. a GUI the user started) instead of spawning one. work_dir is the engine's current directory; relative paths in other tools resolve there (default ~/femm-agent-work/, env FEMM_AGENT_WORK).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNomain
portNo
attachNo
headlessNo
work_dirNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden, and it discloses a lot: process spawn behavior (femm_headlessw, no window, fastest), a cross-tool dependency (screenshots require headless=False), attach/host semantics, and working-directory/default/env-var behavior. It does not cover error modes or what happens when a same-named session already exists with conflicting options.

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 purpose and routing constraint in the first sentence, then organized into per-flag clauses. Every sentence earns its place and there is no filler.

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

Completeness4/5

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

For a 5-param, no-annotation, no-output-schema session opener, the description is rich enough to invoke correctly, including defaults and the env-var-backed work_dir. Minor gaps: no statement of the return value or reuse/error behavior, but the 'session' handle convention is already established by sibling tools.

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 it does address most parameters: name (named engine, default 'main'), port (in the attach clause), attach, headless, and work_dir (engine cwd, default ~/femm-agent-work/<name>, env FEMM_AGENT_WORK). It adds real semantics beyond the bare typed schema, though types/format for port and work_dir remain thin.

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?

The opening sentence states a specific verb+resource ('Start (or reuse) a named FEMM engine') and explicitly distinguishes it from every sibling by noting that all other tools take `session` and open lazily. An agent can tell this tool apart from femm_session_close/femm_session_list 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?

It gives an explicit when-to-use rule ('call this only to choose options') and the alternative (lazy implicit open by other tools). It then routes each option: headless=True/False with the femm_save_bitmap caveat, and attach=True for an already-listening engine. When/when-not plus alternatives are covered.

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

Deploy Server

Other Tools