claude-terminal-mcp
Terminal — Claude Desktop-Erweiterung für Linux
Eine Claude Desktop-Erweiterung, die Claude Zugriff auf Terminal, Dateisystem und Hintergrundprozesse auf Ihrem lokalen Linux-Rechner gewährt.
Sie schließt eine Lücke in der Linux-Version von Claude Desktop, bei der MCP-Server im Stil von claude_desktop_config.json nicht geladen werden (dieser Mechanismus ist nur unter macOS/Windows verfügbar); unter Linux ist der einzige Weg, Tools hinzuzufügen, die Verwendung installierbarer Erweiterungen.
⚠️ Sicherheit — bitte zuerst lesen
Die Installation dieser Erweiterung gewährt Claude uneingeschränkten Shell-Zugriff auf Ihr Benutzerkonto. Alles, was Sie von einem Terminal aus tun können, kann Claude über dieses Tool ebenfalls tun: jede Datei lesen, auf die Ihr Benutzer Zugriff hat, alles ändern, was Sie ändern können, Software installieren, Netzwerkverbindungen öffnen usw.
Betrachten Sie die Installation so, als würden Sie jemandem eine SSH-Sitzung auf Ihrem Rechner geben. Installieren Sie es nicht auf Rechnern mit sensiblen Daten, die Claude nicht sehen soll, oder auf gemeinsam genutzten Systemen.
Es gibt eine minimale integrierte Sicherheits-Denylist, die eine Handvoll offensichtlich destruktiver Einzeiler ablehnt (rm -rf /, rm -rf ~, Fork-Bomben, dd/mkfs auf rohen Laufwerken, shutdown/reboot). Dies ist ein Sicherheitsnetz für den Notfall, keine Sandbox. Ein entschlossener Befehl kann es mühelos umgehen. Es existiert lediglich, damit ein Moment der Unaufmerksamkeit nicht Ihr Home-Verzeichnis löscht.
Um die Einschränkungen zu verschärfen, bearbeiten Sie das DENYLIST-Array am Anfang von server.js und erstellen Sie das Projekt neu. Um sie vollständig zu entfernen, setzen Sie DENYLIST = [] und erstellen Sie es neu.
Related MCP server: claude-linux-mcp
Funktionsweise
Stellt Claude 8 Tools zur Verfügung:
Tool | Zweck |
| Führt einen Shell-Befehl über |
| Liest eine Textdatei mit optionalem Zeilenbereich-Slicing. |
| Einträge mit Typ (Datei/Verzeichnis), Größe und mtime. |
| Erstellt oder überschreibt eine Textdatei. Übergeordnete Verzeichnisse werden erstellt. |
| Startet einen losgelösten Subprozess; gibt eine |
| Status und die letzten N Zeilen von stdout/stderr für einen Hintergrundprozess. |
| Alle Jobs (laufend, beendet, abgebrochen). |
| Sendet SIGTERM an den Job; SIGKILL nach 5 Sekunden, falls er noch aktiv ist. |
Der Laufzeitstatus (Transkripte, temporäre Job-Dateien) befindet sich unter /tmp/claude-term-mcp/ und wird beim Neustart gelöscht.
Installation
Laden Sie die neueste
Terminal.mcpbvon der Releases-Seite herunter.Öffnen Sie Claude Desktop → Settings → Extensions.
Scrollen Sie zum Abschnitt Extension Developer am unteren Rand. Klicken Sie auf Install Extension und wählen Sie die heruntergeladene
Terminal.mcpb-Datei aus.Claude Desktop zeigt die Erweiterungsdetails mit einer roten Warnung "developer info not verified by Anthropic" an. Überprüfen Sie, ob Sie der Quelle vertrauen, und klicken Sie dann auf Install.
Bei der Installation fragt Claude Desktop nach einem Default working directory — dies ist das Verzeichnis, in dem Shell-Befehle ausgeführt werden, wenn Claude keines angibt. Wählen Sie Ihren Hauptprojektordner oder lassen Sie es leer, um standardmäßig Ihr Home-Verzeichnis zu verwenden.
Stellen Sie unter All extensions sicher, dass Terminal aktiviert ist.
Öffnen Sie in einem Chat die Auswahl für Konnektoren/Tools und aktivieren Sie Terminal für diese Unterhaltung.
Sie können das Standard-Arbeitsverzeichnis später unter Settings → Extensions → Terminal ändern.
Anforderungen
Claude Desktop ≥ 0.10.0 unter Linux (auch unter macOS getestet)
Node.js ≥ 16 (Claude Desktop bündelt eine aktuelle Node-Version, die es zum Ausführen der Erweiterung verwendet, daher ist kein systemweites Node erforderlich)
bashim PATH
Kein npm install-Schritt erforderlich — die Erweiterung ist reines Node ohne Abhängigkeiten.
Konfiguration
Die gesamte Konfiguration erfolgt über die Benutzeroberfläche von Claude Desktop bei der Installation oder unter Settings → Extensions → Terminal.
Feld | Typ | Zweck |
Default working directory | Verzeichnis | Wo Shell-Befehle ausgeführt werden, wenn Claude keines angibt. Leer lassen für |
Um die Denylist oder anderes Verhalten anzupassen, bearbeiten Sie server.js und erstellen Sie das Projekt neu (siehe unten).
Bekannte Probleme
Gelbes Banner: "Tool result could not be submitted. The request may have expired or the connection was interrupted." Dies erscheint bei jedem Schritt, der Claudes dynamisches Tool-Laden auslöst. Der 404-Fehler bezieht sich auf die Übermittlung des Tool-Suchergebnisses an das Anthropic-Backend, nicht auf das MCP-Tool selbst — Ihr Tool-Aufruf wird ausgeführt und gibt unmittelbar nach dem Banner korrekt Ergebnisse zurück. Es ist rein kosmetisch. Dasselbe Problem tritt auch bei der mitgelieferten Filesystem-Erweiterung auf. Wahrscheinlich ein Protokoll-Mismatch zwischen Client und Backend, der in einer zukünftigen Version von Claude Desktop behoben wird.
Aus Quellcode erstellen
git clone https://github.com/LukeLamb/claude-terminal-mcp
cd claude-terminal-mcp
# Edit whatever you want in server.js / manifest.json.
# If you change the tool surface, update both places.
# Bump the version in manifest.json so Claude Desktop treats the install as an update.
# Build the bundle:
zip -j Terminal.mcpb manifest.json package.json server.js
# Then install Terminal.mcpb via Claude Desktop → Settings → Extensions → Install Extension.Deinstallation
Settings → Extensions → All extensions → Terminal → Remove.
Datenschutzrichtlinie
Keine Daten verlassen Ihren Rechner. Diese Erweiterung läuft vollständig lokal:
Datenerfassung: Keine. Die Erweiterung telefoniert nicht nach Hause, sendet keine Telemetrie und führt keine eigenen Netzwerkanfragen durch. Alle Netzwerkaufrufe, die Sie beobachten, sind solche, die Sie Claude ausführen lassen (z. B.
curl,wget,git push).Datennutzung & Speicherung: Befehls-Transkripte (stdin ausgeschlossen, stdout + stderr + Exit-Code) werden unter
/tmp/claude-term-mcp/runs/<timestamp>.loggeschrieben, damit Claude später in derselben Unterhaltung darauf verweisen kann. Der Status von Hintergrundprozessen (Befehl, PID, stdout/stderr-Logdateien, Exit-Code, Status) wird unter/tmp/claude-term-mcp/jobs/<job-id>/gespeichert.Weitergabe an Dritte: Keine. Nichts wird von dieser Erweiterung an Anthropic, den Autor der Erweiterung oder Dritte übertragen. (Claude Desktop selbst sendet Tool-Ein- und Ausgaben separat als Teil des normalen Chat-Ablaufs an Anthropic — das ist die Beziehung zwischen Ihnen und Anthropic, nicht die dieser Erweiterung.)
Aufbewahrung:
/tmp/claude-term-mcp/wird bei jedem Neustart gelöscht. Um es manuell zu löschen:rm -rf /tmp/claude-term-mcp.Berechtigungsumfang: Befehle werden mit den Berechtigungen Ihres eigenen Benutzers ausgeführt — genau so, als würden Sie sie in ein Terminal eingeben.
Kontakt / Fragen: Erstellen Sie ein Issue unter https://github.com/LukeLamb/claude-terminal-mcp/issues.
Lizenz
MIT. Frei verwendbar, Namensnennung geschätzt, keine Gewährleistung.
Available Tools
8 toolskill_backgroundADestructive
Terminate a running background job (SIGTERM, then SIGKILL after 5s).
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide destructiveHint=true, and the description adds specific behavioral details (SIGTERM then SIGKILL after 5s), which goes beyond the annotation. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the core purpose and key details. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema, destructiveHint annotation), the description covers the main behavior but lacks information on error handling, return values, or what happens if the job_id is invalid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (job_id) with no description (0% coverage), and the description does not elaborate on this parameter or its format. The description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('terminate') and the resource ('running background job'), and explicitly mentions the signal sequence (SIGTERM then SIGKILL after 5s). This distinguishes it from sibling tools like list_background and run_background.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for forceful termination but does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusions or prerequisites. The context of sibling names provides some guidance, but it is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backgroundARead-only
List all background jobs (running, exited, killed).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description confirms this is a list operation. It adds behavioral context by specifying the job states included (running, exited, killed), which annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with 8 words, front-loading the purpose. Every word adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description covers what the tool does and the states returned. However, it lacks details on the output structure (e.g., fields like job ID or status), which would help an agent interpret results without schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage. The description correctly omits parameter details as none exist. No additional parameter info is needed beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all background jobs' with specific states (running, exited, killed). The verb 'List' and resource 'background jobs' are unambiguous, and the states differentiate it from siblings like kill_background or run_background.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an agent needs to view all background jobs, but it does not provide explicit guidance on when to use this tool versus alternatives like read_background for job details or kill_background for termination.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_directoryARead-only
List entries in a directory with type, size, and mtime.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds value by explicitly listing the fields returned (type, size, mtime), which is beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is clear and to the point, front-loading the purpose and output fields. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one parameter and no output schema, the description covers the basics but lacks details about error handling, recursion, symlinks, or output structure. Given the low complexity, it is minimally viable but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'path' has no description in the schema (0% coverage), and the tool description does not clarify the expected format (absolute/relative), allowed values, or behavior for missing paths. The parameter name is self-explanatory, but the description should compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list') and resource ('directory entries') and specifies the output fields (type, size, mtime), which distinguishes it from siblings like read_file that read file contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use vs alternatives. While the function is straightforward, the description does not mention when not to use or provide context about prerequisites (e.g., path must exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_backgroundARead-only
Read status and last N lines of stdout/stderr for a background job. tail=0 returns full logs.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| tail | No | Number of trailing lines to return. Default 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, indicating safety. Description adds detail about reading stdout/stderr and the tail=0 behavior for full logs, enhancing transparency without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. Front-loaded with verb and resource, efficiently conveying core functionality and a key parameter behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description should clarify return format. It mentions 'status and last N lines' but lacks specifics on structure, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only tail has description). The description adds value for tail ('tail=0 returns full logs') but does not describe job_id beyond context of 'background job'. Partially compensates for gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read status and last N lines of stdout/stderr for a background job', specifying the verb and resource. It distinguishes from sibling tools like kill_background (kill) and run_background (start).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for reading background job output but lacks explicit when-to-use or when-not-to-use guidance. No mention of alternatives like read_file for non-job outputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_fileARead-only
Read a text file with optional line-range slicing.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| offset | No | 0-indexed starting line. Default 0. | |
| limit | No | Max lines to return. Default 2000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, indicating non-destructive behavior. The description adds the line-range slicing behavior, which is not covered by annotations. However, it does not disclose other behavioral traits like encoding assumptions, file existence errors, or output format. With annotations covering safety, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 8 words, with no unnecessary verbiage. It is front-loaded with the core action and concisely adds scope. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the tool's simplicity, the description covers the input and basic behavior. However, it omits details like return format (list of strings?), error handling (e.g., file not found), or constraints (e.g., file must be UTF-8). It is minimally adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (offset and limit have descriptions, path does not). The description mentions 'line-range slicing', which reinforces offset and limit, but does not explicitly describe the path parameter beyond implying it refers to a text file. It adds some context but does not fully compensate for the missing schema description on path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Read a text file with optional line-range slicing' uses a specific verb (Read) and resource (text file), and adds the line-range slicing detail that distinguishes it from sibling tools like write_file or list_directory. It clearly communicates the tool's primary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading text files, optionally with line-range slicing. However, it does not explicitly state when not to use this tool or mention alternatives (e.g., using run_command with cat). The context is clear but lacks exclusion guidance, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_backgroundADestructive
Start a long-running command in the background. Returns a job_id you can poll with read_background.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| cwd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds 'long-running' context and return of job_id beyond annotations (destructiveHint, openWorldHint). Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but could benefit from structured listing of parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks mentions of kill_background for cancellation or list_background for querying. No output schema so return format (job_id type) is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description provides no additional meaning for 'command' or 'cwd' parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Start', resource 'long-running command in the background', and output 'job_id' for polling. Distinguishes from siblings like read_background.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions polling via read_background, guiding usage. Could explicitly contrast with run_command for foreground tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_commandADestructive
Run a shell command via bash -lc on the user's machine. Returns stdout/stderr/exit_code. Default cwd is the user-configured default working directory (or $HOME if unset). Output capped at 100KB per stream; full transcript saved to log_path.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Shell command to run. Pipes, redirects, `source venv/bin/activate && …` all work. | |
| cwd | No | Working directory. Defaults to the user-configured default working directory (or the user's home directory if unset). | |
| timeout | No | Timeout in seconds. Default 120. | |
| env | No | Extra environment variables to set for this command. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds useful behavioral details beyond annotations: output capped at 100KB, full transcript saved to log_path, default cwd behavior, and use of bash -lc. Does not contradict destructiveHint or openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey purpose, execution method, defaults, and output limits. Front-loaded with key information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality, defaults, and output limits. Could mention blocking nature or security implications, but given no output schema and good annotations, it's reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters (100% coverage). Description adds minor value for 'command' parameter (notes pipes/redirects work) but otherwise repeats schema info. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool runs a shell command via bash -lc, returns stdout/stderr/exit_code. Distinguishes from sibling tools like list_directory or kill_background by focusing on command execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives like run_background or read_file. The description only states what it does, not when to prefer it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_fileADestructive
Create or overwrite a text file. Parent directories are created.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| content | Yes | ||
| overwrite | No | Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true. The description adds that parent directories are created, providing useful behavioral context beyond the annotation. It does not mention file size limits or encoding, but for a simple write tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences with no unnecessary words. The key action and side effect (parent directory creation) are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality but omits edge cases (e.g., behavior when overwrite is false and file exists). With no output schema, the side effects and return values are not disclosed. Overall minimal viable but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only overwrite has a description). The tool description does not elaborate on path or content parameters, failing to compensate for the low coverage. The description only implies content is text, no parameter-specific details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create or overwrite a text file' with a specific verb and resource. The additional detail about parent directories being created distinguishes it from siblings like read_file and run_command.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as run_command or read_file. The description omits when not to use it or mention of trade-offs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.1.0- First observed
kill_background - First observed
list_background - First observed
list_directory - First observed
read_background - First observed
read_file - First observed
run_background - First observed
run_command - First observed
write_file
TDQS
Scored across 8 tools
Each tool has a distinct purpose: run_command for synchronous commands, run_background for long-running, and separate tools for file operations and background job management. No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., kill_background, list_directory, read_file), making the set predictable.
With 8 tools, the server covers essential terminal operations (command execution, file read/write, listing, background jobs) without excessive tool count.
Core operations are present, but missing file deletion, rename, and persistent directory change tools; however, these can be accomplished via run_command, so only minor gaps.
Maintenance
Related MCP Connectors
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Shared memory and actions for Claude, Kiro, OpenAI, Cursor, and other MCP-compatible AI clients.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseAqualityBmaintenanceAllows Claude desktop app to execute terminal commands and edit files on your computer through MCP, with features including command execution, process management, and diff-based file editing.26206,624 npm9,967MIT
- AlicenseAqualityBmaintenanceGive Claude Desktop full desktop control on Linux/X11: screenshot, mouse, keyboard, windows, clipboard, app launch. Zero-dependency MCP extension, MIT-licensed.15MIT
- FlicenseNot gradedqualityDmaintenanceProvides filesystem access to Claude via the MCP protocol, enabling local file operations through natural language.-
- AlicenseNot gradedqualityBmaintenanceExposes an interactive terminal over MCP, enabling remote shell command execution, file operations, and directory management via ChatGPT or Claude Desktop.2MIT