mcpbeat Sign in

shaft-mcp MCP Server

local only

shaft-mcp runs on your own machine — the client starts it, so there is no endpoint to ping. Last commit 18 Sep 2026.

SHAFT browser automation, capture, and offline deterministic failure diagnosis

Installs / week
not published
410
Stars
5 open issues
18 Sep 2026
Last commit
from GitHub
MIT
License
Java

What the code does

We read the source, 19 h ago · rules 3dff92dd89df

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a dangerous call autobot_provider_status.model → tools/local-ai-poc/local_ai_poc.py:1407, autobot_provider_status.model → tools/local-ai-poc/local_ai_poc.py:1631
            process = subprocess.Popen(  # nosec B603 - pinned verified executable and list args.
Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Claims local-only, but the code calls out shaft-upgrader/upgrade_to_modular_shaft.py:673
                for path in project_root.rglob("pom.xml")
            terminalSessionForRemoteMachine.performTerminalCommand("rm -r " + pathToTempDirectoryOnRemoteMachine[0]);
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

                        src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAABPCAIAAADwaBnZAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5AgKCTESJPkV5AAAGdZJREFUeNrtfXlwHNd55/d19/R0z31gMMCAIADiIAiQgggeIAFJF…
…isEmptyObject)(r))return}(n||(delete a[f].data,u(a[f])))&&(o?ut.cleanData([e],!0):ut.support.deleteExpando||a!=a.window?delete a[f]:a[f]=null)}}}function o(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(xt,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){…
…g.getAttribute("data-requirecontext")];(i?i.defQueue:P).push([b,c,d])};define.amd={jQuery:!0};g.exec=function(b){return eval(b)};g(n)}})(this);
Runs an external command chaos-engine/hooks/launch.js:96
  const result = spawnSync(command, [...prefix, guard], {
Builds a file path from a variable chaos-engine/hooks/launch.js:40
      const candidate = path.join(root, relative);
    <script async defer src="https://buttons.github.io/buttons.js"></script>
Reads files and sends them to the network shaft-upgrader/upgrade_to_modular_shaft.py:673
                for path in project_root.rglob("pom.xml")
In the project's build, not in the package

Found in continuous integration, deployment or infrastructure files, or in a neighbouring package of the same monorepo. None of this is installed when you add the server: it describes how the project is built and released. We list it because a leaked key in a build pipeline is still a real problem, but it is not something this server does on your machine.

          report = promotion.evaluate([], dict(os.environ))

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Alternatives to shaft-mcp

same job, measured the same way
Safari DevTools MCP
by hayodev

MCP server for Safari DevTools — browser debugging and automation for AI coding agents

55 installs/wk local only
Browser Agent
by runbook-ai

MCP server for browser automation with AI agent

62 installs/wk local only
MCP Server Browserbase
by browserbase

MCP server for AI web browser automation using Browserbase and Stagehand

4 334 installs/wk local only
Agent Browser
by codechap

MCP server for browser automation via Vercel's agent-browser CLI

local only
Web Task
by rich-jojo

Browser tasks, sessions, and recipes for MCP and HTTP automation.

82 installs/wk local only
Web Task
by jojo-labs

Browser tasks, sessions, and recipes for MCP and HTTP automation.

local only
Shiplight
by shiplight

An MCP server that provides browser automation

2 015 installs/wk local only
Jshookmcp
by vmoranv

MCP server for JavaScript analysis, security auditing, browser automation and hooks

592 installs/wk local only

shaft-mcp — questions

Answers built from our own checks of this server.

Why is there no uptime for shaft-mcp?
shaft-mcp runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone.
Is shaft-mcp open source?
Yes — it is published under the MIT licence, written in Java, 410 stars on GitHub and 5 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.