Haru VPS MCP
A self-hosted MCP gateway that provides filesystem and shell capabilities for an isolated VPS workspace, with strict loopback security and optional authenticated remote access.
README
Haru VPS MCP
A mini tunnel to a mini computer for ChatGPT.
Haru VPS MCP is a small self-hosted MCP gateway for an isolated VPS workspace. It gives an MCP client a narrow set of filesystem and shell capabilities without making the host itself the workspace.
MCP client / authenticated tunnel
|
v
Haru MCP gateway
127.0.0.1:8765
|
+------+------+
| |
v v
filesystem MCP shell MCP
loopback only loopback only
| |
+------v------+
isolated workspace
Public/private boundary
This repository is a clean public reference distribution, not a mirror of the author's private production environment. It intentionally excludes private domains, machine identity, credentials, incident evidence, production deployment state, adjacent personal services, and owner-specific workspace contents.
The reusable boundary is simple: the gateway and delegated workspace backends stay on loopback, while any remote access is provided by a separately authenticated tunnel or reverse proxy.
Security model
Haru MCP exposes powerful workspace filesystem and shell tools, so treat the endpoint as privileged.
- The gateway refuses non-loopback bind addresses.
- Workspace backend URLs must be explicit loopback HTTP endpoints and cannot contain credentials.
- Optional public Host/Origin allowlists are transport hardening only. They are not authentication.
deploy/Caddyfile.examplefails closed with HTTP 403. Replace it only when your ingress layer actually authenticates clients.- Do not expose the gateway or workspace backends anonymously on the Internet.
- Keep the delegated workspace disposable and separate from host configuration, credentials, home directories, and production data.
This first public extraction is a reference implementation. It preserves conservative boundaries from the private project, but it is not a claim that arbitrary deployments are production-safe without operator review.
Install and test
Python 3.10+ is required.
python -m venv .venv
. .venv/bin/activate
pip install -e '.[test]'
pytest
You can also run the repository-local verification entry point:
./deploy/verify.sh
Configure
Start from the example environment file:
cp deploy/haru-mcp.env.example .env
By default, the gateway listens at 127.0.0.1:8765/mcp and delegates to two loopback MCP backend endpoints on port 8766. Those backends should themselves be scoped to a dedicated workspace root.
If an authenticated reverse proxy or tunnel forwards a public hostname to the loopback gateway, set both:
HARU_MCP_PUBLIC_HOST=mcp.example.com
HARU_MCP_PUBLIC_ORIGIN=https://mcp.example.com
These settings only extend Host/Origin validation. They do not add authentication.
Run
haru-mcp
The public tool surface is deliberately small: gateway health, workspace directory listing/read/write/edit/move/stat, and isolated shell execution delegated to loopback MCP backends.
Deployment examples
deploy/haru-mcp.service.example shows a hardened systemd service shape. deploy/Caddyfile.example is intentionally fail-closed until the operator supplies an authenticated ingress design.
License
No license has been selected for this public repository yet. Licensing is an owner follow-up before a broader release.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.