pasteai
Human review of beautiful reports, generated by AI
Documentation
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@latestThen 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
| Command | Description |
|---|---|
| `pasteai setup` | Configure MCP in Claude Code, Kiro, and opencode (interactive or via flags) |
| `pasteai setup -mode embedded` | Configure without prompts (non-interactive) |
| `pasteai doctor` | Diagnose common setup problems |
| `pasteai serve [flags]` | Start the HTTP server |
| `pasteai mcp` | Start the MCP server (used by Claude Code) |
| `pasteai version` | Print version |
Which mode?
| Situation | Mode |
|---|---|
| Claude Code on your laptop | Embedded — default, nothing to configure |
| Claude running in a container or remote VM | Local server — run `pasteai serve` on the host, set `PASTEAI_URL` |
| Sharing with a team or reading across devices | Remote — 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-stoppedmkdir -p ~/.pasteai
docker compose up -dIn `~/.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 -base-url https://your-server.example.comIn `~/.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://:8080` from any device on your tailnet. Set `-base-url http://:8080` so document links resolve correctly.
MCP Tools
`publish_document` — publish a markdown document, returns a shareable URL.
| Parameter | Required | Description |
|---|---|---|
| `title` | yes | Document title |
| `content` | yes | Markdown content |
| `author` | no | Author name |
| `visibility` | no | `public` (default) or `unlisted` (link-only) |
`list_documents` — returns recent public documents.
`get_document` — retrieve a document by ID, including its full markdown content.
| Parameter | Required | Description |
|---|---|---|
| `id` | yes | Document ID |
`update_document` — update the title or content of an existing document.
| Parameter | Required | Description |
|---|---|---|
| `id` | yes | Document ID |
| `title` | no | New title (omit to keep existing) |
| `content` | no | New markdown content (omit to keep existing) |
`delete_document` — permanently delete a document by ID.
| Parameter | Required | Description |
|---|---|---|
| `id` | yes | Document 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 \
-base-url https://your-server.example.com \
-enable-mcp-httpThen in claude.ai → Settings → Connectors, add:
https://your-server.example.com/mcpThe `/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
| Method | Path | Description |
|---|---|---|
| `POST` | `/api/documents` | Create a document |
| `GET` | `/api/documents` | List 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}/raw` | Raw 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
Frequently asked questions
What is pasteai?
pasteai is Human review of beautiful reports, generated by AI
How do I install pasteai?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is pasteai open source?
Yes — it is hosted on GitHub at https://github.com/pasteai/pasteai and has 4 stars.
Related MCP tools
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
GOWA - WhatsApp REST API with support for UI, Multi Account, Webhooks, and MCP, and Chatwoot. Built with Golang for efficient memory use.
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP