Skip to main content
Glama

Start Process

start_process

Launch long-running shell commands and keep the process or session alive for dev servers, file watchers, and interactive CLIs.

Instructions

Start a long-running shell command and keep its process/session alive. Use for dev servers, watchers and interactive CLIs.

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": {
      "command": "<command>"
    },
    "name": "start_process"
  }
}

Input Schema

NameRequiredDescriptionDefault
cwdNo.
commandYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.7/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 burden. It does disclose the key behavioral trait: the process and session stay alive beyond the call, implying the agent must later use process_output/send_input/kill_process. It omits what the call returns (a process handle/ID?), whether anything is mutated on disk, resource/concurrency limits, and how the process is terminated.

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?

Two short sentences with no filler. The core purpose and the lifetime guarantee are front-loaded, and the usage examples follow immediately after.

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-parameter tool with no annotations and no output schema, the description covers the essential concept but leaves gaps that matter operationally: what handle is returned to reference the process later, and how/when the process is stopped. It is adequate but not complete for a long-lived-process primitive.

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 0%, so the description should compensate, and it only partially does: 'shell command' gives some meaning to `command`, but `cwd` (with its default '.') is never mentioned or explained, and there is no note on quoting, shell selection, or path conventions.

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 specific verb and resource ('Start a long-running shell command') plus the distinguishing behavioral trait that the process/session is kept alive. This implicitly separates it from the sibling execute_command, but the description never names that sibling, so the differentiation is left for the agent to infer.

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?

'Use for dev servers, watchers and interactive CLIs' gives concrete positive-use scenarios that clarify intent well. However, it offers no exclusion or named alternative — nothing says when to prefer execute_command instead, or what to do if the command is short-lived.

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