feat: refactor mcp configuration to separate programs and custom servers

This commit is contained in:
2025-06-20 14:37:53 +02:00
parent 6aeb0c9f89
commit 03d3ff5712

View File

@@ -10,8 +10,7 @@ let
# 3. Build the JSON configuration string with exactly fetch, memory, and brave-search. # 3. Build the JSON configuration string with exactly fetch, memory, and brave-search.
# We assume you store your Brave Search API key in "~/.config/mcp-servers/brave.env" # We assume you store your Brave Search API key in "~/.config/mcp-servers/brave.env"
mcpConfig = mcpServers.lib.mkConfig pkgs { mcpPrograms = {
programs = {
# fetch.enable = true; # fetch.enable = true;
filesystem = { filesystem = {
enable = true; enable = true;
@@ -28,13 +27,25 @@ let
envFile = "/home/${builtins.getEnv "USER"}/.config/mcp-servers/brave.env"; envFile = "/home/${builtins.getEnv "USER"}/.config/mcp-servers/brave.env";
}; };
}; };
settings = { customServers = {
mcpServers = {
nixos = { nixos = {
command = "nix"; command = "nix";
args = ["run" "github:utensils/mcp-nixos" "--"]; args = ["run" "github:utensils/mcp-nixos" "--"];
}; };
}; };
rooCodeMcp = mcpServers.lib.mkConfig pkgs {
programs = mcpPrograms;
settings = {
mcpServers = customServers;
};
};
vscodeMcp = mcpServers.lib.mkConfig pkgs {
flavor = "vscode-workspace";
programs = mcpPrograms;
settings = {
servers = customServers;
}; };
}; };
@@ -50,8 +61,18 @@ pkgs.mkShell {
echo "Removing old mcp.json" echo "Removing old mcp.json"
rm ./.roo/mcp.json rm ./.roo/mcp.json
fi fi
echo "Generating mcp.json" mkdir -p ./.roo
ln -s ${builtins.toString mcpConfig} ./.roo/mcp.json echo "Generating roo code mcp.json"
ln -s ${builtins.toString rooCodeMcp} ./.roo/mcp.json
echo " mcp.json has been created."
if [ -f ./.vscode/mcp.json ]; then
echo "Removing old mcp.json"
rm ./.vscode/mcp.json
fi
mkdir -p ./.vscode
echo "Generating vscode mcp.json"
ln -s ${builtins.toString vscodeMcp} ./.vscode/mcp.json
echo " mcp.json has been created." echo " mcp.json has been created."
''; '';
} }