MCP服务器集合

一个使用Nix打包的即用型MCP服务器集合,支持快速部署和配置。

  • by higherorderfunctor
  • Nix
  • 本地部署
  • 更新于
在 GitHub 查看 higherorderfunctor/nix-mcp-servers

使用说明

nix mcp服务器

现成的集合 MCP服务器 用Nix包装。

快速开始

添加为薄片输入:

{
  inputs.nix-mcp-servers = {
    url = "github:caubut/nix-mcp-servers";
    inputs.nixpkgs.follows = "nixpkgs";
  };
}

应用覆盖层:

overlays = [ inputs.nix-mcp-servers.overlays.default ];

二进制缓存

预构建的二进制文件可通过以下方式获得 Cachix.添加缓存以跳过从源构建:

# NixOS
nix.settings = {
  extra-substituters = [ "https://hof-nix-mcp-servers.cachix.org" ];
  extra-trusted-public-keys = [ "hof-nix-mcp-servers.cachix.org-1:UeB1pQXJ3uQHKVDB8zsbztxmzBBqcTrIAKGGv3AWwPY=" ];
};

对于非NixOS系统,请添加 ~/.config/nix/nix.conf:

extra-substituters = https://hof-nix-mcp-servers.cachix.org
extra-trusted-public-keys = hof-nix-mcp-servers.cachix.org-1:UeB1pQXJ3uQHKVDB8zsbztxmzBBqcTrIAKGGv3AWwPY=

家庭经理

启用模块并以声明方式配置服务器:

{
  imports = [ inputs.nix-mcp-servers.homeManagerModules.default ];

  services.mcp-servers = {
    enable = true;

    servers.<server-name>.enable = true;
  };
}

将生成的配置写入MCP客户端:

home.file.".config/claude/mcp.json".text =
  builtins.toJSON config.services.mcp-servers.mcpConfig;

服务器与 transport = "http" 自动获取systemd用户服务。

更新

nix run .#update

更新薄片输入,通过nvfetcher刷新上游版本,重新生成锁文件和哈希值,然后使用验证 nix flake show.

贡献

欢迎新服务器的问题和PR。

先决条件

  • 无 启用薄片
  • 可选: direnv 和 nix目录 自动 加载flake开发shell(.envrc 用途 use flake 这需要nix direnv)

发展

输入所有工具(linter、formaters、LSP、nvfetcher)的开发shell:

nix develop

检查工具漂移(检测上游服务器中添加/删除的工具):

nix run .#check-drift

运行所有抽检和评估检查:

nix flake check

代理工作流程

该仓库是为人工智能辅助维护而设置的,使用 GitHub Copilot命令行界面 或 克劳德代码。两者都可以阅读 CLAUDE.md 项目惯例。

要在本地自动修复漂移报告,请执行以下操作:

# Run drift detection (logs visible on stderr, JSON report saved)
nix run .#check-drift > >(tee /tmp/drift-report.json) 2> >(tee /tmp/drift-log.txt >&2)

# Feed to Copilot CLI (with Claude model) to fix
gh copilot --model claude-sonnet-4.6
# Then: "Fix the tool drift in /tmp/drift-report.json per CLAUDE.md"

# Or with Claude Code
claude
# Then: "Fix the tool drift in /tmp/drift-report.json per CLAUDE.md"