PiLink
Click on "Install 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., "@PiLinklist files in the workspace directory"
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.
PiLink
PiLink is a self-hosted, OAuth-protected MCP bridge for the Pi coding-tool harness. It gives authorized clients controlled access to a selected project.
The core server and CLI do not require VS Code. The optional PiLink VS Code extension is a graphical launcher/status panel for choosing the project, starting/stopping PiLink, configuring the endpoint, connecting ChatGPT, and checking bridge status. It is not a second chat frontend.
Features
Workspace-scoped read, search, edit, write, safe Git inspection, and optional repository execution.
OAuth with PKCE, refresh, revocation, client controls, and bounded MCP sessions.
A default Single-agent tool catalog plus an optional collaboration catalog in the core server/CLI.
Stable Cloudflare fixed-domain hosting, existing HTTPS domains, Quick Tunnel, local-only operation, and legacy CLI hosting paths.
Explicit opt-ins for repository execution and unrestricted machine access.
Optional VS Code launcher, Textual collaboration monitor, and local Codex plugin.
Related MCP server: codex-web-bridge
Requirements
Node.js 24.18.0 exactly and npm 11.16.0 exactly for source builds.
A project directory you are willing to trust.
A public HTTPS endpoint only for remote clients such as ChatGPT Work.
VS Code 1.106 or newer only for the optional extension.
Python/Textual only for the optional terminal collaboration monitor.
Install from source
git clone https://github.com/roccoangelella/PiLink.git
cd PiLink
npm ci
npm run buildnpm run build compiles PiLink and attempts to expose pilink through an
existing user-writable directory already on PATH. It never uses sudo, edits
shell startup files, or replaces an unrelated command.
If no safe PATH location exists, run the checkout directly:
npm run cli -- startSet PILINK_SKIP_CLI_LINK=1 when you explicitly want a build that does not
create/repair the generated launcher.
Private configuration and runtime state normally live outside the repository,
for example ~/.config/pilink/.env on Linux/macOS. Do not place OAuth state,
tunnel credentials, provider credentials, or PiLink private data inside the
workspace exposed to MCP clients.
See Installation for release installers, VSIX/source installation, Remote SSH, managed Node, and upgrade details.
Start PiLink from the CLI
pilink start
pilink start --mode single
pilink start --mode collaboration
pilink start --mode vscodeOnly single and collaboration are server capability modes. vscode is a
handoff into the optional graphical control surface and is never stored as
PI_RUNTIME_MODE=vscode.
Selecting the VS Code graphical entry also bootstraps the matching PiLink extension when needed: the CLI verifies the installed extension version, installs the version-matched release VSIX after SHA-256 verification, then opens the project. After that, PiLink can be started, stopped, or restarted directly from VS Code without launching the CLI again.
Entry | Purpose |
Single agent | Original project-tool bridge without public collaboration services |
Collaboration | Adds verified chat/tasks, memory/work-loop coordination, and remote supervised-agent controls |
VS Code graphical | Installs/verifies the focused PiLink launcher when needed, then opens it; graphical setup always writes Single agent |
For a local server behind an existing reverse proxy:
pilink serve --mode single
pilink serve --mode collaborationUseful commands include:
pilink init
pilink start --setup
pilink clients list
pilink hosting --help
pilink agent-auth --help
pilink chat
pilink resetSee Runtime mode selection for the exact capability split.
Start PiLink from VS Code
The graphical path intentionally fixes the security/workflow policy and asks only for the endpoint choice:
open the project and trust the VS Code window;
open PiLink from the Activity Bar;
choose Set up stable endpoint (recommended), Temporary quick start, or Local only;
every choice writes Single agent + Project-folder access;
when a public endpoint is ready, select Connect ChatGPT;
do the coding task in ChatGPT Work or another MCP client.
Set up stable endpoint supports a Cloudflare fixed domain or an existing HTTPS reverse proxy. The Quick Tunnel option is intentionally secondary because its URL changes when recreated.
The extension no longer exposes collaboration enablement, Full-access launch, provider-backed chat/agents, native VS Code MCP integration, or manual OAuth client registration as graphical products. Those specialist capabilities remain in the core CLI/backend where appropriate.
See PiLink VS Code extension and Connect ChatGPT Work.
Full machine access
Full access is intentionally unsafe and is not part of the VS Code workflow. From the CLI it must be enabled explicitly:
pilink start --allow-unsafe-full-accessPrefer assigning it to one reviewed OAuth client rather than every client:
pilink clients list
PI_FULL_ACCESS_CLIENT_IDS=pi_your_client_id pilink start --allow-unsafe-full-accessFull access removes the project filesystem boundary and enables process execution as the PiLink OS user. It does not grant root automatically, but it is remote code execution with that user's authority.
If the VS Code launcher detects an existing Full-access configuration, it shows a safety state and refuses to start/restart/connect it. Reconfigure safely... resets it to the fixed graphical policy. Deliberate unrestricted operation belongs to the CLI/operator workflow.
Read Security model before enabling it.
Hosting
PiLink supports temporary and stable HTTPS arrangements. In the VS Code launcher:
Cloudflare fixed domain — stable, PiLink provisions tunnel/DNS from a scoped one-use API token;
Existing HTTPS domain — stable, operator-managed reverse proxy;
Cloudflare Quick Tunnel — temporary evaluation URL;
Local only — same-machine clients.
The core CLI retains additional legacy hosting paths. A remote ChatGPT client needs a reachable HTTPS origin. Recreating a Quick Tunnel changes that origin and therefore changes the MCP/OAuth URL clients use.
Hosting credentials must remain private. Automatic helper downloads are pinned and integrity-checked; controlled mirrors must provide both the download URL and independently verified SHA-256 digest.
See Installation for provisioning details.
Client and operator options
ChatGPT Work / remote MCP clients: connect to the OAuth-protected PiLink endpoint.
PiLink VS Code extension: optional graphical launcher/status panel for the same server, with a fixed safe policy.
Collaboration / provider-backed agents / unrestricted access: explicit core PiLink CLI/operator capabilities, not VS Code product modes.
Codex: the optional local plugin under
plugins/pilinktargets a loopback PiLink instance.
Security
Project-folder access is the baseline. It confines filesystem tools to the canonical selected project, rejects traversal/symlink escapes, and does not expose a general shell. Repository execution and Full access require separate operator decisions.
Public MCP OAuth, local VS Code administration, and optional model-provider authentication are independent trust boundaries. Keep all private PiLink state outside the project.
Read Security model before exposing PiLink publicly or broadening execution/access policy.
Documentation
Development
npm ci
npm run dev # compile/watch only; does not start PiLink
npm run dev:server # explicitly run the raw development server
npm run test:all
npm run release:checkPiLink is distributed under the MIT License and uses the Pi Agent
tool harness from
@earendil-works/pi-coding-agent.
The repository history and NOTICE retain contributor attribution.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenancePrivate OAuth-backed MCP server for ChatGPT, supporting GPT Apps via MCP Streamable HTTP and GPT Actions via REST endpoints with OpenAPI 3.1.
- AlicenseNot gradedqualityCmaintenanceLocal MCP server bridging ChatGPT Web to local tools for file, shell, git, test, and process management with secure policy controls.MIT
- AlicenseBqualityBmaintenanceSelf-hosted MCP server that enables ChatGPT to access and operate on local project files after OAuth authorization, without uploading the workspace elsewhere.38107MIT
- FlicenseNot gradedqualityDmaintenanceRemote MCP server with built-in OAuth authentication via Cloudflare Access, enabling secure tool invocation after user sign-in.
Related MCP Connectors
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
StremAI MCP: shared memory for AI coding agents. Connected agents can recall. OAuth + local stdio.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roccoangelella/PiLink'
If you have feedback or need assistance with the MCP directory API, please join our Discord server