taproot-mcp

taproot-mcp

Enables managing SSH-managed clusters with tools for executing commands, file operations, and tmux sessions across multiple nodes.

Category
Visit Server

README

Taproot

简体中文

Taproot is a local MCP server for SSH-managed nodes. Agents use taproot-mcp serve; the VS Code extension is the control panel for editing node config and checking status.

Remote nodes only need SSH access. They do not need Taproot installed.

Quick Start

1. Install the VS Code extension

Install taproot-mcp from the VS Code Marketplace.

For Remote-SSH, install it under SSH: <host>, not Local.

Open the Taproot panel and click Install/Update Backend.

Taproot runs on the same machine as the agent that connects to it. In a Remote-SSH VS Code window, extension commands run on the SSH host.

CLI-only install, without VS Code:

python -m pip install https://github.com/xiaoxiao27110/taproot/releases/download/v0.2.1/taproot_mcp-0.2.1-py3-none-any.whl

2. Add nodes

Open the Taproot panel in VS Code, add your SSH nodes, then run the connection check from the panel.

You can also check from a terminal:

taproot-mcp check --config /absolute/path/to/nodes.yaml

3. Start the local MCP server

In the Taproot panel or Command Palette, click Start Local MCP Server.

4. Connect your agent

http://localhost:8765/mcp

Claude Code:

claude mcp add --transport http taproot http://localhost:8765/mcp

Agent Examples

Manual server start, without the VS Code button:

taproot-mcp serve --config /absolute/path/to/nodes.yaml --transport http --host 127.0.0.1 --port 8765

Stdio Alternative

For MCP clients that launch servers by command, use stdio instead of a long-running HTTP server.

Codex ~/.codex/config.toml:

[mcp_servers.taproot]
command = "taproot-mcp"
args = ["serve", "--config", "/absolute/path/to/nodes.yaml"]
env = {}

Claude Code stdio:

claude mcp add taproot -- taproot-mcp serve --config /absolute/path/to/nodes.yaml

nodes.yaml

Example:

defaults:
  user: admin
  key: ~/.ssh/id_rsa
  port: 22

nodes:
  gpu-node-1:
    host: 192.168.1.101
    tags: [gpu, vllm]
  dev-vm:
    host: 192.168.1.200
    user: dev
    tags: [dev, build]

Config lookup order:

  1. TAPROOT_CONFIG
  2. ./nodes.yaml
  3. ~/.config/taproot/nodes.yaml

Tools

Discovery:

  • cluster_nodes

Broadcast tools:

  • cluster_exec
  • cluster_read_file
  • cluster_edit_file
  • cluster_write_file
  • cluster_list_dir
  • cluster_glob
  • cluster_system_info
  • cluster_service
  • cluster_upload
  • cluster_download

Single-node tmux session tools:

  • cluster_session_open
  • cluster_session_exec
  • cluster_session_read
  • cluster_session_interrupt
  • cluster_session_close
  • cluster_session_list

Safety

  • password and sudo_password in nodes.yaml are plaintext. Prefer SSH keys.
  • Do not commit nodes.yaml, .taproot/, history files, approval files, SSH keys, or VSIX files.
  • Taproot enforces remote permissions on the MCP server side.
  • Home-internal file tools run without approval, except protected directories such as ~/.ssh, ~/.aws, ~/.kube, and ~/.taproot.
  • Paths outside home, sudo=True, command execution, service mutations, and tmux command execution require CLI approval.

Approve or reject pending operations:

taproot-mcp approvals list --config /absolute/path/to/nodes.yaml --status pending
taproot-mcp approvals approve <approval-id> --config /absolute/path/to/nodes.yaml
taproot-mcp approvals reject <approval-id> --config /absolute/path/to/nodes.yaml

Development

python -m pip install -e ".[test]"
python -m pytest

VS Code extension:

cd taproot-plugin
npm install
npm test

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured