Plutus MCP Server
A self-hosted MCP server for homelabs with ~193 tools covering media, home automation, productivity, infrastructure, and public APIs, featuring a web dashboard for configuration and health monitoring.
README
Plutus MCP Server
A single self-hosted Model Context Protocol server for a homelab, with a web dashboard for configuration, health, and client setup. ~193 tools across media, photos, home automation, productivity, infrastructure, and public APIs.
- MCP endpoint:
http://<host>:8765/mcp(streamable HTTP) - Web dashboard:
http://<host>:8766/ui(HTTP Basic auth)
📚 Full docs: Architecture · Security · Operations · Configuration · Testing · Changelog · Contributing
Tools included
| Service | Tools |
|---|---|
| Jellyfin | search, recently added |
| Sonarr | search, list, add, queue, calendar, missing |
| Radarr / Lidarr | search, list, add, queue |
| Jellyseerr | request, list requests |
| qBittorrent | list, pause, resume, delete |
| Habitica | tasks, stats, score, add todo, add/delete task |
| Nextcloud | calendars, events, tasks, notes, contacts, files |
| Home Assistant | states, search, call service, on/off |
| Immich | search, albums, memories, people |
| Docker / OMV | containers, logs, start/stop/restart; disk & system info |
| SSH / SMB | allowlisted remote commands; share browse/manage |
| Ntfy | send notifications |
| Filesystem | list, read (secret-redacted), search, write, move |
| Public APIs | weather, maps, web/Google search, finance, trivia, … |
Setup
-
cp .env.example .envand fill in service URLs/keys (see Configuration). SetUI_PASSWORD. -
chmod 600 .env -
Edit
docker-compose.yml: set the NAS volume path/UUID for your host. -
Deploy:
docker compose up -d -
Open the dashboard:
http://<host>:8766/ui(loginadmin/ yourUI_PASSWORD).
Connect an MCP client
The dashboard (Settings → Connection Manager) generates and downloads a ready-to-use config for any client — Claude Desktop, Claude Code, Cursor, VS Code, Cline, Windsurf, ChatGPT/OpenAI, LM Studio, Open WebUI, n8n — pre-filled with your URL and (optionally) a Bearer token. Test MCP connection verifies it before you paste it in.
Claude Desktop bridges to the remote endpoint via mcp-remote:
{
"mcpServers": {
"plutus": {
"command": "npx",
"args": ["mcp-remote", "http://<host>:8765/mcp", "--allow-http"]
}
}
}
Claude Code, Cursor, VS Code, etc. connect to http://<host>:8765/mcp directly — let the
Connection Manager emit the exact format for each.
Security (summary)
- Web UI behind HTTP Basic auth (+ login lockout); CSRF Origin-check on mutating requests.
- Optional MCP Bearer auth (
MCP_REQUIRE_BEARER=true), applied live. - Docker writes off by default; SSH hosts read-only by default; filesystem confined to
FILESYSTEM_ALLOWED_PATHS. - Secrets in files/errors are redacted by default;
web_fetchhas an SSRF guard. - Keep ports 8765/8766 off the public internet — LAN/Tailscale only.
Full model, threat analysis, and hardening checklist: docs/SECURITY.md.
Health monitoring
POST /api/v1/health/regression-check?notify=1 runs the tool batch, diffs against a
saved baseline, and ntfy-alerts on tools that worked before and fail now. Schedule it via
cron or n8n — see docs/OPERATIONS.md.
Remote access via Tailscale (optional)
tailscale serve --bg --https=443 http://localhost:8766 # dashboard
Set PUBLIC_MCP_BASE=https://<name>.<ts-net> in .env so the Connection Manager emits
HTTPS configs. Connect MCP clients to https://<name>.<ts-net>/mcp.
Development
pip install -r requirements.txt -r requirements-dev.txt
python -m pytest # offline suite
See docs/CONTRIBUTING.md.
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.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.