diff --git a/pkgs/by-name/mc/mcp-server-fetch/package.nix b/pkgs/by-name/mc/mcp-server-fetch/package.nix new file mode 100644 index 000000000000..4030c46e1118 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-fetch/package.nix @@ -0,0 +1,49 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "mcp-server-fetch"; + version = "2026.1.26-unstable-2026-05-17"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + rev = "f4244583a6af9425633e433a3eec000d23f4e011"; + hash = "sha256-bHknioQu8i5RcFlBBdXUQjsV4WN1IScnwohGRxXgGDk="; + }; + + sourceRoot = "${finalAttrs.src.name}/src/fetch/"; + + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + httpx + markdownify + mcp + protego + pydantic + readabilipy + requests + ]; + + # Tests require network access + doCheck = false; + + pythonImportsCheck = [ "mcp_server_fetch" ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-fetch"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/mc/mcp-server-filesystem/package.nix b/pkgs/by-name/mc/mcp-server-filesystem/package.nix new file mode 100644 index 000000000000..190cba24a12d --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-filesystem/package.nix @@ -0,0 +1,45 @@ +{ + lib, + buildNpmPackage, + typescript, + fetchFromGitHub, +}: + +buildNpmPackage (finalAttrs: { + pname = "mcp-server-filesystem"; + version = "2026.1.26"; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + nativeBuildInputs = [ + typescript + ]; + + dontNpmPrune = true; + npmWorkspace = "src/filesystem"; + npmDepsHash = "sha256-jmz4JdpeHH07vJQFntBwrENbJaIcOuZMb7+qf497VOE="; + + # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed + postInstall = '' + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-filesystem + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-memory + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-everything + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-sequential-thinking + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/.bin + ''; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "MCP server for filesystem access"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-filesystem"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/mc/mcp-server-git/package.nix b/pkgs/by-name/mc/mcp-server-git/package.nix new file mode 100644 index 000000000000..f5f78899a692 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-git/package.nix @@ -0,0 +1,47 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "mcp-server-git"; + version = "2026.1.26"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + sourceRoot = "${finalAttrs.src.name}/src/git/"; + + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + click + gitpython + mcp + pydantic + ]; + + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "mcp_server_git" ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "Model Context Protocol server providing tools to read, search, and manipulate Git repositories programmatically via LLMs"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-git"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/mc/mcp-server-memory/package.nix b/pkgs/by-name/mc/mcp-server-memory/package.nix new file mode 100644 index 000000000000..8ce6a1dd34e9 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-memory/package.nix @@ -0,0 +1,45 @@ +{ + lib, + buildNpmPackage, + typescript, + fetchFromGitHub, +}: + +buildNpmPackage (finalAttrs: { + pname = "mcp-server-memory"; + version = "2026.1.26"; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + nativeBuildInputs = [ + typescript + ]; + + dontNpmPrune = true; + npmWorkspace = "src/memory"; + npmDepsHash = "sha256-jmz4JdpeHH07vJQFntBwrENbJaIcOuZMb7+qf497VOE="; + + # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed + postInstall = '' + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-filesystem + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-memory + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-everything + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-sequential-thinking + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/.bin + ''; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "MCP server for enabling memory for Claude through a knowledge graph"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-memory"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/mc/mcp-server-sequential-thinking/package.nix b/pkgs/by-name/mc/mcp-server-sequential-thinking/package.nix new file mode 100644 index 000000000000..3fd8b4ba0ec5 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-sequential-thinking/package.nix @@ -0,0 +1,45 @@ +{ + lib, + buildNpmPackage, + typescript, + fetchFromGitHub, +}: + +buildNpmPackage (finalAttrs: { + pname = "mcp-server-sequential-thinking"; + version = "2026.1.26"; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + nativeBuildInputs = [ + typescript + ]; + + dontNpmPrune = true; + npmWorkspace = "src/sequentialthinking"; + npmDepsHash = "sha256-jmz4JdpeHH07vJQFntBwrENbJaIcOuZMb7+qf497VOE="; + + # TODO: revisit this when https://github.com/NixOS/nixpkgs/pull/333759 has landed + postInstall = '' + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-filesystem + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-memory + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-everything + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/@modelcontextprotocol/server-sequential-thinking + rm -rf $out/lib/node_modules/@modelcontextprotocol/servers/node_modules/.bin + ''; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "MCP server for sequential thinking and problem solving"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-memory"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/mc/mcp-server-time/package.nix b/pkgs/by-name/mc/mcp-server-time/package.nix new file mode 100644 index 000000000000..0739e45953e3 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-time/package.nix @@ -0,0 +1,48 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "mcp-server-time"; + version = "2026.1.26"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + sourceRoot = "${finalAttrs.src.name}/src/time/"; + + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + mcp + pydantic + tzdata + tzlocal + ]; + + nativeCheckInputs = with python3Packages; [ + freezegun + pytestCheckHook + ]; + + pythonImportsCheck = [ "mcp_server_time" ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "Model Context Protocol server providing tools for time queries and timezone conversions for LLMs"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-git"; + platforms = lib.platforms.all; + }; +})