Files
mcp-servers/README.md
T
2026-10-22 17:12:12 +02:00

102 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MCP Server Packages for Nix
## Overview
This repository provides Nix derivations for MCP (Model Context Protocol) servers that are not yet available in nixpkgs.
## Available Packages
| Package | Description | Language |
| -------------------------------- | -------------------------------------------------------------------- | ---------- |
| academic-search-mcp-server | Search academic papers via Semantic Scholar and Crossref | Python |
| applemusic-mcp | Apple Music — manage playlists, search catalog, browse library | Python |
| duckduckgo-mcp-server | Web search and content fetching via DuckDuckGo | Python |
| jellyfin-mcp | MCP server for Jellyfin media server | Python |
| libgen-mcp | Library Genesis + open-access search/download/read (no account needed) | Go |
| kindly-web-search-mcp-server | Web search + content retrieval via SearxNG, Tavily, or SearXNG | Python |
| manim-mcp-server | Execute Manim animation code and return videos | Python |
| mcp-arr-server | MCP server for *arr suite — Sonarr, Radarr, Lidarr, Prowlarr | TypeScript |
| mcp-score | AI-driven music score generation and MuseScore live control | Python |
| n8n-mcp | AI access to n8n node docs and workflow management | TypeScript |
| nextcloud-mcp-server | Nextcloud MCP server (files, calendar, contacts, deck, etc.) | Python |
| pdf-reader-mcp | Production‑ready PDF processing with parallel processing | TypeScript |
| rust-research-mcp | Accumulate and organize academic knowledge | Rust |
| simple-web-search-mcp | Zero-config web search and page reading for LLMs | TypeScript |
| mcp-searxng | Privacy-respecting web search and URL reading via SearXNG | TypeScript |
| transmission-mcp | MCP server for the Transmission BitTorrent client | Python |
| sabnzbd-mcp | MCP server for SABnzbd download management | Python |
| jellyfin-mcp | MCP server for Jellyfin — search, playback, metadata, admin | Go |
| zotero-mcp | Connect Zotero research library with AI assistants | Python |
| annas-mcp | Anna's Archive search/download (SokolskyNikita fork); needs cookie/API key | Go |
| bitwarden-mcp | Official Bitwarden vault, login, Send, org management | TypeScript |
| mcp-email-server | Send, receive, search email over IMAP/SMTP | Python |
| namecheap-mcp | Namecheap DNS, domains, contacts, registrar lock | TypeScript |
| navidrome-mcp | Navidrome music library search, playlists, radio, playback | TypeScript |
| ovhcloud-mcp | OVHcloud VPS, domains, DNS, billing, SSH, API explorer | TypeScript |
| slskd-mcp | slskd (Soulseek) search, download, peer browsing, private messages | Python |
| mcp-score | AI-driven music score generation and MuseScore live control | Python |
## Home Manager Modules
The flake also exports reusable Home Manager modules:
```nix
home-manager.sharedModules = [
mcp-servers.homeManagerModules.mcp-gateway
mcp-servers.homeManagerModules.ssh-mcp
];
```
- `services.mcp-gateway` renders `gateway.yaml` from Nix options.
- `services.ssh-mcp.instances.<name>` renders per-instance `hosts.toml` and
`known_hosts` files and exposes a `gatewayBackend` helper.
See [docs/mcp-gateway.md](docs/mcp-gateway.md) and
[docs/ssh-mcp.md](docs/ssh-mcp.md).
## Usage
### Using the Overlay (Recommended)
Add this flake to your inputs and apply the overlay:
```nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
mcp-servers.url = "git+ssh://gitea@gitea.bueso.eu/luis/mcp-servers";
};
outputs = { self, nixpkgs, ... }: {
# Apply the overlay to get packages in pkgs
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
nixpkgs.overlays = [ mcp-servers.overlays.default ];
}
# Now you can use pkgs.manim-mcp-server
];
};
};
}
```
### Using Packages Directly
Access packages without the overlay:
```nix
{
mcp-servers.url = "git+ssh://gitea@gitea.bueso.eu/luis/mcp-servers";
outputs = { mcp-servers, ... }: {
# Access directly
myPackage = mcp-servers.packages.x86_64-linux.manim-mcp-server;
};
}
```
## License
Each packaged MCP server retains its original license. The Nix expressions in this repository are provided as-is.