Artisan
FreeNot checkedA secure MCP server with a workspace sandbox for AI agents to manage prompts, save HTML, and render HTML to images.
About
A secure MCP server with a workspace sandbox for AI agents to manage prompts, save HTML, and render HTML to images.
README
A secure Model Context Protocol (MCP) tool with workspace sandbox for AI Agents to find prompts, save HTML, and render HTML to images.
🚨 Breaking Changes in v2.0.0
This is a major version update with breaking changes. All API parameters have been redesigned for enhanced security and usability.
Key Changes:
- Workspace Sandbox: All operations are now restricted to a specified workspace directory
- Simplified APIs: Removed complex path parameters, added intelligent file discovery
- Enhanced Security: Built-in path validation prevents directory traversal attacks
- Smart Organization: Automatic file organization in
output/subdirectories
Installation & Usage
# Install and run with workspace
npx mcp-artisan /path/to/your/workspace
# Example
npx mcp-artisan ./my-project
Required: You must specify a workspace directory when starting the server.
Configuration for AI Environments (Cursor, etc.)
To use MCP-Artisan with AI development environments like Cursor, you need to configure the MCP server command.
Install MCP-Artisan globally or within your project:
# Global installation npm install -g mcp-artisan # Or local project installation npm install mcp-artisanIn your environment's MCP server settings (e.g., in
.cursor-agent/mcp.jsonor a similar configuration file), set up the server command as follows:- Command:
npx - Arguments:
["mcp-artisan", "/path/to/your/project/workspace"]
Replace
/path/to/your/project/workspacewith the absolute path to the folder you want the AI to work in. This folder will be used to find prompts and save output files.Example Configuration (
.cursor-agent/mcp.json):{ "mcpServers": { "my-artisan-tool": { "command": "npx", "args": [ "-y", "mcp-artisan", "/Users/username/my-ai-project" ] } } }- Command:
New API Reference
listPrompts
Lists available prompt files automatically.
- Parameters: None
- Behavior: Searches in
workspace/prompts/first, falls back to workspace root - Returns: Array of prompt filenames
getPromptContent
Reads prompt file content by filename.
- Parameters:
promptFileName(string): Just the filename, no path needed
- Behavior: Automatically searches in prompts directory and workspace root
saveHtml
Saves HTML with automatic organization.
- Parameters:
htmlContent(string): Complete HTML contentsubfolderName(string, max 20 chars): Descriptive folder namefileName(string): Filename without .html extension
- Output: Saves to
workspace/output/{subfolderName}/{fileName}.html
renderImageFromHtml
Renders HTML to image using relative paths.
- Parameters:
htmlPath(string): Relative path from workspace (e.g., "output/my-card/index.html")imageType(optional): 'png' or 'jpeg'
- Output: Image saved alongside HTML file
Migration from v1.x
| v1.x Parameter | v2.x Parameter | Notes |
|---|---|---|
promptsPath |
(removed) | Auto-discovery in workspace |
promptPath |
promptFileName |
Just filename, no path |
outputPath |
subfolderName |
Auto-organized in output/ |
htmlPath (absolute) |
htmlPath (relative) |
Relative to workspace |
Security Features
- Workspace Sandbox: All file operations restricted to workspace
- Path Validation: Prevents directory traversal (../) attacks
- Input Sanitization: Validates filenames and folder names
- Symlink Protection: Resolves real paths to prevent escapes
Example Workflow
# Start server with workspace
npx mcp-artisan ./my-project
# Directory structure will be:
# my-project/
# ├── prompts/ # Your prompt files
# │ ├── card.txt
# │ └── banner.md
# └── output/ # Generated files
# └── my-cards/ # Organized by subfolder
# ├── card.html
# └── card.png
Development
# Clone and install
git clone <repo>
cd mcp-artisan
npm install
# Build
npm run build
# Development with workspace
npm run dev -- ./test-workspace
License
MIT
Contributing
Issues and pull requests are welcome. Please ensure all tests pass before submitting. ```
Install Artisan in Claude Desktop, Claude Code & Cursor
unyly install mcp-artisanInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add mcp-artisan -- npx -y mcp-artisanFAQ
Is Artisan MCP free?
Yes, Artisan MCP is free — one-click install via Unyly at no cost.
Does Artisan need an API key?
No, Artisan runs without API keys or environment variables.
Is Artisan hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Artisan in Claude Desktop, Claude Code or Cursor?
Open Artisan on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Artisan with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
