102 lines
5.1 KiB
Markdown
102 lines
5.1 KiB
Markdown
# 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.
|