mcp-home-server
mcp-home-server
可自托管的 MCP 服务器,为 Claude 提供在家庭服务器上运行 shell 脚本和读取文件的工具。运行在 Multipass 虚拟机上,并通过 Cloudflare Tunnel 暴露。
工具
工具 | 功能 |
| 在虚拟机上运行 |
| 返回文件内容(路径不受限制 — 虚拟机即为沙盒) |
| 执行 |
Related MCP server: MCP Research Tools
虚拟机部署
git clone git@github.com:Axolotlpi/mcp-home-server.git /opt/mcp-server
cp /opt/mcp-server/.env.example /opt/mcp-server/.env
nano /opt/mcp-server/.env # set MCP_TOKEN to a long random secret
sudo bash /opt/mcp-server/setup.sh允许服务无需密码提示即可自行重启:
echo 'ubuntu ALL=(ALL) NOPASSWD: /bin/systemctl restart mcp-server' \
| sudo tee /etc/sudoers.d/mcp-serverCloudflare Tunnel 设置
此操作将虚拟机上的 127.0.0.1:8000 暴露给公共 HTTPS URL,而无需打开防火墙端口。
1. 安装 cloudflared
curl -L https://pkg.cloudflare.com/cloudflare-main.gpg \
| sudo tee /usr/share/keyrings/cloudflare-main.gpg > /dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' \
| sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared -y2. 身份验证并创建隧道
cloudflared tunnel login # opens browser — pick your domain
cloudflared tunnel create mcp-server请记录创建后打印的隧道 ID。
3. 创建配置文件
sudo mkdir -p /etc/cloudflared
sudo tee /etc/cloudflared/config.yml <<EOF
tunnel: <YOUR_TUNNEL_ID>
credentials-file: /root/.cloudflared/<YOUR_TUNNEL_ID>.json
ingress:
- hostname: mcp.yourdomain.com
service: http://127.0.0.1:8000
- service: http_status:404
EOF将 <YOUR_TUNNEL_ID> 和 mcp.yourdomain.com 替换为您的实际值。
4. 路由 DNS
cloudflared tunnel route dns mcp-server mcp.yourdomain.com这会在您的 Cloudflare 控制面板中创建一个指向该隧道的 CNAME 记录。
5. 作为服务运行
sudo cloudflared service install
sudo systemctl enable --now cloudflared隧道现在将在开机时启动。您的服务器可通过 https://mcp.yourdomain.com 访问。
添加到 Claude
MCP 服务器使用 SSE 协议。端点为 https://mcp.yourdomain.com/sse。
Claude Desktop
编辑 claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"home-server": {
"url": "https://mcp.yourdomain.com/sse",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN"
}
}
}
}保存后重启 Claude Desktop。
Claude Code (CLI)
claude mcp add --transport sse home-server https://mcp.yourdomain.com/sse \
--header "Authorization: Bearer YOUR_MCP_TOKEN"或者手动将其添加到 .claude/settings.json:
{
"mcpServers": {
"home-server": {
"type": "sse",
"url": "https://mcp.yourdomain.com/sse",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN"
}
}
}
}添加新脚本
将您的脚本添加到
scripts/并推送到 GitHub告诉 Claude: "run update_self" — 它会拉取最新代码并重启
告诉 Claude: "run my-script.sh" — 它会在虚拟机上执行
在第 2 步重启期间,连接会短暂中断。这是预期行为。
若要禁止通过 API 调用某个脚本,请将其文件名添加到 blacklist.txt 中。
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Cloudflare Workers MCP server: ai-agent-scratchpad
9 remote MCP servers on Cloudflare Workers for AI agents. Free tier + Pro API keys.
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that enables Claude to control your computer, similar to Anthropic's computer use but easy to set up locally.351 npm382MIT
- AlicenseNot gradedqualityDmaintenanceLocal-first MCP server that gives Claude Code web search, page reading, video transcription, and image analysis — without paid API keys. Runs SearXNG + whisper.cpp natively on Apple Silicon for zero-cost, low-latency research workflows.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that lets an AI agent delegate tasks to Claude Code on a remote Mac via SSH over Tailscale. Persistent sessions, 200k context, full Mac filesystem access.MIT
- FlicenseNot gradedqualityBmaintenanceA remote MCP server that gives Claude (and ChatGPT/Gemini) persistent read/write access to your own memory: books, games, projects, notes, and freeform facts.-