feat: refactor mcp configuration to separate programs and custom servers
This commit is contained in:
71
shell.nix
71
shell.nix
@@ -10,31 +10,42 @@ 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;
|
args = [ "/home/${builtins.getEnv "USER"}/projects/cloonar/cloonar-nixos/" ];
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
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 = {
|
settings = {
|
||||||
mcpServers = {
|
mcpServers = customServers;
|
||||||
nixos = {
|
};
|
||||||
command = "nix";
|
};
|
||||||
args = ["run" "github:utensils/mcp-nixos" "--"];
|
|
||||||
};
|
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."
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user