configure-mcp-server
About
This skill configures MCP servers to connect Claude Code and Claude Desktop with tools like R via mcptools. It handles setup, Hugging Face integration, WSL paths, and multi-client configuration. Use it when establishing or troubleshooting MCP connectivity between Claude clients and various servers.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/configure-mcp-serverCopy and paste this command in Claude Code to install this skill
Documentation
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 listshows 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.jsonvs%APPDATA%\Claude\) - npx vs global install:
npx mcp-remotemay fail in Claude Desktop context. Install globally w/npm install -g mcp-remote. - mcptools ver: Ensure mcptools up to date. Requires
ellmerpkg as dep.
→
build-custom-mcp-server- creating your own MCP servertroubleshoot-mcp-connection- debugging connection issuessetup-wsl-dev-environment- WSL setup prerequisite
GitHub Repository
Related Skills
qmd
Developmentqmd is a local search and indexing CLI tool that enables developers to index and search through local files using hybrid search combining BM25, vector embeddings, and reranking. It supports both command-line usage and MCP (Model Context Protocol) mode for integration with Claude. The tool uses Ollama for embeddings and stores indexes locally, making it ideal for searching documentation or codebases directly from the terminal.
subagent-driven-development
DevelopmentThis skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
mcporter
DevelopmentThe mcporter skill enables developers to manage and call Model Context Protocol (MCP) servers directly from Claude. It provides commands to list available servers, call their tools with arguments, and handle authentication and daemon lifecycle. Use this skill for integrating and testing MCP server functionality in your development workflow.
adk-deployment-specialist
DevelopmentThis skill deploys and orchestrates Vertex AI ADK agents using A2A protocol, managing AgentCard discovery, task submission, and supporting tools like Code Execution Sandbox and Memory Bank. It enables building multi-agent systems with sequential, parallel, or loop orchestration patterns in Python, Java, or Go. Use it when asked to deploy ADK agents or orchestrate agent workflows on Google Cloud.
