mcpField
P
PASTEAI

PASTEAI

github.com/pasteaiOther4Updated 3w ago

About PASTEAI

PASTEAI is a client and web interface for AI-generated Markdown reports, aimed at people who want to review and share documents. It supports embedded, local-server, and remote deployment modes.

Key features

  1. 01Publish and manage Markdown documents
  2. 02Browse reports in a themed web UI
  3. 03Embedded, local, and remote modes
  4. 04CLI setup and diagnostics

Use cases

  1. 01Review a report created by an AI
  2. 02Share a document with a link
  3. 03Read documents across devices

MCP support

PASTEAI runs an MCP server that AI clients use to publish, list, retrieve, update, and delete documents. A deployed instance can also offer a streamable-HTTP MCP endpoint.

Details

From the project README

PasteAI

Human review of beautiful reports, generated by AI

AI publishes markdown documents via MCP. You read them in a clean, themed web UI.

CI Go License: MIT

PasteAI demo


Quickstart

Run /setup in Claude Code — it installs the binary and configures MCP. Then restart your editor to activate.

Or install manually:

# macOS
brew install pasteai/pasteai/pasteai

# Windows
scoop bucket add pasteai https://github.com/pasteai/scoop-pasteai
scoop install pasteai

# Linux (Debian/Ubuntu)
# Download the .deb from https://github.com/pasteai/pasteai/releases/latest

# Any platform — prebuilt binary
curl -sSL https://raw.githubusercontent.com/pasteai/pasteai/main/install.sh | sh

# With Go
go install github.com/pasteai/pasteai/cmd/pasteai@latest

Then run pasteai setup to register with your AI editor(s). It configures Claude Code, Kiro, and opencode simultaneously.

To configure manually, add the entry to the appropriate config file:

Claude Code (~/.claude.json) and Kiro (~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "pasteai": {
      "command": "/full/path/to/pasteai",
      "args": ["mcp"]
    }
  }
}

opencode (~/.config/opencode/opencode.json):

{
  "mcp": {
    "pasteai": {
      "type": "local",
      "command": ["/full/path/to/pasteai", "mcp"]
    }
  }
}

Use the absolute path from which pasteai or $(go env GOPATH)/bin/pasteai — AI editors do not inherit your shell PATH.

Restart your editor, then ask: "Summarise what we discussed and publish it."


CLI Reference

CommandDescription
pasteai setupConfigure MCP in Claude Code, Kiro, and opencode (interactive or via flags)
pasteai setup -mode embeddedConfigure without prompts (non-interactive)
pasteai doctorDiagnose common setup problems
pasteai serve [flags]Start the HTTP server
pasteai mcpStart the MCP server (used by Claude Code)
pasteai versionPrint version

Which mode?

SituationMode
Claude Code on your laptopEmbedded — default, nothing to configure
Claude running in a container or remote VMLocal server — run pasteai serve on the host, set PASTEAI_URL
Sharing with a team or reading across devicesRemote — deploy with -base-url, use Tailscale for private access

Three Modes

1. Embedded (zero config)

Add the MCP config above and restart Claude Code. When Claude first calls a tool, PasteAI starts a local server automatically. Documents stored at ~/.pasteai/documents.db and as plain markdown files at ~/.pasteai/documents/{id}.md — readable without the server running.

2. Local server

Run the server persistently with Docker Compose and point the MCP client at it:

# docker-compose.yml
services:
  pasteai:
    image: ghcr.io/pasteai/pasteai:latest
    ports:
      - "8080:8080"
    volumes:
      - ${HOME}/.pasteai:/data
    restart: unless-stopped
mkdir -p ~/.pasteai
docker compose up -d

In ~/.claude.json:

{
  "mcpServers": {
    "pasteai": {
      "command": "/full/path/to/pasteai",
      "args": ["mcp"],
      "env": { "PASTEAI_URL": "http://localhost:8080" }
    }
  }
}

Good when you want the server always running, independent of Claude Code. For systemd, launchd, or nohup alternatives, see docs/server-setup.md.

3. Remote

Point PASTEAI_URL at any PasteAI instance. Both PASTEAI_API_KEY and -base-url are required on the server for remote access to work correctly.

Start the server with:

pasteai serve -api-key <your-key> -base-url https://your-server.example.com

In ~/.claude.json:

{
  "mcpServers": {
    "pasteai": {
      "command": "/full/path/to/pasteai",
      "args": ["mcp"],
      "env": {
        "PASTEAI_URL": "https://your-server.example.com",
        "PASTEAI_API_KEY": "your-key"
      }
    }
  }
}

Tailscale

To read documents from your phone or another machine, use Tailscale. Start pasteai serve, then browse to http://<tailscale-ip>:8080 from any device on your tailnet. Set -base-url http://<tailscale-ip>:8080 so document links resolve correctly.


MCP Tools

publish_document — publish a markdown document, returns a shareable URL.

ParameterRequiredDescription
titleyesDocument title
contentyesMarkdown content
authornoAuthor name
visibilitynopublic (default) or unlisted (link-only)

list_documents — returns recent public documents.

get_document — retrieve a document by ID, including its full markdown content.

ParameterRequiredDescription
idyesDocument ID

update_document — update the title or content of an existing document.

ParameterRequiredDescription
idyesDocument ID
titlenoNew title (omit to keep existing)
contentnoNew markdown content (omit to keep existing)

delete_document — permanently delete a document by ID.

ParameterRequiredDescription
idyesDocument ID

claude.ai Custom Connectors (streamable-HTTP MCP)

To connect a deployed PasteAI server to claude.ai as a Custom Connector, start the server with -enable-mcp-http. This mounts a stateless streamable-HTTP MCP endpoint at /mcp alongside the web UI:

pasteai serve \
  -api-key <your-key> \
  -base-url https://your-server.example.com \
  -enable-mcp-http

Then in claude.ai → Settings → Connectors, add:

https://your-server.example.com/mcp

The /mcp endpoint requires the same Bearer token as the API when -api-key is set. The stdio transport (pasteai mcp) is unaffected — both can run simultaneously.


REST API

MethodPathDescription
POST/api/documentsCreate a document
GET/api/documentsList recent public documents
GET/api/documents/{id}Get a document (with content)
PUT/api/documents/{id}Update title or content
DELETE/api/documents/{id}Delete a document
GET/d/{id}/rawRaw markdown source
curl -X POST http://localhost:8080/api/documents \
  -H 'Content-Type: application/json' \
  -d '{"title": "My Report", "content": "# Hello\n\nThis is my report.", "author": "Claude"}'

Response includes a url field: http://localhost:8080/d/{id}


Themes

Switch themes using the selector in the top nav. Choice is saved in localStorage.

Light · Dark · Emerald · Arctic · Catppuccin Mocha · Catppuccin Latte · Catppuccin Frappé


Contributing & License

CONTRIBUTING.md · MIT License

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.