使用说明

项目简介

'nix-mcp-servers' 仓库提供了一系列预打包的 MCP (Model Context Protocol) 服务器,旨在简化 MCP 服务器的部署和管理。通过使用 Nix 包管理器,用户可以轻松安装和运行各种功能的 MCP 服务器,为 LLM 应用提供丰富的上下文数据和工具支持。

主要功能点

  • 预配置多种 MCP 服务器: 仓库包含多个实用的 MCP 服务器实现,例如 'github-mcp-server' (GitHub 数据访问), 'mcp-neo4j-cypher' (Neo4j 数据库查询), 'mcp-server-filesystem' (文件系统访问), 'mcp-server-tmdb' (TMDB 电影数据库访问) 等。
  • Nix 包管理: 使用 Nix 包管理器进行构建和安装,保证了环境的一致性和可复现性,方便管理和升级。
  • 快速启动: 支持使用 'nix run' 命令直接运行 MCP 服务器,方便快速测试和开发。
  • 灵活安装: 支持通过 NixOS 系统配置或 home-manager 进行安装,方便集成到现有的 Nix 环境中。

安装步骤

  1. 确保已安装 Nix 包管理器。如果尚未安装,请根据 Nix 官方文档进行安装。

  2. 在你的 'flake.nix' 文件中添加 'nix-mcp-servers' 作为输入

    inputs.nix-mcp-servers.url = "github:cameronfyfe/nix-mcp-servers";
  3. 将所需的 MCP 服务器包添加到 'environment.systemPackages' (NixOS) 或 'home.packages' (home-manager)。例如,要安装 'github-mcp-server':

    {
      inputs,
      outputs,
      config,
      pkgs,
      ...
    }: {
      environment.systemPackages = [
        ...
        inputs.nix-mcp-servers.packages.${pkgs.system}.github-mcp-server
        ...
      ];
    };

    或对于 home-manager:

    {
      inputs,
      outputs,
      config,
      pkgs,
      lib,
      ...
    }: {
      home.packages = [
        ...
        inputs.nix-mcp-servers.packages.${pkgs.system}.github-mcp-server
        ...
      ];
    };
  4. 更新你的 NixOS 配置或 home-manager 配置 以应用更改。例如,在 NixOS 中运行 'sudo nixos-rebuild switch',或在 home-manager 中运行 'home-manager switch'。

服务器配置

对于 MCP 客户端,你需要配置连接到 MCP 服务器的信息。以下是 'github-mcp-server' 的配置示例(JSON 格式):

{
  "server_name": "github-mcp-server",
  "command": "nix run github:cameronfyfe/nix-mcp-servers#github-mcp-server",
  "args": ["stdio"]
}
  • 'server_name': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动服务器的命令。这里使用 'nix run' 直接运行 Nix 包。
  • 'args': 传递给服务器启动命令的参数。 'stdio' 参数表示使用标准输入/输出 (stdio) 作为 MCP 通信协议。

基本使用方法

  1. 安装 MCP 服务器: 按照上述安装步骤,使用 Nix 包管理器安装你需要的 MCP 服务器。
  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置服务器连接信息,例如上面提供的 JSON 配置。确保 'command' 配置正确,以便客户端能够启动和连接到服务器。
  3. 运行 MCP 服务器: 当 MCP 客户端尝试连接服务器时,客户端会根据配置的 'command' 启动 MCP 服务器。如果使用 'nix run' 命令,服务器会在需要时自动启动。
  4. 通过 MCP 客户端与服务器交互: 使用 MCP 客户端提供的界面或 API,调用服务器提供的资源、工具或 Prompt 模板,以增强 LLM 应用的功能。

注意: 不同的 MCP 服务器可能有不同的配置需求和功能特点,请参考各个服务器的文档或源代码以获取更详细的信息。

信息

分类

开发者工具