From b8aa12c37c12a311e5b52dc94836aabb79afc72a Mon Sep 17 00:00:00 2001 From: Gregory Gauthier Date: Fri, 17 Apr 2026 14:13:33 +0100 Subject: [PATCH] chore(config): update MCP server paths to new ~/Projects/local/mcp_servers/ location Relocate references and commands for MCP servers from ./mcps/ to ~/Projects/local/mcp_servers/ across context files, README, CLAUDE.md, config JSON, and launch scripts. This includes cd commands, tool prefixes, and prompt references to reflect the new directory structure while maintaining provider-agnostic workflows. No functional changes to MCP behavior. --- .grok/context.md | 6 +++--- CLAUDE.md | 2 +- README.md | 8 ++++---- config/claude_desktop_config.json | 10 +++++----- mcps/dicom_mcp/run_dicom_mcp_server.sh | 2 +- mcps/filesystem_mcp/launch_filesystem_mcp.sh | 2 +- mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh | 2 +- mcps/playwright_mcp/launch_playwright_mcp.sh | 2 +- mcps/selenium_mcp/launch_selenium_mcp_server.sh | 2 +- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.grok/context.md b/.grok/context.md index d772b54..a10ab64 100644 --- a/.grok/context.md +++ b/.grok/context.md @@ -4,7 +4,7 @@ This document provides persistent context, best practices, and usage patterns fo ## Core Principles - **Provider Agnostic**: All documentation, prompts, and workflows should work for Claude, Grok, or any MCP-compatible LLM. Avoid platform-specific assumptions (e.g., prefer MCP tools over Claude-only skills where possible). Update README.md, SKILL.md, and sub-READMEs accordingly. -- **MCP-First**: Leverage the built-in MCP tools exposed in Grok CLI (prefixed `mcp_dicom-mcp__*`, `mcp_filesystem-mcp__*`, `mcp_playwright-mcp__*`, `mcp_selenium-mcp__*`, `mcp_github__*`, `mcp_us-weather-mcp__*`, etc.). These map directly to the MCP servers in `./mcps/`. +- **MCP-First**: Leverage the built-in MCP tools exposed in Grok CLI (prefixed `mcp_dicom-mcp__*`, `mcp_filesystem-mcp__*`, `mcp_playwright-mcp__*`, `mcp_selenium-mcp__*`, `mcp_github__*`, `mcp_us-weather-mcp__*`, etc.). These map directly to the MCP servers now located in `~/Projects/local/mcp_servers/`. - **Sub-Agent System**: Use the `task` tool proactively: - `general`: Multi-step execution, editing, implementation. - `explore`: Fast read-only research, reviews, "how does this work?". @@ -32,7 +32,7 @@ This document provides persistent context, best practices, and usage patterns fo - **Context Management**: This file + `.grokignore` keep context lean. Avoid loading binaries, large dirs, or node_modules. Explicitly include key files (README.md, SKILL.md, specific MCP docs) when needed. ## Key Directories & When to Use -- **mcps/**: Launch MCP servers via scripts (e.g., `bash mcps/dicom_mcp/run_dicom_mcp_server.sh`). Use corresponding `mcp_*` tools in Grok. +- **mcps/** (or the new `~/Projects/local/mcp_servers/` location): Launch MCP servers via scripts (e.g., `bash ~/Projects/local/mcp_servers/dicom_mcp/run_dicom_mcp_server.sh` or from the local mcps/ wrapper). Use corresponding `mcp_*` tools in Grok. - dicom_mcp: QA for DICOM (Dixon, SNR, metadata, rendering, validation). Start here for medical imaging tasks. See mcps/dicom_mcp/README.md + docs/. - Others: filesystem (ops), open_meteo (weather), playwright/selenium (browser automation/testing). - **skills/**: Reusable agent instructions. Read `SKILL.md` files for patterns (e.g., mcp-builder for new MCPs, artifacts-builder for UIs, document-skills for Office/PDF). Adapt YAML frontmatter + guidelines into prompts or custom tools. `mcp-builder/SKILL.md` is especially valuable for extending this repo. @@ -55,6 +55,6 @@ This document provides persistent context, best practices, and usage patterns fo - Browser: `mcp_playwright-mcp__browser_navigate` or `mcp_selenium-mcp__selenium_navigate`. - Weather: `mcp_uk-weather-mcp__get_forecast` or open-meteo equivalent. -Refer to this file in prompts: "Follow the Grok CLI context in .grok/context.md, the updated README.md, and relevant SKILL.md files. Keep all outputs provider-agnostic." +Refer to this file in prompts: "Follow the Grok CLI context in .grok/context.md (and the shared CONTEXT.md / CLAUDE.md), the updated README.md, and relevant SKILL.md files. Keep all outputs provider-agnostic. The MCP servers are now at ~/Projects/local/mcp_servers/." Update this context.md as the repo evolves (e.g., new MCPs, refined workflows). For full tool list, inspect available tools or run `grep -o 'mcp_[^ ]*' -r . --include="*.py" | sort | uniq`. \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 0151575..f2de9ba 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -64,7 +64,7 @@ When using a skill, follow its `SKILL.md` exactly, including the YAML frontmatte - **Commands**: ```bash # Python MCP setup (e.g. dicom) - cd mcps/dicom_mcp + cd ~/Projects/local/mcp_servers/dicom_mcp poetry install --with dev poetry run pytest -v --tb=short diff --git a/README.md b/README.md index f93e310..b0a465d 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ The root `.mcp.json` registers all MCP servers for clients that support it (e.g. - **For Claude Code**: Open the project; `.claude/settings.local.json` enables servers and skills. The `.mcp.json` makes tools available. - **For Claude Desktop**: Update `config/claude_desktop_config.json` (it currently contains absolute user-specific paths — replace with your own or use `~` equivalents), then copy/symlink to your config directory (typically `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS). -- **For Grok CLI Agent mode**: Many MCPs are available as pre-registered tools (prefixed `mcp_dicom-mcp__*`, `mcp_filesystem-mcp__*`, `mcp_playwright-mcp__*`, `mcp_selenium-mcp__*`, `mcp_us-weather-mcp__*`, etc.). Use them directly via function calls, or leverage `task` (for sub-agents like `general`, `explore`, `verify`, `computer`), `delegate`, and built-in tools like `computer_*` for desktop interaction. No extra registration needed in most cases. +- **For Grok CLI Agent mode**: Many MCPs are available as pre-registered tools (prefixed `mcp_dicom-mcp__*`, `mcp_filesystem-mcp__*`, `mcp_playwright-mcp__*`, `mcp_selenium-mcp__*`, `mcp_us-weather-mcp__*`, etc.). The servers are now located at `~/Projects/local/mcp_servers/`. Use the `mcp_*` tools directly via function calls, or leverage `task` (for sub-agents like `general`, `explore`, `verify`, `computer`), `delegate`, and built-in tools like `computer_*` for desktop interaction. No extra registration needed in most cases. - **General**: See individual MCP READMEs for Poetry setup, launch commands (stdio vs HTTP), and platform-specific config examples. Most support the official MCP spec (https://modelcontextprotocol.info/docs/). **Note on paths**: The `config/claude_desktop_config.json` has hardcoded absolute paths from a previous location (`/Users/.../pd/claude-tools`). Update these to match your current directory (`/Users/gregory.gauthier/Projects/local/llm-tools`) or generalize with environment variables/`~`. @@ -106,11 +106,11 @@ Additional MCP support (e.g., GitHub, US/UK weather) appears in some environment - **.grok/context.md**: Persistent context document automatically referenced by Grok CLI. It includes: - Core principles for provider-agnostic workflows. - Sub-agent and tool preferences (e.g., proactive use of `task` with `explore`/`general`/`verify`/`computer`, `edit_file` over broad edits). - - Directory guidance, best practices for MCP usage, DICOM QA, browser automation, and extending the repo. + - Directory guidance (MCP servers now live at `~/Projects/local/mcp_servers/`), best practices for MCP usage, DICOM QA, browser automation, and extending the repo. - Quick examples for common `mcp_*` tool calls. -- Usage: Grok CLI will include `.grok/context.md` by default. Reference it explicitly in prompts: "Follow the Grok CLI context in .grok/context.md, the updated README.md, and relevant SKILL.md files. Keep all outputs and changes provider-agnostic." +- Usage: Grok CLI will include `.grok/context.md` by default. Reference it explicitly in prompts: "Follow the Grok CLI context in .grok/context.md (and the shared CONTEXT.md / CLAUDE.md), the updated README.md, and relevant SKILL.md files. Keep all outputs and changes provider-agnostic. The MCP servers are now at ~/Projects/local/mcp_servers/." -These files make Grok CLI Agent mode first-class in this repository alongside Claude support. See `.grok/context.md` for detailed best practices, workflow priorities, and MCP examples. +These files (plus the new root CONTEXT.md and CLAUDE.md) make Grok CLI Agent mode first-class in this repository alongside Claude support. See `.grok/context.md` for detailed best practices, workflow priorities, and MCP examples. No `.grok/user-settings.json` was present (none needed for the MCP path change). ## Contributing diff --git a/config/claude_desktop_config.json b/config/claude_desktop_config.json index 9147e8a..338ef6a 100644 --- a/config/claude_desktop_config.json +++ b/config/claude_desktop_config.json @@ -1,24 +1,24 @@ { "mcpServers": { "dicom-mcp": { - "command": "/Users/gregory.gauthier/Projects/local/llm-tools/mcps/dicom_mcp/run_dicom_mcp_server.sh" + "command": "/Users/gregory.gauthier/Projects/local/mcp_servers/dicom_mcp/run_dicom_mcp_server.sh" }, "filesystem": { "command": "zsh", - "args": ["/Users/gregory.gauthier/Projects/local/llm-tools/mcps/filesystem_mcp/launch_filesystem_mcp.sh"], + "args": ["/Users/gregory.gauthier/Projects/local/mcp_servers/filesystem_mcp/launch_filesystem_mcp.sh"], "env": { "MCP_LOG_LEVEL": "debug", "MCP_TRANSPORT_TYPE": "stdio" } }, "open-meteo-mcp": { - "command": "/Users/gregory.gauthier/Projects/local/llm-tools/mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh" + "command": "/Users/gregory.gauthier/Projects/local/mcp_servers/open_meteo_mcp/run_open_meteo_mcp_server.sh" }, "playwright-mcp": { - "command": "/Users/gregory.gauthier/Projects/local/llm-tools/mcps/playwright_mcp/launch_playwright_mcp.sh" + "command": "/Users/gregory.gauthier/Projects/local/mcp_servers/playwright_mcp/launch_playwright_mcp.sh" }, "selenium-mcp": { - "command": "/Users/gregory.gauthier/Projects/local/llm-tools/mcps/selenium_mcp/launch_selenium_mcp_server.sh" + "command": "/Users/gregory.gauthier/Projects/local/mcp_servers/selenium_mcp/launch_selenium_mcp_server.sh" } }, "preferences": { diff --git a/mcps/dicom_mcp/run_dicom_mcp_server.sh b/mcps/dicom_mcp/run_dicom_mcp_server.sh index 4af5cf3..c3a8d78 100755 --- a/mcps/dicom_mcp/run_dicom_mcp_server.sh +++ b/mcps/dicom_mcp/run_dicom_mcp_server.sh @@ -10,6 +10,6 @@ else fi # shellcheck disable=SC2164 -cd "${PATH_PREFIX}/mcp_servers/dicom_mcp" +cd "${PATH_PREFIX}/local/mcp_servers/dicom_mcp" poetry run python ./dicom_mcp diff --git a/mcps/filesystem_mcp/launch_filesystem_mcp.sh b/mcps/filesystem_mcp/launch_filesystem_mcp.sh index 9954317..3332658 100755 --- a/mcps/filesystem_mcp/launch_filesystem_mcp.sh +++ b/mcps/filesystem_mcp/launch_filesystem_mcp.sh @@ -11,7 +11,7 @@ if command -v node >/dev/null 2>&1; then MCP_LOG_LEVEL=debug \ MCP_TRANSPORT_TYPE=stdio \ - node "/Users/gregory.gauthier/.nvm/versions/node/v22.19.0/lib/node_modules/@cyanheads/filesystem-mcp-server/dist/index.js" \ + node "~/Projects/local/mcp_servers/filesystem_mcp/dist/index.js" \ 2> filesystem_mcp.log else echo "Error: Node.js not found!" >&2 diff --git a/mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh b/mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh index af6167b..5e9125c 100755 --- a/mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh +++ b/mcps/open_meteo_mcp/run_open_meteo_mcp_server.sh @@ -10,5 +10,5 @@ else fi # shellcheck disable=SC2164 -cd "${PATH_PREFIX}/mcp_servers/open_meteo_mcp" +cd "${PATH_PREFIX}/local/mcp_servers/open_meteo_mcp" poetry run open-meteo-mcp-stdio diff --git a/mcps/playwright_mcp/launch_playwright_mcp.sh b/mcps/playwright_mcp/launch_playwright_mcp.sh index ac40827..135ed6a 100755 --- a/mcps/playwright_mcp/launch_playwright_mcp.sh +++ b/mcps/playwright_mcp/launch_playwright_mcp.sh @@ -10,7 +10,7 @@ else fi # shellcheck disable=SC2164 -cd "${PATH_PREFIX}/mcp_servers/playwright_mcp" +cd "${PATH_PREFIX}/local/mcp_servers/playwright_mcp" # Install dependencies if not present if [[ ! -d "node_modules" ]]; then diff --git a/mcps/selenium_mcp/launch_selenium_mcp_server.sh b/mcps/selenium_mcp/launch_selenium_mcp_server.sh index 56c0ca3..fde3d9c 100755 --- a/mcps/selenium_mcp/launch_selenium_mcp_server.sh +++ b/mcps/selenium_mcp/launch_selenium_mcp_server.sh @@ -10,5 +10,5 @@ else fi # shellcheck disable=SC2164 -cd "${PATH_PREFIX}/mcp_servers/selenium_mcp" +cd "${PATH_PREFIX}/local/mcp_servers/selenium_mcp" poetry run selenium-mcp-stdio