Agent-almanac configure-putior-mcp
git clone https://github.com/pjt222/agent-almanac
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/es/skills/configure-putior-mcp" ~/.claude/skills/pjt222-agent-almanac-configure-putior-mcp-df28ef && rm -rf "$T"
i18n/es/skills/configure-putior-mcp/SKILL.mdConfigure putior MCP Server
Configurar el servidor MCP de putior para que los asistentes de IA (Claude Code, Claude Desktop) puedan llamar directamente a las herramientas de anotación de flujo de trabajo y generación de diagramas.
Cuándo Usar
- Habilitar asistentes de IA para anotar y visualizar flujos de trabajo interactivamente
- Configurar un nuevo entorno de desarrollo con integración MCP de putior
- Después de instalar putior y querer documentación de flujo de trabajo asistida por IA
- Configurar comunicación agente-a-agente vía ACP para pipelines automatizados
Entradas
- Requerido: putior instalado (ver
)install-putior - Requerido: Cliente objetivo: Claude Code, Claude Desktop, o ambos
- Opcional: Si también configurar el servidor ACP (por defecto: no)
- Opcional: Host/puerto personalizado para el servidor ACP (por defecto: localhost:8080)
Procedimiento
Paso 1: Instalar Dependencias MCP
Instalar los paquetes requeridos para la funcionalidad del servidor MCP.
# Required: MCP framework remotes::install_github("posit-dev/mcptools") # Required: Tool definition framework install.packages("ellmer") # Verify both load library(mcptools) library(ellmer)
Esperado: Ambos paquetes se instalan y cargan sin errores.
En caso de fallo:
mcptools requiere el paquete remotes. Instalarlo primero: install.packages("remotes"). Si GitHub limita la tasa, configurar un GITHUB_PAT en ~/.Renviron (agregar la línea GITHUB_PAT=your_token_here y reiniciar R). No pegar tokens en comandos de shell ni incluirlos en control de versiones.
Paso 2: Configurar Claude Code (WSL/Linux/macOS)
Agregar el servidor MCP de putior a la configuración de Claude Code.
# One-line setup claude mcp add putior -- Rscript -e "putior::putior_mcp_server()"
Para WSL con R de Windows:
claude mcp add putior -- "/mnt/c/Program Files/R/R-4.5.2/bin/Rscript.exe" -e "putior::putior_mcp_server()"
Verificar la configuración:
claude mcp list claude mcp get putior
Esperado:
putior aparece en la lista de servidores MCP con estado "configured".
En caso de fallo: Si Claude Code no está en PATH, agregarlo:
export PATH="$HOME/.claude/local/node_modules/.bin:$PATH". Si la ruta de Rscript es incorrecta, localizar R con which Rscript o ls "/mnt/c/Program Files/R/".
Paso 3: Configurar Claude Desktop (Windows)
Agregar putior al archivo de configuración MCP de Claude Desktop.
Editar
%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()"] } } }
O con la ruta completa:
{ "mcpServers": { "putior": { "command": "C:\\Program Files\\R\\R-4.5.2\\bin\\x64\\Rscript.exe", "args": ["-e", "putior::putior_mcp_server()"] } } }
Reiniciar Claude Desktop después de editar la configuración.
Esperado: Claude Desktop muestra putior en su lista de servidores MCP. Las herramientas se vuelven disponibles en la conversación.
En caso de fallo: Validar la sintaxis JSON con un linter JSON. Verificar que la ruta de R exista. Usar nombres cortos 8.3 (
PROGRA~1, R-45~1.0) si los espacios en las rutas causan problemas.
Paso 4: Verificar las 16 Herramientas
Probar que todas las herramientas MCP sean accesibles y funcionales.
# 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))
Las 16 herramientas organizadas por categoría:
Flujo de Trabajo Principal (5):
-- Escanear archivos para anotaciones PUT (soporta parámetroput
para filtrado de archivos basado en regex)exclude
-- Generar diagramas Mermaidput_diagram
-- Auto-detectar flujo de trabajo desde código (soporta parámetroput_auto
)exclude
-- Generar sugerencias de anotación (soporta parámetroput_generate
)exclude
-- Fusionar anotaciones manuales + automáticas (soporta parámetroput_merge
)exclude
Referencia/Descubrimiento (7):
-- Obtener prefijo de comentario para extensiónget_comment_prefix
-- Listar extensiones soportadasget_supported_extensions
-- Listar lenguajes soportadoslist_supported_languages
-- Obtener patrones de auto-detecciónget_detection_patterns
-- Listar temas disponiblesget_diagram_themes
-- Documentación del asistente de IAputior_guide
-- Ayuda de referencia rápidaputior_help
Utilidades (3):
-- Validar sintaxis de anotaciónis_valid_put_annotation
-- Analizar listas de archivossplit_file_list
-- Extensión a nombre de lenguajeext_to_language
Configuración (1):
-- Configurar verbosidad de registroset_putior_log_level
Probar herramientas principales desde 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
Esperado: Las 16 herramientas listadas. Las herramientas principales retornan resultados esperados cuando se llaman con entradas válidas.
En caso de fallo: Si faltan herramientas, verificar que la versión de putior sea actual:
packageVersion("putior"). Las versiones anteriores pueden tener menos herramientas. Actualizar con remotes::install_github("pjt222/putior").
Paso 5: Configurar Servidor ACP (Opcional)
Configurar el servidor ACP (Agent Communication Protocol) para comunicación agente-a-agente.
# 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)
Probar endpoints ACP:
# 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/"}]}]}'
Esperado: El servidor ACP inicia en el puerto configurado.
/agents retorna el manifiesto del agente putior. /runs acepta solicitudes en lenguaje natural y retorna resultados de flujo de trabajo.
En caso de fallo: Si el puerto 8080 está en uso, especificar un puerto diferente. Si
plumber2 no está instalado, la función del servidor imprimirá un mensaje de error útil sugiriendo la instalación.
Validación
-
expone las herramientas principales (putior::putior_mcp_tools()
,put
,put_diagram
,put_auto
,put_generate
) y retorna ~16 herramientas para la versión actualput_merge - Claude Code:
muestraclaude mcp list
configuradoputior - Claude Code: la herramienta
retorna texto de ayuda cuando se invocaputior_help - Claude Desktop: putior aparece en la lista de servidores MCP después de reiniciar
- Las herramientas principales (
,put
,put_diagram
) se ejecutan sin erroresput_auto - (Opcional) El servidor ACP responde a
curl http://localhost:8080/agents
Errores Comunes
- mcptools no instalado: El servidor MCP requiere
(de GitHub) ymcptools
(de CRAN). Ambos deben estar instalados. putior verifica y proporciona mensajes útiles si faltan.ellmer - Ruta de R incorrecta en Claude Desktop: Las rutas de Windows necesitan escape en JSON (
). Usar nombres cortos 8.3 para evitar espacios:\\
.C:\\PROGRA~1\\R\\R-45~1.0\\bin\\x64\\Rscript.exe - Olvidar reiniciar: Claude Desktop debe reiniciarse después de editar el archivo de configuración. Claude Code recoge los cambios al iniciar la siguiente sesión.
- Aislamiento de renv: Si putior está instalado en una biblioteca renv pero Claude Code/Desktop lanza R sin renv, los paquetes no se encontrarán. Asegurar que
ymcptools
estén instalados en la biblioteca global o configurar la activación de renv en el comando del servidor MCP.ellmer - Conflictos de puerto para ACP: El puerto ACP por defecto (8080) se usa comúnmente. Verificar con
olsof -i :8080
antes de iniciar.netstat -tlnp | grep 8080 - Incluir solo herramientas específicas: Para exponer un subconjunto de herramientas, usar
al construir wrappers de servidor MCP personalizados.putior_mcp_tools(include = c("put", "put_diagram")) - Paletas personalizadas vía MCP: El parámetro
enpalette
requiere un objeto Rput_diagram
(creado porputior_theme
), que no puede serializarse a través de la interfaz JSON de MCP. Usar el parámetro de cadenaput_theme()
incorporado para llamadas MCP. Para paletas personalizadas, usar R directamente.theme
Habilidades Relacionadas
-- prerrequisito: putior y dependencias opcionales deben estar instaladosinstall-putior
-- configuración general de servidor MCP para Claude Code/Desktopconfigure-mcp-server
-- diagnosticar problemas de conexión si las herramientas no aparecentroubleshoot-mcp-connection
-- construir servidores MCP personalizados que envuelvan herramientas de putiorbuild-custom-mcp-server
-- usar herramientas MCP interactivamente para análisis de base de códigoanalyze-codebase-workflow