Skip to main content
Glama

kill_port_process

Terminates the process occupying a specified TCP port to resolve EADDRINUSE errors, including the full process tree on Windows and Linux.

Instructions

Terminates the process currently occupying a specific TCP port to resolve EADDRINUSE errors without manual hunting. Terminate whole process tree on Windows/Linux.

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": {
      "port": "<port>"
    },
    "name": "kill_port_process"
  }
}

Input Schema

NameRequiredDescriptionDefault
portYesThe TCP port occupied by the process to kill
forceNoForce termination (/F on Windows or SIGKILL on Unix). Defaults to true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It does disclose one important trait beyond the schema — that the whole process tree is terminated on Windows/Linux — but omits that this is an irreversible destructive action, that it may require elevated privileges/root, and what happens if the port is free or the process refuses to die.

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?

Two short sentences, front-loaded with the action and scope, with the platform note trailing usefully. 'Without manual hunting' is mild framing filler but does convey intent, so nothing egregiously wasteful.

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 two-parameter, no-output-schema, no-annotation tool, the description covers what it does, why, and its scope. The remaining gaps are consequences of the kill (return value, privilege needs), which are secondary but would materially help an agent decide to call it.

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 100%, so both 'port' and 'force' are already documented in the schema, including the SIGKILL//F mapping. The description adds only the 'whole process tree' scope note, which is genuinely extra meaning but not tied explicitly to the force parameter, so the baseline 3 applies.

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 pairs a specific verb ('Terminates') with a specific resource ('the process currently occupying a specific TCP port') and a concrete motivating scenario (EADDRINUSE). It is clearly distinct in intent from the sibling 'inspect_port', but it never names or explicitly contrasts with any sibling, so it stops just 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?

Usage context is implied rather than stated: the agent can infer 'use this when you hit EADDRINUSE' but there is no explicit when-not guidance, no mention of checking with inspect_port first, and no note about when to prefer clean_orphan_processes. The agent must infer the routing decision.

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