Initial commit: MCP server packages for Nix

- Add flake structure with overlay and packages exports
- Add manim-mcp-server as first packaged MCP server
- Add README.org with usage instructions and package templates
- Add packages/default.nix as package aggregator
- Add overlays/default.nix for nixpkgs integration
This commit is contained in:
MCP Packages
2026-02-04 15:35:12 +01:00
commit b467013c12
8 changed files with 732 additions and 0 deletions

16
packages/default.nix Normal file
View File

@@ -0,0 +1,16 @@
# MCP Server Packages
#
# This file aggregates all MCP server packages in this repository.
# To add a new package:
# 1. Create a directory: packages/<package-name>/
# 2. Create package.nix in that directory
# 3. Add an entry below using callPackage
#
{ pkgs }:
{
manim-mcp-server = pkgs.callPackage ./manim-mcp-server/package.nix { };
# Add new packages here:
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
}

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
python3,
manim,
}:
let
python = python3.withPackages (
ps: with ps; [
mcp
fastmcp
]
);
in
stdenv.mkDerivation rec {
pname = "manim-mcp-server";
version = "0.0.1-unstable";
src = fetchFromGitHub {
owner = "abhiemj";
repo = "manim-mcp-server";
rev = "da23214426a56ce3ba4da39b0718d64cf97cd23c";
hash = "sha256-orR3CtFiSucErPJzIF0Si4s16LH1d+ZhyUKo6PC966I=";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib/manim-mcp-server
cp src/manim_server.py $out/lib/manim-mcp-server/
makeWrapper ${python}/bin/python $out/bin/manim-mcp-server \
--add-flags "$out/lib/manim-mcp-server/manim_server.py" \
--set MANIM_EXECUTABLE "${manim}/bin/manim"
runHook postInstall
'';
meta = with lib; {
description = "MCP server that executes Manim animation code and returns generated videos";
homepage = "https://github.com/abhiemj/manim-mcp-server";
license = licenses.mit;
maintainers = [ ];
mainProgram = "manim-mcp-server";
platforms = platforms.all;
};
}