Back to Skills

configure-putior-mcp

pjt222
Updated 2 days ago
8 views
17
2
17
View on GitHub
Designaimcpautomationdesign

About

This skill configures the putior MCP server to expose 16 workflow visualization tools to AI assistants like Claude. It covers setup for Claude Code and Claude Desktop, including dependency installation and tool verification. Use it when enabling AI assistants to interactively annotate and visualize workflows or when integrating putior MCP into a new development environment.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/configure-putior-mcp

Copy and paste this command in Claude Code to install this skill

Documentation

Configure putior MCP Server

Set up putior MCP server → AI assistants (Claude Code, Claude Desktop) can directly call workflow annotation + diagram gen tools.

Use When

  • Enable AI assistants to interactively annotate + visualize workflows
  • Set up new dev env w/ putior MCP integration
  • Post-install putior → want AI-assisted workflow docs
  • Configure agent-to-agent comm via ACP for automated pipelines

In

  • Required: putior installed (see install-putior)
  • Required: Target client: Claude Code, Claude Desktop, or both
  • Optional: Configure ACP server too (default: no)
  • Optional: Custom host/port for ACP server (default: localhost:8080)

Do

Step 1: Install MCP Dependencies

Install req'd pkgs for MCP server functionality.

# Required: MCP framework
remotes::install_github("posit-dev/mcptools")

# Required: Tool definition framework
install.packages("ellmer")

# Verify both load
library(mcptools)
library(ellmer)

Both pkgs install + load w/o errs.

If err: mcptools requires remotes pkg. Install first: install.packages("remotes"). GitHub rate-limits → configure GITHUB_PAT in ~/.Renviron (add line GITHUB_PAT=your_token_here + restart R). Do NOT paste tokens into shell cmds or commit to version control.

Step 2: Configure Claude Code (WSL/Linux/macOS)

Add putior MCP server to Claude Code's config.

# One-line setup
claude mcp add putior -- Rscript -e "putior::putior_mcp_server()"

For WSL w/ Windows R:

claude mcp add putior -- "/mnt/c/Program Files/R/R-4.5.2/bin/Rscript.exe" -e "putior::putior_mcp_server()"

Verify config:

claude mcp list
claude mcp get putior

putior appears in MCP server list w/ status "configured".

If err: Claude Code not in PATH → add: export PATH="$HOME/.claude/local/node_modules/.bin:$PATH". Rscript path wrong → locate R w/ which Rscript or ls "/mnt/c/Program Files/R/".

Step 3: Configure Claude Desktop (Windows)

Add putior to Claude Desktop's MCP config file.

Edit %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "putior": {
      "command": "C:\\PROGRA~1\\R\\R-45~1.0\\bin\\x64\\Rscript.exe",
      "args": ["-e", "putior::putior_mcp_server()"]
    }
  }
}

Or w/ full path:

{
  "mcpServers": {
    "putior": {
      "command": "C:\\Program Files\\R\\R-4.5.2\\bin\\x64\\Rscript.exe",
      "args": ["-e", "putior::putior_mcp_server()"]
    }
  }
}

Restart Claude Desktop post-edit.

Claude Desktop shows putior in MCP server list. Tools become avail in conversation.

If err: Valid. JSON syntax w/ JSON linter. Check R path exists. Use 8.3 short names (PROGRA~1, R-45~1.0) if spaces in paths cause issues.

Step 4: Verify All 16 Tools

Test all MCP tools accessible + functional.

# Get tool definitions
tools <- putior::putior_mcp_tools()
cat(sprintf("Total tools: %d\n", length(tools)))

# List tool names
vapply(tools, function(t) t$name, character(1))

16 tools organized by category:

Core Workflow (5):

  • put — Scan files for PUT annotations (supports exclude param for regex-based file filtering)
  • put_diagram — Generate Mermaid diagrams
  • put_auto — Auto-detect workflow from code (supports exclude param)
  • put_generate — Gen annotation suggestions (supports exclude param)
  • put_merge — Merge manual + auto annotations (supports exclude param)

Reference/Discovery (7):

  • get_comment_prefix — Get comment prefix for extension
  • get_supported_extensions — List supported extensions
  • list_supported_languages — List supported languages
  • get_detection_patterns — Get auto-detection patterns
  • get_diagram_themes — List available themes
  • putior_guide — AI assistant docs
  • putior_help — Quick reference help

Utilities (3):

  • is_valid_put_annotation — Valid. annotation syntax
  • split_file_list — Parse file lists
  • ext_to_language — Extension to language name

Configuration (1):

  • set_putior_log_level — Configure logging verbosity

Important: Custom palettes can't be used through MCP. palette param on put_diagram accepts putior_theme R object created by put_theme(). MCP comms via JSON → R objects like putior_theme can't be serialized across MCP boundary. Calling put_diagram through MCP → use string-based theme param (e.g., theme = "viridis") instead. Custom palettes → call put_theme() + put_diagram(palette = ...) directly in R session.

Test core tools from Claude Code:

Use the putior_help tool to see available commands
Use the put tool to scan ./R/ for annotations
Use the put_diagram tool to generate a diagram

All 16 tools listed. Core tools return expected results when called w/ valid in.

If err: Tools missing → check putior ver current: packageVersion("putior"). Older vers may have fewer tools. Update w/ remotes::install_github("pjt222/putior").

Step 5: Configure ACP Server (Optional)

Set up ACP (Agent Comm Protocol) server for agent-to-agent comm.

# Install ACP dependency
install.packages("plumber2")

# Start ACP server (blocks — run in a separate R session or background)
putior::putior_acp_server()

# Custom host/port
putior::putior_acp_server(host = "0.0.0.0", port = 9000)

Test ACP endpoints:

# Discover agent
curl http://localhost:8080/agents

# Execute a scan
curl -X POST http://localhost:8080/runs \
  -H "Content-Type: application/json" \
  -d '{"input": [{"role": "user", "parts": [{"content": "scan ./R/"}]}]}'

# Generate diagram
curl -X POST http://localhost:8080/runs \
  -H "Content-Type: application/json" \
  -d '{"input": [{"role": "user", "parts": [{"content": "generate diagram for ./R/"}]}]}'

ACP server starts on config'd port. /agents returns putior agent manifest. /runs accepts natural language reqs + returns workflow results.

If err: Port 8080 in use → specify diff port. plumber2 not installed → server fn will print helpful err msg suggesting install.

Check

  • putior::putior_mcp_tools() exposes core tools (put, put_diagram, put_auto, put_generate, put_merge) + returns ~16 tools for current ver
  • Claude Code: claude mcp list shows putior configured
  • Claude Code: putior_help tool returns help text when invoked
  • Claude Desktop: putior appears in MCP server list post-restart
  • Core tools (put, put_diagram, put_auto) execute w/o errs
  • (Optional) ACP server responds to curl http://localhost:8080/agents

Traps

  • mcptools not installed: MCP server requires mcptools (from GitHub) + ellmer (from CRAN). Both must be installed. putior checks + provides helpful msgs if missing.
  • Wrong R path in Claude Desktop: Windows paths need escaping in JSON (\\). Use 8.3 short names to avoid spaces: C:\\PROGRA~1\\R\\R-45~1.0\\bin\\x64\\Rscript.exe.
  • Forget to restart: Claude Desktop must be restarted post-config edit. Claude Code picks up changes on next session start.
  • renv isolation: putior installed in renv library but Claude Code/Desktop launches R w/o renv → pkgs not found. Ensure mcptools + ellmer installed in global library or configure renv activation in MCP server cmd.
  • Port conflicts for ACP: Default ACP port (8080) commonly used. Check w/ lsof -i :8080 or netstat -tlnp | grep 8080 before starting.
  • Include only specific tools: Expose subset of tools → use putior_mcp_tools(include = c("put", "put_diagram")) when building custom MCP server wrappers.
  • Custom palettes via MCP: palette param on put_diagram requires putior_theme R object (created by put_theme()), can't be serialized through MCP's JSON interface. Use built-in theme param string for MCP calls. Custom palettes → use R directly.

  • install-putior — prerequisite: putior + optional deps must be installed
  • configure-mcp-server — general MCP server config for Claude Code/Desktop
  • troubleshoot-mcp-connection — diagnose connection issues if tools don't appear
  • build-custom-mcp-server — build custom MCP servers wrapping putior tools
  • analyze-codebase-workflow — use MCP tools interactively for codebase analysis

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/configure-putior-mcp
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

requesting-code-review

Design

This skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.

View skill

connect-mcp-server

Design

This skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.

View skill

web-cli-teleport

Design

This skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.

View skill