算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
configure-putior-mcp【设计与创意】Configure the putior MCP server to expose 16 workflow visualization tools to AI assistants. Covers Claude Code and Claude Desktop setup, dependency installation (mcptools, ellmer), tool verification, and optional ACP server configuration for agent-to-agent communication. Use when enabling AI assistants to annotate and visualize workflows interactivel…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Set up putior MCP server so AI assistants (Claude Code, Claude Desktop) can directly call workflow annotation, diagram generation tools.
install-putior)Install required packages 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)
Got: Both packages install, load without errors.
If fail: mcptools requires remotes package. 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 commands or commit them to version control.
Add putior MCP server to Claude Code configuration.
# One-line setup
claude mcp add putior -- Rscript -e "putior::putior_mcp_server()"
For WSL with Windows R:
claude mcp add putior -- "/mnt/c/Program Files/R/R-4.5.2/bin/Rscript.exe" -e "putior::putior_mcp_server()"
Verify configuration:
claude mcp list
claude mcp get putior
Got: putior appears in MCP server list with status "configured".
If fail: Claude Code not in PATH? Add: export PATH="$HOME/.claude/local/node_modules/.bin:$PATH". Rscript path wrong? Locate R with which Rscript or ls "/mnt/c/Program Files/R/".
Add putior to Claude Desktop MCP configuration 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 with 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 after editing configuration.
Got: Claude Desktop shows putior in its MCP server list. Tools become available in conversation.
If fail: Validate JSON syntax with JSON linter. Check R path exists. Use 8.3 short names (PROGRA~1, R-45~1.0) if spaces in paths cause issues.
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 parameter for regex-based file filtering)put_diagram — Generate Mermaid diagramsput_auto — Auto-detect workflow from code (supports exclude parameter)put_generate — Generate annotation suggestions (supports exclude parameter)put_merge — Merge manual + auto annotations (supports exclude parameter)Reference/Discovery (7):
get_comment_prefix — Get comment prefix for extensionget_supported_extensions — List supported extensionslist_supported_languages — List supported languagesget_detection_patterns — Get auto-detection patternsget_diagram_themes — List available themesputior_guide — AI assistant documentationputior_help — Quick reference helpUtilities (3):
is_valid_put_annotation — Validate annotation syntaxsplit_file_list — Parse file listsext_to_language — Extension to language nameConfiguration (1):
set_putior_log_level — Configure logging verbosityImportant: Custom palettes cannot be used through MCP. The
paletteparameter onput_diagramaccepts aputior_themeR object created byput_theme(). Because MCP communicates via JSON, R objects likeputior_themecannot be serialized across MCP boundary. When callingput_diagramthrough MCP, use string-basedthemeparameter (e.g.,theme = "viridis") instead. For custom palettes, callput_theme()andput_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
Got: All 16 tools listed. Core tools return expected results when called with valid inputs.
If fail: Tools missing? Check putior version current: packageVersion("putior"). Older versions may have fewer tools. Update with remotes::install_github("pjt222/putior").
Set up ACP (Agent Communication Protocol) server for agent-to-agent communication.
# 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/"}]}]}'
Got: ACP server starts on configured port. /agents returns putior agent manifest. /runs accepts natural language requests, returns workflow results.
If fail: Port 8080 in use? Specify different port. plumber2 not installed? Server function prints helpful error message suggesting installation.
putior::putior_mcp_tools() exposes core tools (put, put_diagram, put_auto, put_generate, put_merge), returns ~16 tools for current versionclaude mcp list shows putior configuredputior_help tool returns help text when invokedput, put_diagram, put_auto) execute without errorscurl http://localhost:8080/agentsmcptools (from GitHub) and ellmer (from CRAN). Both must be installed. putior checks, provides helpful messages if missing.\\). Use 8.3 short names to avoid spaces: C:\\PROGRA~1\\R\\R-45~1.0\\bin\\x64\\Rscript.exe.mcptools and ellmer installed in global library or configure renv activation in MCP server command.lsof -i :8080 or netstat -tlnp | grep 8080 before starting.putior_mcp_tools(include = c("put", "put_diagram")) when building custom MCP server wrappers.palette parameter on put_diagram requires putior_theme R object (created by put_theme()), which cannot be serialized through MCP JSON interface. Use built-in theme parameter string for MCP calls. For custom palettes, use R directly.install-putior — prerequisite: putior and optional deps must be installedconfigure-mcp-server — general MCP server configuration for Claude Code/Desktoptroubleshoot-mcp-connection — diagnose connection issues if tools don't appearbuild-custom-mcp-server — build custom MCP servers that wrap putior toolsanalyze-codebase-workflow — use MCP tools interactively for codebase analysis