configure-mcp-server
About
This skill configures MCP servers for Claude Code and Claude Desktop, covering setup for mcptools, Hugging Face integration, and WSL path handling. It helps developers connect Claude to R via mcptools and troubleshoot MCP connectivity issues. Use it when setting up multi-client configurations or adding remote MCP 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) and Claude Desktop (Windows).
When to Use
- Setting up Claude Code to connect to R via mcptools
- Configuring Claude Desktop with MCP servers
- Adding Hugging Face or other remote MCP servers
- Troubleshooting MCP connectivity between tools
Inputs
- Required: MCP server type (mcptools, Hugging Face, custom)
- Required: Client (Claude Code, Claude Desktop, or both)
- Optional: Authentication tokens
- Optional: Custom server implementation
Procedure
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
Got: mcptools installs from GitHub and loads in R without errors. mcp-remote is available globally via which mcp-remote or npm list -g mcp-remote.
If fail: For mcptools, ensure remotes is installed first. If GitHub rate-limits the install, set a GITHUB_PAT in ~/.Renviron. For mcp-remote, verify Node.js and npm are installed and 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 configuration:
claude mcp list
claude mcp get r-mcptools
Got: claude mcp list shows both r-mcptools and hf-mcp-server (or whichever servers were added). claude mcp get r-mcptools displays the correct command and arguments.
If fail: If the server does not appear in the list, verify ~/.claude.json contains the correct entry. If the claude command is not found, add it 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 directories with spaces (PROGRA~1 not Program Files). Use environment variables for tokens, not --header arguments.
Got: The JSON config file at %APPDATA%\Claude\claude_desktop_config.json is valid JSON with the correct server entries. Claude Desktop shows MCP server indicators after restart.
If fail: Validate the JSON with a linter (e.g., jq . < config.json). Use 8.3 short paths (PROGRA~1) if Windows path spaces cause parsing errors. Ensure Claude Desktop is fully restarted (not merely minimized).
Step 4: Configure R Session for MCP
Add to project .Rprofile:
if (requireNamespace("mcptools", quietly = TRUE)) {
mcptools::mcp_session()
}
This starts the MCP session automatically when opening the project in RStudio.
Got: The .Rprofile file conditionally starts mcptools::mcp_session() when the project is opened in RStudio, making MCP tools available automatically.
If fail: If mcptools is not found at session start, verify it is installed in the library that RStudio uses (check .libPaths()). If using renv, ensure mcptools is in the 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 within Claude Code:
Start Claude Code and use MCP tools — they should appear in the tool list.
Test Claude Desktop:
Restart Claude Desktop after configuration changes. Check for MCP server indicators in the UI.
Got: Running Rscript with mcptools::mcp_server() produces output without errors. MCP tools appear in the Claude Code tool list during an active session. Claude Desktop shows server status after restart.
If fail: If the Rscript command fails, check the full path is correct (ls "/mnt/c/Program Files/R/" to verify R version). If tools don't appear in Claude Code, restart the session. For Claude Desktop, check firewall settings.
Step 6: Multi-Server Configuration
Both Claude Code and Claude Desktop support multiple 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
Got: Multiple MCP servers configured and accessible simultaneously. claude mcp list shows all servers. Each server's tools are available in the same Claude Code session.
If fail: If servers conflict, check that each has a unique name in the configuration. If one server blocks others, verify servers use non-blocking I/O (stdio transport handles this automatically).
Validation
-
claude mcp listshows all configured servers - R MCP server responds to tool calls
- Hugging Face MCP server authenticates and responds
- Both Claude Code and Claude Desktop can connect (if both configured)
- MCP tools appear in the tool list during sessions
Pitfalls
- Windows path spaces: Use 8.3 short names or quote paths correctly. Different tools parse paths differently.
- Token in command args: On Windows,
--header "Authorization: Bearer token"fails due to parsing. Use environment variables instead. - Confusing Claude Code and Claude Desktop configs: These are separate tools with separate config files (
~/.claude.jsonvs%APPDATA%\Claude\) - npx vs global install:
npx mcp-remotemay fail in Claude Desktop context. Install globally withnpm install -g mcp-remote. - mcptools version: Ensure mcptools is up to date. It requires the
ellmerpackage as a dependency.
Related Skills
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.
