mcpField
C
Codepic

Codepic

Remote
github.com/abelceAI & Agents1Updated 19w ago
Repository

About Codepic

Codepic is a remote MCP server for AI coding agents that create editable hand-drawn diagrams in the CodePic editor. Diagrams can be revised, shared as read-only links, and exported as PNG or JSON.

Key features

  1. 01Create diagrams from templates
  2. 02Build custom diagrams with nodes and edges
  3. 03Inspect and update existing diagrams
  4. 04Edit, share, and export diagrams

Use cases

  1. 01Draft system architecture diagrams
  2. 02Create database ER diagrams
  3. 03Map OAuth or CI/CD flows
  4. 04Revise an existing diagram

MCP support

Exposes tools over remote Streamable HTTP for listing templates, creating diagrams, fetching diagram structure, and updating diagrams.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://codepic.cc/api/mcp/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://codepic.cc/api/mcp/mcpAuth required

Tools

6

This tool takes no parameters.

Details

From the project README

CodePic MCP

Let your AI coding agent draw editable diagrams — not another Mermaid snippet you have to paste.

Server Website License

Generate editable hand-drawn diagrams from Cursor, Claude Desktop, and other MCP clients.

CodePic MCP lets an AI coding agent create diagrams directly in CodePic instead of returning static images, Mermaid snippets, or JSON that you have to paste manually. The result opens in the CodePic editor, where you can still move shapes, edit labels, adjust connectors, share a read-only link, and export PNG or JSON.

Quick Start

It's a remote Streamable HTTP server — no local install. First create a free API key (the cpk_... token) at https://codepic.cc/settings/api-keys (sign in → New API key → copy), then add the config for your client and replace cpk_your_api_key_here.

Cursor

Create .cursor/mcp.json in your project:

{
  "mcpServers": {
    "codepic": {
      "url": "https://codepic.cc/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer cpk_your_api_key_here"
      }
    }
  }
}
Claude Code

Add it with one command:

claude mcp add --transport http codepic https://codepic.cc/api/mcp/mcp \
  --header "Authorization: Bearer cpk_your_api_key_here"
Claude Desktop

Add CodePic to your claude_desktop_config.json:

{
  "mcpServers": {
    "codepic": {
      "type": "streamableHttp",
      "url": "https://codepic.cc/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer cpk_your_api_key_here"
      }
    }
  }
}
VS Code (GitHub Copilot)

Add CodePic to .vscode/mcp.json:

{
  "servers": {
    "codepic": {
      "type": "http",
      "url": "https://codepic.cc/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer cpk_your_api_key_here"
      }
    }
  }
}
Codex CLI

Add CodePic to ~/.codex/config.toml:

[mcp_servers.codepic]
url = "https://codepic.cc/api/mcp/mcp"

[mcp_servers.codepic.headers]
Authorization = "Bearer cpk_your_api_key_here"
Windsurf

Add CodePic to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "codepic": {
      "serverUrl": "https://codepic.cc/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer cpk_your_api_key_here"
      }
    }
  }
}
Cline

Open Cline's MCP settings (cline_mcp_settings.json) and add:

{
  "mcpServers": {
    "codepic": {
      "type": "streamableHttp",
      "url": "https://codepic.cc/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer cpk_your_api_key_here"
      }
    }
  }
}
Other clients

Any MCP client that supports remote Streamable HTTP works — point it at the endpoint https://codepic.cc/api/mcp/mcp with header Authorization: Bearer cpk_....

Available MCP Tools

  • list_templates - list available diagram templates.
  • create_from_template - create a new diagram from a template.
  • create_diagram - create a custom diagram with nodes and edges.
  • get_diagram - fetch the current diagram structure by documentId before making targeted follow-up edits.
  • update_diagram - update an existing diagram by replacing, adding, or removing nodes and edges.

Iterate on an Existing Diagram

Use get_diagram when you already have a CodePic document and want the AI agent to inspect it before changing it. This keeps the workflow grounded in the current diagram instead of guessing from memory.

Example prompt:

Use get_diagram to inspect document <documentId>, then update the diagram by adding a Redis cache between the API server and Postgres database.

Examples

ExampleWhat It GeneratesPrompt
System architectureNext.js SaaS architecture diagramNext.js + Supabase + Postgres + R2 + Stripe + Vercel
Database ER diagramSaaS billing data modelUsers, teams, subscriptions, invoices, payments
OAuth sequence flowPKCE login sequence diagramBrowser, app server, identity provider, database
CI/CD pipelineGitHub Actions deployment pipelineType-check, lint, build, preview, production
Data pipelineAnalytics pipeline diagramSegment, Snowflake, dbt, Metabase
Iterate existing diagramRead an existing document, then update itget_diagram + update_diagram

Useful Links

Community Post Angle

If you share this project, lead with the workflow:

I connected Cursor to a diagram editor through MCP, so it can generate editable architecture diagrams instead of Mermaid text.

Avoid generic product claims like "best diagram tool". Developer communities respond better to a concrete workflow and real examples.

License

MIT — see 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.