# Pinpole MCP Connectors Connect Pinpole to AI coding agents and chat products. **App:** https://app.pinpole.cloud · **Tokens:** Settings → Developer / MCP --- ## Privacy Pinpole processes architecture prompts and simulation requests on your behalf when you use MCP tools. Tokens are tied to your account. Revoke tokens anytime from Developer settings. See [pinpole.cloud/privacy](https://pinpole.cloud/privacy) for the full privacy policy. --- ## Cursor (stdio) 1. Create a token at **Settings → Developer / MCP** (`pp_live_…`). 2. Add to `~/.cursor/mcp.json`: ```json { "mcpServers": { "pinpole": { "command": "npx", "args": ["-y", "@pinpole/mcp"], "env": { "PINPOLE_API_TOKEN": "pp_live_…", "PINPOLE_BASE_URL": "https://app.pinpole.cloud" } } } } ``` **One-click deeplink:** base64-encode the `pinpole` server config JSON and open: `cursor://anysphere.cursor-deeplink/mcp/install?name=pinpole&config=BASE64_CONFIG` ### Canvas inside Cursor Canvas tools return: 1. **Inline canvas** (read-only) — when `PINPOLE_API_TOKEN` is set, the MCP server mints a short-lived `/embed/canvas?t=…` URL and returns it as an MCP UI resource. Cursor 2.6+ renders this in chat **without** loading the full Pinpole app or requiring browser login. 2. **Pinpole canvas** — clickable link (embed URL when available, else full app URL) 3. **Open interactive canvas in Pinpole** — full editor at `app.pinpole.cloud` (sign-in required) 4. **Open in Cursor Simple Browser** — in-editor browser panel `structuredContent.embedUrl` is the tokenized embed link; prefer it for `browser_navigate`. Enable **Settings → Tools & MCP → Browser Automation → Browser Tab** so the agent can open the embed URL automatically. --- ## Claude Code / Cowork (stdio) ```bash claude mcp add pinpole \ --env PINPOLE_API_TOKEN=pp_live_… \ --env PINPOLE_BASE_URL=https://app.pinpole.cloud \ -- npx -y @pinpole/mcp ``` Plugin submission: [clau.de/plugin-directory-submission](https://clau.de/plugin-directory-submission) --- ## OpenAI Codex ```toml [mcp_servers.pinpole] command = "npx" args = ["-y", "@pinpole/mcp"] env = { PINPOLE_API_TOKEN = "pp_live_…", PINPOLE_BASE_URL = "https://app.pinpole.cloud" } ``` --- ## Claude Desktop (custom connector) 1. Open **Claude → Settings → Connectors → Add custom connector** 2. Fill in: | Field | Value | |-------|-------| | Name | `Pinpole` | | Remote MCP server URL | `https://app.pinpole.cloud/mcp` | | OAuth Client ID | *(leave blank)* | | OAuth Client Secret | *(leave blank)* | 3. Click **Add** → sign in to Pinpole in the browser → approve access 4. In chat, ask Claude to use Pinpole tools (e.g. `pinpole_build_architecture`) OAuth discovery: `https://app.pinpole.cloud/.well-known/oauth-authorization-server` Protected resource: `https://app.pinpole.cloud/.well-known/oauth-protected-resource/mcp` **Alternative (stdio, full 66 tools):** Claude → **Settings → Developer → Edit Config** and add the same `mcpServers.pinpole` block as Cursor (requires `pp_live_…` token). Post-deploy smoke test (from cloud-labs repo): `node scripts/verify-mcp-oauth.mjs https://app.pinpole.cloud` --- ## Claude.ai / Cowork (remote HTTP + OAuth) | Field | Value | |-------|-------| | URL | `https://app.pinpole.cloud/mcp` | | Transport | HTTP | | Auth | OAuth (Pinpole login) | OAuth metadata: `https://app.pinpole.cloud/.well-known/oauth-authorization-server` --- ## Bolt (custom connector) | Field | Value | |-------|-------| | URL | `https://app.pinpole.cloud/mcp` | | Transport | HTTP | | Auth | API key → your `pp_live_…` token | --- ## HTTP MCP server (self-hosted) ```bash npm run build PINPOLE_BASE_URL=https://app.pinpole.cloud node dist/http-server.js ``` Docker: `docker build -t pinpole-mcp . && docker run -p 3333:3333 pinpole-mcp` --- ## Directory submissions | Platform | URL | Prerequisite | |----------|-----|--------------| | cursor.directory | https://cursor.directory/plugins/new | Root `.mcp.json` in repo | | Claude plugin | https://clau.de/plugin-directory-submission | `claude-plugin/` folder | | Claude Connectors | Claude admin / MCP directory form | Production OAuth + docs | | Cursor Marketplace | https://cursor.com/marketplace/publish | `.cursor-plugin/plugin.json` | Support: hello@pinpole.cloud