Plutus MCP Server

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.

Category
Visit Server

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

  1. cp .env.example .env and fill in service URLs/keys (see Configuration). Set UI_PASSWORD.

  2. chmod 600 .env

  3. Edit docker-compose.yml: set the NAS volume path/UUID for your host.

  4. Deploy:

    docker compose up -d
    
  5. Open the dashboard: http://<host>:8766/ui (login admin / your UI_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_fetch has 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured