my-pi

io.github.BoxBoxmariPublished by GitHub account BoxBoxmariv0.1.0-alpha.2Updated Nov 10, 2026

Local-first MCP runtime for coding agents with safe workspace access, AST/LSP navigation, and Git.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

A local MCP runtime that gives coding agents bounded filesystem, AST/LSP navigation, and Git access to a codebase.

What you can do
my-pi runs as a local stdio MCP server exposing 13 tools in four groups: filesystem operations (fs_read, fs_write, fs_patch, fs_stat), search and workspace info (search, workspace_info), AST and language-server navigation (ast_search, lsp_status, lsp_symbols, lsp_navigate, lsp_diagnostics), and Git context (vcs_status, vcs_diff). Writes can be guarded by content fingerprints rather than blind overwrites. AST search covers TypeScript, JavaScript, Python, Rust, and Go; LSP features cover TypeScript, Python, Rust, and Go when compatible language servers are installed.
When to use it
Use it when a coding agent needs controlled access to a real local codebase instead of an unrestricted shell, for example to read and patch files, navigate symbols and definitions, or inspect Git status and diffs. It suits local development environments that support MCP, such as Claude Code, Cursor, or OpenCode.
Requirements
Node.js 24.0.0 or newer; installed globally via npm or run with npx. A workspace must be given with --workspace or the MY_PI_WORKSPACE_ROOT environment variable, otherwise startup fails closed. Desktop only; no authentication is declared. Language-server features need compatible language-server executables on the host.
Before you install
The server starts read-only; enabling writes and language-server processes requires the explicit trusted security profile, which should only be used for a trusted workspace. Writes and patches modify files in the workspace, and --allow-cwd opts into the current directory. The release is alpha and intended for evaluation and controlled local development.

Installation

In SourceWeft

  1. Open my-pi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

my-pi

[npm version] [npm downloads] [Listed on mcpservers.org] [my-pi MCP server – quality and maintenance score on Glama] [CI status] [License]

my-pi is a local-first Model Context Protocol (MCP) runtime for coding agents that need controlled access to a real codebase without handing the agent an unrestricted shell.

It combines bounded filesystem operations, content-preconditioned writes, structural AST search, language-server navigation, Git status/diff tooling, and an explicit read-only-by-default security model behind one stdio MCP server.

Why my-pi

  • Local-first: source code and detailed workspace state stay on the host.
  • Read-only by default: mutation and language-server process startup require explicit elevation.
  • Safer writes: updates can be guarded by content fingerprints instead of blind overwrites.
  • Code-aware navigation: Tree-Sitter AST search plus LSP symbols, definitions, references, hover, and diagnostics.
  • Git-aware context: bounded status and diff capabilities without exposing an unrestricted command runner.
  • Host-neutral: designed for MCP-capable coding environments including Claude Code, Cursor, and OpenCode.

Install and run

Requires Node.js >=24.0.0.

bash
npm install -g @koonwang03/my-pimy-pi-mcp --workspace /path/to/project

Or inspect a generated host configuration without a global install:

bash
npx --yes --package @koonwang03/my-pi my-pi-mcp host-config cursor-local

The server starts in the read-only security profile. Enable writes and language-server processes only for a trusted workspace:

bash
my-pi-mcp --workspace /path/to/project --security-profile trusted

Starting without --workspace or MY_PI_WORKSPACE_ROOT fails closed. Use --allow-cwd only as an intentional opt-in to the current directory.

Core MCP capabilities

The stable alpha surface exposes 13 tools across four groups:

  • Filesystem: fs_read, fs_write, fs_patch, fs_stat
  • Search/workspace: search, workspace_info
  • AST/LSP: ast_search, lsp_status, lsp_symbols, lsp_navigate, lsp_diagnostics
  • Git: vcs_status, vcs_diff

Structural AST search supports TypeScript, JavaScript, Python, Rust, and Go. LSP integrations support TypeScript, Python, Rust, and Go when compatible language-server executables are available on the host.

Generate host configuration

bash
my-pi-mcp host-config claude-code-localmy-pi-mcp host-config cursor-localmy-pi-mcp host-config opencode-current-local

Security model

my-pi uses explicit workspace authority and pre-read sensitive-path policy. The default profile is intentionally restrictive; trusted mode is an explicit opt-in for mutation and language-server processes.

Review the full security model before enabling trusted mode:

https://github.com/BoxBoxmari/my-pi/blob/main/docs/SECURITY_MODEL.md

Project status

Current release channel: alpha. The package is intended for evaluation and controlled local development while coordination/evaluation features under the repository's "Production Next" work remain experimental.

Repository, architecture, benchmarks, release evidence, and contribution details:

https://github.com/BoxBoxmari/my-pi

The primary executable is my-pi-mcp; ccr-mcp is retained as a compatibility alias.

Source: apps/my-pi-mcp/README.md at commit 59f3291

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0-alpha.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts