Monorepo for Aesthetic.Computer aesthetic.computer

@aesthetic.computer/mcp#

npm version License: MIT

MCP (Model Context Protocol) server for aesthetic.computer - enabling AI assistants to create and publish creative coding pieces.

What is this?#

This MCP server allows AI assistants like Claude, ChatGPT, and other MCP-compatible tools to:

  • Publish JavaScript pieces to aesthetic.computer
  • 🎨 Create and share KidLisp art (a Lisp-based creative coding language)
  • 🎵 Compose clock melodies with pronounceable short codes
  • 📚 Access API documentation programmatically
  • 🚀 Get starter templates and references
  • 🔄 Content deduplication - same code returns same URL
  • 🌐 Anonymous publishing - no account required

Installation#

NPM Global Install#

npm install -g @aesthetic.computer/mcp
npx @aesthetic.computer/mcp

No installation required! The -y flag in MCP configs will automatically download and run the latest version.

Configuration#

Claude Desktop#

Add to your ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "aesthetic-computer": {
      "command": "npx",
      "args": ["-y", "@aesthetic-computer/mcp"],
      "env": {
        "AC_TOKEN": "your-auth0-bearer-token-here"
      }
    }
  }
}

Claude Code (VS Code Extension)#

Add to your .vscode/mcp.json or ~/.claude/mcp.json:

{
  "mcpServers": {
    "aesthetic-computer": {
      "command": "npx",
      "args": ["-y", "@aesthetic-computer/mcp"],
      "env": {
        "AC_TOKEN": "your-auth0-bearer-token-here"
      }
    }
  }
}

Cursor#

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "aesthetic-computer": {
      "command": "npx",
      "args": ["-y", "@aesthetic-computer/mcp"]
    }
  }
}

ChatGPT Developer Mode#

ChatGPT now supports MCP servers! Add to your ChatGPT configuration:

{
  "mcpServers": {
    "aesthetic-computer": {
      "command": "npx",
      "args": ["-y", "@aesthetic.computer/mcp"]
    }
  }
}

See ChatGPT Developer Mode docs for setup instructions.

Authentication (Optional)#

The AC_TOKEN environment variable is optional. If not provided:

  • All publishing is anonymous (guest mode)
  • Pieces are still publicly accessible
  • To associate pieces with your account, provide a Bearer token from aesthetic.computer

Available Tools#

publish_piece#

Publish a JavaScript piece to aesthetic.computer.

Input:

{
  "source": "export function boot($) { ... }\nexport function paint($) { ... }",
  "name": "my-piece"
}

Output:

{
  "code": "drift",
  "url": "https://aesthetic.computer/drift",
  "cached": false
}

publish_kidlisp#

Publish KidLisp code.

Input:

{
  "source": "(wipe blue)\n(ink yellow)\n(circle (/ w 2) (/ h 2) 100)"
}

Output:

{
  "code": "xyz789",
  "url": "https://aesthetic.computer/xyz789",
  "cached": false
}

publish_clock#

Publish a clock melody.

Input:

{
  "source": "c4 e4 g4 c5 g4 e4 c4"
}

Output:

{
  "code": "bako",
  "url": "https://aesthetic.computer/clock~bako",
  "cached": false
}

get_api_info#

Fetch the full API documentation.

Available Resources#

aesthetic-computer://piece-template#

Returns a starter template for a new aesthetic.computer piece with all lifecycle functions (boot, paint, sim, act).

aesthetic-computer://kidlisp-reference#

Quick reference guide for KidLisp syntax and common functions.

Available Prompts#

create-piece#

A guided prompt for creating an aesthetic.computer piece.

Arguments:

  • name (required): Name of the piece
  • description (required): What the piece should do

Why Use This?#

  • 🎨 Creative Coding Made Easy: Let AI assistants write aesthetic.computer pieces for you
  • ⚡ Instant Publishing: Go from idea to live URL in seconds
  • 🔗 Shareable URLs: Every piece gets a clean, shareable link
  • 🆓 No Account Required: Anonymous publishing works out of the box
  • ♻️ Smart Deduplication: Identical code returns the same URL
  • 🌍 Open Platform: All pieces are publicly accessible

Example Conversations#

Once configured, you can ask your AI assistant:

JavaScript Pieces#

"Create a piece that draws a bouncing ball"

"Make an interactive drawing canvas where I can paint with my mouse"

"Build a particle system that responds to sound"

KidLisp Art#

"Make a KidLisp piece with a yellow circle on a blue background"

"Create generative art using KidLisp with random shapes"

Clock Melodies#

"Publish a clock melody using the C major scale"

"Compose a pentatonic melody for the clock"

Learning & Templates#

"Show me the piece template"

"What functions can I use in KidLisp?"

The AI will use the MCP tools to create and publish pieces automatically, returning live URLs you can visit immediately!

Development#

# Clone the repo
git clone https://github.com/whistlegraph/aesthetic-computer
cd aesthetic-computer/mcp-server

# Install dependencies
npm install

# Build
npm run build

# Test locally
node dist/index.js

License#

MIT

Author#

Jeffrey Alan Scudder