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,31 +10,42 @@ let
# 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"
mcpConfig = mcpServers.lib.mkConfig pkgs {
programs = {
# fetch.enable = true;
filesystem = {
enable = true;
args = [ "/home/${builtins.getEnv "USER"}/projects/cloonar/cloonar-nixos/" ];
};
git = {
enable = true;
args = [ "/home/${builtins.getEnv "USER"}/projects/cloonar/cloonar-nixos/" ];
};
sequential-thinking.enable = true;
# memory.enable = true;
"brave-search" = {
enable = true;
envFile = "/home/${builtins.getEnv "USER"}/.config/mcp-servers/brave.env";
};
mcpPrograms = {
# fetch.enable = true;
filesystem = {
enable = true;
args = [ "/home/${builtins.getEnv "USER"}/projects/cloonar/cloonar-nixos/" ];
};
git = {
enable = true;
args = [ "/home/${builtins.getEnv "USER"}/projects/cloonar/cloonar-nixos/" ];
};
sequential-thinking.enable = true;
# memory.enable = true;
"brave-search" = {
enable = true;
envFile = "/home/${builtins.getEnv "USER"}/.config/mcp-servers/brave.env";
};
};
customServers = {
nixos = {
command = "nix";
args = ["run" "github:utensils/mcp-nixos" "--"];
};
};
rooCodeMcp = mcpServers.lib.mkConfig pkgs {
programs = mcpPrograms;
settings = {
mcpServers = {
nixos = {
command = "nix";
args = ["run" "github:utensils/mcp-nixos" "--"];
};
};
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"
rm ./.roo/mcp.json
fi
echo "Generating mcp.json"
ln -s ${builtins.toString mcpConfig} ./.roo/mcp.json
mkdir -p ./.roo
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."
'';
}