Agent-almanac configure-mcp-server

install
source · Clone the upstream repo
git clone https://github.com/pjt222/agent-almanac
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/caveman-ultra/skills/configure-mcp-server" ~/.claude/skills/pjt222-agent-almanac-configure-mcp-server-e6074e && rm -rf "$T"
manifest: i18n/caveman-ultra/skills/configure-mcp-server/SKILL.md
source content

Configure MCP Server

Set up MCP server connections for Claude Code (WSL) + Claude Desktop (Windows).

Use When

  • Setting up Claude Code to connect to R via mcptools
  • Configuring Claude Desktop w/ MCP servers
  • Adding Hugging Face or other remote MCP servers
  • Troubleshooting MCP connectivity between tools

In

  • Required: MCP server type (mcptools, Hugging Face, custom)
  • Required: Client (Claude Code, Claude Desktop, or both)
  • Optional: Auth tokens
  • Optional: Custom server impl

Do

Step 1: Install MCP Server Packages

For R (mcptools):

install.packages("remotes")
remotes::install_github("posit-dev/mcptools")

For Hugging Face:

npm install -g mcp-remote

mcptools
installs from GitHub + loads in R w/o errs.
mcp-remote
avail globally via
which mcp-remote
or
npm list -g mcp-remote
.

If err:

mcptools
→ ensure
remotes
installed first. GitHub rate-limits install → set
GITHUB_PAT
in
~/.Renviron
.
mcp-remote
→ valid. Node.js + npm installed + on PATH.

Step 2: Configure Claude Code (WSL)

R mcptools server:

claude mcp add r-mcptools stdio \
  "/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe" \
  -- -e "mcptools::mcp_server()"

Hugging Face server:

claude mcp add hf-mcp-server \
  -e HF_TOKEN=your_token_here \
  -- mcp-remote https://huggingface.co/mcp

Verify config:

claude mcp list
claude mcp get r-mcptools

claude mcp list
shows both
r-mcptools
+
hf-mcp-server
(or whichever added).
claude mcp get r-mcptools
displays correct cmd + args.

If err: Server not in list → valid.

~/.claude.json
contains correct entry.
claude
cmd not found → add to PATH:
export PATH="$HOME/.claude/local/node_modules/.bin:$PATH"
.

Step 3: Configure Claude Desktop (Windows)

Edit

%APPDATA%\Claude\claude_desktop_config.json
:

{
  "mcpServers": {
    "r-mcptools": {
      "command": "C:\\PROGRA~1\\R\\R-45~1.0\\bin\\x64\\Rscript.exe",
      "args": ["-e", "mcptools::mcp_server()"]
    },
    "hf-mcp-server": {
      "command": "mcp-remote",
      "args": ["https://huggingface.co/mcp"],
      "env": {
        "HF_TOKEN": "your_token_here"
      }
    }
  }
}

Important: Use 8.3 short paths for Windows dirs w/ spaces (

PROGRA~1
not
Program Files
). Use env vars for tokens, not
--header
args.

JSON config file at

%APPDATA%\Claude\claude_desktop_config.json
valid JSON w/ correct server entries. Claude Desktop shows MCP server indicators post-restart.

If err: Valid. JSON w/ linter (e.g.,

jq . < config.json
). Use 8.3 short paths (
PROGRA~1
) if Windows path spaces cause parse errs. Ensure Claude Desktop fully restarted (not just minimized).

Step 4: Configure R Session for MCP

Add to project

.Rprofile
:

if (requireNamespace("mcptools", quietly = TRUE)) {
  mcptools::mcp_session()
}

Starts MCP session auto when opening project in RStudio.

.Rprofile
conditionally starts
mcptools::mcp_session()
when project opened in RStudio → MCP tools avail auto.

If err:

mcptools
not found at session start → valid. installed in library RStudio uses (check
.libPaths()
). Using renv → ensure mcptools in renv library.

Step 5: Verify Connections

Test R MCP from WSL:

"/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe" -e "mcptools::mcp_server()"

Test from w/in Claude Code:

Start Claude Code + use MCP tools → they should appear in tool list.

Test Claude Desktop:

Restart Claude Desktop post-config changes. Check for MCP server indicators in UI.

Rscript w/

mcptools::mcp_server()
produces out w/o errs. MCP tools appear in Claude Code tool list during active session. Claude Desktop shows server status post-restart.

If err: Rscript fails → check full path correct (

ls "/mnt/c/Program Files/R/"
to valid. R ver). Tools don't appear in Claude Code → restart session. Claude Desktop → check firewall.

Step 6: Multi-Server Configuration

Both Claude Code + Claude Desktop support multi MCP servers simultaneously:

# Claude Code: add multiple servers
claude mcp add r-mcptools stdio "/path/to/Rscript.exe" -- -e "mcptools::mcp_server()"
claude mcp add hf-mcp-server -e HF_TOKEN=token -- mcp-remote https://huggingface.co/mcp
claude mcp add custom-server stdio "/path/to/server" -- --port 3001

Multi MCP servers config'd + accessible simultaneously.

claude mcp list
shows all. Each server's tools avail in same Claude Code session.

If err: Servers conflict → check each has unique name in config. One server blocks others → valid. servers use non-blocking I/O (stdio transport handles auto).

Check

  • claude mcp list
    shows all config'd servers
  • R MCP server responds to tool calls
  • Hugging Face MCP server auths + responds
  • Both Claude Code + Claude Desktop can connect (if both config'd)
  • MCP tools appear in tool list during sessions

Traps

  • Windows path spaces: Use 8.3 short names or quote paths correct. Diff tools parse paths differently.
  • Token in cmd args: Windows,
    --header "Authorization: Bearer token"
    fails due to parsing. Use env vars instead.
  • Confuse Claude Code + Claude Desktop configs: Separate tools w/ separate config files (
    ~/.claude.json
    vs
    %APPDATA%\Claude\
    )
  • npx vs global install:
    npx mcp-remote
    may fail in Claude Desktop context. Install globally w/
    npm install -g mcp-remote
    .
  • mcptools ver: Ensure mcptools up to date. Requires
    ellmer
    pkg as dep.

  • build-custom-mcp-server
    - creating your own MCP server
  • troubleshoot-mcp-connection
    - debugging connection issues
  • setup-wsl-dev-environment
    - WSL setup prerequisite