Local Developer Toolbox MCP
Provides read-only inspection of local Docker containers, listing running containers and optionally stopped ones with their state, status, image, ports, and creation time by invoking docker ps.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Local Developer Toolbox MCPCan you search my app logs for timeout errors?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Local Developer Toolbox MCP
A small, local Model Context Protocol (MCP) server that gives AI coding assistants a few practical developer tools: search local logs, inspect Docker containers, clean up JSON payloads, and review and create Git commits.
The server communicates over stdio, so Claude Desktop, Cursor, and other MCP clients launch it as a local process. The server makes no application-level network requests. The Git tool can stage and commit repository changes when explicitly called with a commit message; Git hooks or signing programs configured on your machine may also run as part of that commit. The Docker CLI follows the currently selected Docker context.
Contents
Related MCP server: local-devops-mcp
Features
Tool | What it does |
| Searches specified log files or directories using a JavaScript regular expression. Results include file names, line numbers, and matching snippets. |
| Lists local Docker containers and their state, status, image, ports, and creation time. Stopped containers are optional. |
| Pretty-prints JSON, including JSON in Markdown fences or surrounded by prose. It removes trailing commas and reports what it cleaned up. |
| Previews repository status and changes, then creates a commit from a Conventional Commit message. It returns the new commit ID. |
Each tool publishes input and output schemas plus safety metadata. The first three tools are
read-only; git_auto_commit is marked as a write operation. Tool responses include structured JSON
for clients that support it, plus a readable text representation.
Requirements
Node.js 20 or later
Docker Desktop or Docker Engine for
inspect_docker_container(optional for the other tools)Git for
git_auto_commit(optional for the other tools); Git must be available onPATHA configured Git commit identity (
user.nameanduser.email) to create commits
Install and build
git clone https://github.com/YOUR-USERNAME/local-developer-toolbox-mcp.git
cd local-developer-toolbox-mcp
npm ci
npm run buildStart the MCP server directly with:
npm startThe server waits for an MCP client on stdin. Its protocol messages use stdout, so startup and diagnostic messages are written to stderr.
For local development, npm run dev runs the TypeScript source with automatic restarts. To inspect
the tools without configuring a client, run:
npx -y @modelcontextprotocol/inspector node ./dist/index.jsConfigure log access
Log searches are restricted to TOOLBOX_LOG_DIRS. Set it to one or more absolute directories,
separated with the operating system's path separator (; on Windows, : on macOS and Linux). If it
is unset, the server's current working directory is the only allowed root.
Example values:
Windows: C:\Users\you\my-app\logs;D:\service\logs
macOS/Linux: /Users/you/my-app/logs:/var/log/my-serviceWhen a directory is passed to search_local_logs, it recursively searches .log, .log.*, .txt,
.out, .err, and .jsonl files. An explicitly named file can have any extension. Relative paths
are resolved under an allowed root. Directory traversal skips common build/dependency folders and
does not follow symbolic links. Paths outside the configured roots are rejected, including paths
that resolve outside a root through a symbolic link.
The tool streams files line by line and returns at most 200 matches. Lines longer than 1,000,000
characters are skipped to bound memory use, and the result reports their count in
skippedOversizedLines. Long matching lines are shortened in the response. Directory scans stop
after 500 unique log files or 2,000 directories and report truncated: true when a limit is hit.
The pattern argument is a JavaScript regular expression and is case-insensitive by default; set
caseSensitive to true for a case-sensitive search. Patterns flagged by a heuristic as
potentially vulnerable to excessive backtracking are rejected; complex safe patterns may also be
rejected.
Connect to Claude Desktop
Build the project first. Then add a local-developer-toolbox entry to Claude Desktop's mcpServers
configuration. Use absolute paths for both Node.js and dist/index.js; this avoids relying on the
app's PATH.
The configuration file is typically:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux builds:
~/.config/Claude/claude_desktop_config.json
Example for Windows (replace the paths with your own):
{
"mcpServers": {
"local-developer-toolbox": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\path\\to\\local-developer-toolbox-mcp\\dist\\index.js"],
"env": {
"TOOLBOX_LOG_DIRS": "C:\\path\\to\\your\\application\\logs",
"TOOLBOX_GIT_REPOSITORY": "C:\\path\\to\\your\\repository"
}
}
}
}Example for macOS (replace the paths with your own):
{
"mcpServers": {
"local-developer-toolbox": {
"command": "/opt/homebrew/bin/node",
"args": ["/absolute/path/to/local-developer-toolbox-mcp/dist/index.js"],
"env": {
"TOOLBOX_LOG_DIRS": "/absolute/path/to/application/logs",
"TOOLBOX_GIT_REPOSITORY": "/absolute/path/to/your/repository"
}
}
}
}If the file already contains other servers, add this entry inside the existing mcpServers object
rather than replacing the file. Save the file and fully restart Claude Desktop. Open Settings →
Developer to check whether the server started and its tools are available. On some packaged
Windows installations, the app may use a package-local configuration path; if the standard
%APPDATA% file is ignored, check the MCP connection status and logs in Claude Desktop's Developer
settings. See
Claude's local MCP guide
for current extension-based setup. This repository currently provides the stdio server and manual
configuration shown above.
Connect to Cursor
Cursor supports project-level .cursor/mcp.json and global ~/.cursor/mcp.json configuration. Use
the project-level file when the server is specific to one repository, or the global file to make it
available across projects. Build the server first, then add:
{
"mcpServers": {
"local-developer-toolbox": {
"command": "node",
"args": ["/absolute/path/to/local-developer-toolbox-mcp/dist/index.js"],
"env": {
"TOOLBOX_LOG_DIRS": "/absolute/path/to/application/logs",
"TOOLBOX_GIT_REPOSITORY": "/absolute/path/to/your/repository"
}
}
}
}On Windows, use absolute Windows paths and escape backslashes in JSON. For example, set command to
C:\\Program Files\\nodejs\\node.exe, and use paths such as
C:\\path\\to\\local-developer-toolbox-mcp\\dist\\index.js in args. Restart or reload Cursor
after saving the config, then enable the server from its MCP tools list if needed.
For the latest configuration options and file locations, see Cursor's MCP documentation.
Windows configuration example
{
"mcpServers": {
"local-developer-toolbox": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\path\\to\\local-developer-toolbox-mcp\\dist\\index.js"],
"env": {
"TOOLBOX_LOG_DIRS": "C:\\path\\to\\your\\application\\logs",
"TOOLBOX_GIT_REPOSITORY": "C:\\path\\to\\your\\repository"
}
}
}
}Tool examples
search_local_logs
{
"paths": ["./logs", "C:/work/api/logs/app.log"],
"pattern": "(ERROR|FATAL)\\s+.*timeout",
"caseSensitive": false,
"maxResults": 50
}When searching a directory, only recognized log extensions are included. When searching an explicitly named file, the path is read directly if it is within an allowed root.
inspect_docker_container
{
"includeStopped": false
}This runs docker ps (or docker ps --all when stopped containers are requested). It is read-only.
Docker must be installed, available on PATH, and connected to a running daemon.
format_json_payload
{
"payload": "Here is the response: {\"ok\":true,\"items\":[1,2,],}",
"indent": 2
}The result includes formattedJson, extractedFromSurroundingText, and removedTrailingCommas.
The formatter does not guess missing braces, convert single quotes, or invent values; malformed JSON
that cannot be safely cleaned returns an error.
git_auto_commit
The tool uses two calls so the AI can inspect the changes before it generates a commit message. Set
TOOLBOX_GIT_REPOSITORY in the MCP client configuration, or pass repositoryPath explicitly.
First, request a preview without commitMessage:
{
"repositoryPath": "C:/work/my-project"
}The response contains the current branch, git status, staged and unstaged diffs, and previews for
small untracked regular files. The diff preview is capped at 40,000 characters; diffTruncated
signals omitted content. If there are no changes, the tool returns
Keine Änderungen zum Committen vorhanden.
After reviewing the preview, provide a single-line Conventional Commit message:
{
"repositoryPath": "C:/work/my-project",
"commitMessage": "feat: add git auto commit tool"
}The tool validates the message, runs git add . from the repository root, then runs
git commit -m. The result includes the commit ID. If Git is missing, the path is not a repository,
Git is not configured with a commit identity, or the commit fails for another reason, the tool
returns a readable error instead of stopping the MCP server. If staging succeeds but the commit
fails (for example, because a Git hook rejects it), the changes may remain staged for inspection.
Security and privacy
This is a local stdio server. Its tools do not write files or make application-level network requests.
git_auto_commitwrites to Git metadata and stages files when called with a commit message. Git hooks or signing programs configured on the machine may also run. The Docker CLI follows the active Docker context, which may point to a remote engine.Log access is limited to configured roots. Keep those roots as narrow as practical; matching log lines are returned to the connected AI client and may contain sensitive data.
Git diff previews are returned to the connected AI client and can contain sensitive source or configuration values. Review them before committing.
The Docker tool invokes only the read-only
docker pscommand. It does not run arbitrary shell commands or inspect container filesystems.git_auto_commitstages every non-ignored change in the selected repository, including changes that were already staged. Review the returned status and diff before calling it with a message. If the commit fails after staging, inspect the index before trying again.Review tool calls and outputs according to your AI client's normal approval controls.
Reporting a vulnerability
Please report security issues through GitHub's private Report a vulnerability option on the repository's Security tab. See SECURITY.md for details.
Troubleshooting
The server does not appear in the client
Confirm
npm run buildcompleted and that the config points to the builtdist/index.jsfile.Use absolute paths to both Node.js and the server entry point, then fully restart the client.
In Claude Desktop, check Settings → Developer for server status and MCP logs. Some packaged Windows installations use an app-managed config location.
In Cursor, reload the window and check the MCP tools list for a startup error.
Log search returns no files
Confirm
TOOLBOX_LOG_DIRSpoints to an existing directory and that the requested path resolves inside one of its roots.Directory searches only include recognized log extensions. Pass a specific file path if it uses another extension.
The server starts with the client's working directory as the allowed root when
TOOLBOX_LOG_DIRSis unset.
Docker inspection fails
Check that Docker is installed and the daemon is running.
Run
docker psin a terminal launched under the same user account.The tool respects the active Docker context, including a remote context if one is selected.
Git commit fails
Confirm Git is installed and available on
PATH.Set
TOOLBOX_GIT_REPOSITORYto the intended repository or passrepositoryPathto the tool.Configure
git config user.nameandgit config user.emailfor the account creating the commit.Review the preview and use a single-line Conventional Commit message, such as
fix: handle empty log files.
Development
npm run format
npm run checkThe implementation uses the official MCP TypeScript SDK and Zod schemas for tool input validation.
License
MIT. See LICENSE.
Available Tools
4 toolsformat_json_payloadFormat JSON payloadARead-only
Clean up and pretty-print a JSON object or array. Accepts a JSON code fence or surrounding prose and removes trailing commas, while preserving JSON values and reporting cleanup details.
| Name | Required | Description | Default |
|---|---|---|---|
| indent | No | Number of spaces for indentation; use 0 for compact JSON. | |
| payload | Yes | JSON text, optionally inside a Markdown code fence or surrounded by prose. |
Output Schema
| Name | Required | Description |
|---|---|---|
| formattedJson | Yes | |
| removedTrailingCommas | Yes | |
| extractedFromSurroundingText | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and closed-world safety, so the description only needs to add behavior beyond that. It does: it discloses that trailing commas are removed, JSON values are preserved, and cleanup details are reported, which tells an agent the transformation is lossless-ish and observable. It stops short of saying what happens on unparseable JSON.
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, front-loaded with the core action, with the input-tolerance and cleanup behavior packed into the second. No filler, no repetition of the title.
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?
An output schema exists, so return values needn't be explained; the description still usefully notes that cleanup details are reported. Inputs, tolerance for fences/prose, and the mutation-free nature of the transform are all covered, leaving only error behavior 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?
Schema coverage is 100%, so both 'payload' (fence/prose tolerance, 1MB cap) and 'indent' (0 for compact) are already fully documented in the schema. The description's note about accepting a code fence or prose restates the payload description rather than adding new semantics, so the baseline 3 applies.
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?
States a specific verb and resource ('Clean up and pretty-print a JSON object or array') and immediately scopes it to JSON text with optional fences or prose. An agent can tell exactly what the tool consumes and produces without opening the schema.
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 the use case (repairing/prettifying JSON that carries fences, prose, or trailing commas) but never states when to reach for this over, say, a validator or parser, nor any exclusions. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
git_auto_commitPreview and create a Git commitADestructive
Call first without commitMessage to inspect the repository status and a bounded diff preview. Then generate a Conventional Commit message from those changes and call again with commitMessage to stage all non-ignored repository changes and commit them. This tool modifies Git state; only commit after reviewing the preview.
| Name | Required | Description | Default |
|---|---|---|---|
| commitMessage | No | Omit this for a status and diff preview. After reviewing the preview, provide a single-line Conventional Commit message to create the commit. | |
| repositoryPath | No | Optional repository directory. Defaults to TOOLBOX_GIT_REPOSITORY or the server's current working directory. |
Output Schema
| Name | Required | Description |
|---|---|---|
| diff | Yes | |
| branch | Yes | |
| status | Yes | |
| message | Yes | |
| commitId | Yes | |
| gitStatus | Yes | |
| diffTruncated | Yes | |
| repositoryRoot | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and non-idempotent, and the description reinforces this with 'This tool modifies Git state' and the review-before-commit rule. It adds genuinely new behavioral detail the annotations cannot convey: the preview diff is bounded, and the commit stages ALL non-ignored changes (i.e., scope is broader than one file). It stops short of covering failure modes such as nothing-to-commit or whether a remote push happens.
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, front-loaded with the call-first instruction and the safety gate last. The mode check is embedded in the same clause as its effect, so nothing is wasted or buried.
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 2-param, 0-required mutation tool with a full output schema, the description covers the decision the agent actually faces: preview vs commit, how to build the message, and what the commit will sweep in. Return-value format is correctly left to the output 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?
Schema coverage is 100% and the schema property descriptions already explain omitting commitMessage for a preview, the single-line Conventional Commit form, and the repositoryPath default. The description restates the mode semantics rather than adding new parameter meaning (no format examples, no note that Conventional Commit subjects can exceed the 100-char cap). Baseline 3 applies when the schema carries the load.
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?
States a specific verb and resource (preview/inspect and create a Git commit) and makes the two operating modes explicit: preview when commitMessage is omitted, commit when it is supplied. An agent can tell exactly what the call will do without opening the schema, and the sibling tools (docker, logs, json) are clearly unrelated.
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?
Gives an explicit ordered workflow — call first without commitMessage, generate a Conventional Commit message from the changes, call again with commitMessage — plus a gating rule ('only commit after reviewing the preview'). This is exactly the when/what-order guidance an agent needs for a two-phase mutation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_docker_containerInspect Docker containersARead-only
List local Docker containers and their current status. Running containers are shown by default.
| Name | Required | Description | Default |
|---|---|---|---|
| includeStopped | No | Include stopped containers as well as running containers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| containers | Yes | |
| includeStopped | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is clear; the description adds only the default filtering behavior. It does not mention that the Docker daemon must be reachable, what happens on connection failure, or whether results are a point-in-time snapshot — meaningful context for a tool that depends on an external runtime.
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 short sentences, front-loaded with the purpose and then the default scope; nothing is wasted. Minor redundancy with the schema's default value keeps it from a 5.
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 one-optional-parameter read tool with an output schema and explicit readOnly annotations, the description covers purpose and default scope adequately. It stops short of explaining the daemon dependency or result semantics, but nothing an agent needs to call it correctly is missing.
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 100% and the single parameter's description already explains that it includes stopped containers, so the schema carries the semantics. The description's "shown by default" merely restates the default value rather than adding selectivity nuance. Baseline 3 applies.
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 states a specific verb and resource ("List local Docker containers and their current status"), which is unambiguous on its own. Sibling tools are unrelated (logs, JSON formatting, git), so no sibling differentiation is required. The only friction is the title saying "Inspect" while the description narrows scope to listing, a mild mismatch.
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?
"Running containers are shown by default" implies the condition under which includeStopped matters, but it never says when to prefer this over other ways of querying container state, nor any prerequisites. The absence of related siblings softens the gap, but guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_local_logsSearch local logsARead-only
Search local log files for a regular-expression pattern. Searches only within TOOLBOX_LOG_DIRS, or the server's current working directory when that variable is unset. Very long lines are skipped, and truncated indicates when a safety or result limit stopped the search.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Files or directories to search, using absolute paths or paths relative to an allowed log root. | |
| pattern | No | JavaScript regular expression applied to each line; risky patterns are rejected. | error|fatal|exception|panic |
| maxResults | No | Maximum number of matching lines to return. | |
| caseSensitive | No | Whether the regular expression is case-sensitive. |
Output Schema
| Name | Required | Description |
|---|---|---|
| matches | Yes | |
| pattern | Yes | |
| warnings | Yes | |
| truncated | Yes | Whether a result limit stopped the search before all possible results were read. |
| scannedFiles | Yes | |
| returnedMatchCount | Yes | |
| skippedOversizedLines | Yes | Number of lines skipped because they exceeded the safe processing limit. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true and openWorldHint=false already covering safety and locality, the description goes further: it discloses that very long lines are skipped and that a 'truncated' signal marks safety/result-limit stops. That is real behavioral context an agent could not get from the annotations, though rate/permission behavior is untouched.
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, no filler, and the most important constraint (search root) comes before the edge-case behavior (skipped lines, truncation). Every clause carries 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?
An output schema exists, so return-shape explanation is unnecessary; the description still explains the notable 'truncated' signal. Combined with the schema's per-parameter detail, an agent has enough to call it correctly; only explicit when-to-use guidance is missing.
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 100%, so paths, pattern, maxResults and caseSensitive are all documented in the schema itself. The description adds nothing parameter-specific beyond the concept of a regex pattern, which the schema already states, so baseline 3 applies.
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?
States a specific verb and resource: 'Search local log files for a regular-expression pattern'. The scope qualifier (TOOLBOX_LOG_DIRS / cwd) narrows the resource precisely. Siblings (docker, JSON, git) are unrelated, so no explicit differentiation is needed, but the description never says it out loud.
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?
Conveys the searchable domain and the fallback to cwd, which implicitly tells an agent when the tool applies. It does not state when not to use it or name any alternative for, say, non-log content, so guidance stays implied rather than explicit.
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.
4 tool updates
v0.1.0- First observed
format_json_payload - First observed
git_auto_commit - First observed
inspect_docker_container - First observed
search_local_logs
TDQS
Scored across 4 tools
Each tool targets a clearly distinct area: Docker container listing, local log searching, JSON formatting, and Git commit creation. There is no functional overlap between any pair of tools, so an agent can easily select the right one.
Three tools follow a clear verb_noun pattern (inspect_docker_container, search_local_logs, format_json_payload), while git_auto_commit uses a domain-prefixed noun_verb structure. This is a minor deviation but still readable and predictable overall.
Four tools is well-scoped for a local developer toolbox, and each tool earns its place by covering a distinct utility. The count avoids both thinness and bloat.
The surface is functional but notably thin in key areas: the Docker tool only lists containers rather than inspecting details, logs are only searchable, and Git only supports commit (with preview) rather than status/diff separately. These gaps are workable but limit the toolbox's completeness for its stated broad purpose.
Related MCP Connectors
Query application logs, traces, and metrics from your AI coding assistant via Foam's MCP server.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.6,054 npmMIT
- AlicenseDqualityDmaintenanceEnables AI assistants to interact with local Docker containers, Kubernetes clusters, and system logs using the Model Context Protocol.95 npmISC
- AlicenseAqualityDmaintenanceA lightweight MCP server that enables AI assistants to execute local development tools and retrieve system status with low latency over stdio or HTTP.127 npm3MIT
- AlicenseAqualityBmaintenanceEnables MCP-capable AI clients to control a local computer over stdio with filesystem operations, ripgrep search, shell command execution, and persistent process sessions.14MIT