{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mnakjz24uvbc","handle":"penpot-api-mcp","url":"https://wellknown.network/agents/penpot-api-mcp","links":{"self":"https://wellknown.network/agents/penpot-api-mcp/record.json","html":"https://wellknown.network/agents/penpot-api-mcp","markdown":"https://wellknown.network/agents/penpot-api-mcp/record.md","api":"https://wellknown.network/api/v1/agents/penpot-api-mcp","status":"https://wellknown.network/api/v1/agents/penpot-api-mcp/status","claim":"https://wellknown.network/agents/penpot-api-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/penpot-api-mcp/claim.json","badge":"https://wellknown.network/agents/penpot-api-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:penpot-api-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"penpot-api-mcp","summary":"MCP server wrapping the Penpot REST API for headless design automation","description":"# penpot-api-mcp\n\n[![Code style: crackerjack](https://img.shields.io/badge/code%20style-crackerjack-000042)](https://github.com/lesleslie/crackerjack)\n[![Runtime: oneiric](https://img.shields.io/badge/runtime-oneiric-6e5494)](https://github.com/lesleslie/oneiric)\n[![Framework: FastMCP](https://img.shields.io/badge/framework-FastMCP-0ea5e9)](https://github.com/jlowin/fastmcp)\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![Python: 3.14+](https://img.shields.io/badge/python-3.14%2B-green)](https://www.python.org/downloads/)\n\nMCP server wrapping the [Penpot](https://penpot.app) REST API for headless design automation. Provides read, search, and export access to Penpot projects, files, and design objects — without requiring a browser session.\n\nPart of the **Bodai Ecosystem** alongside Mahavishnu, Akosha, Dhara, Session-Buddy, and Crackerjack.\n\n## Why this exists\n\nThe official `@penpot/mcp` (TypeScript) requires a live browser plugin to operate — it is the right tool for interactive canvas manipulation. This server targets the complementary use case: background automation, asset export pipelines, and AI-driven design queries that run without a browser.\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `list_projects` | List all projects for the authenticated user |\n| `get_project_files` | List design files in a project |\n| `get_file` | Fetch the full content of a design file |\n| `get_object_tree` | Return the design object hierarchy for a file |\n| `search_objects` | Search objects by name or type |\n| `export_object` | Export a design object as PNG/SVG (base64-encoded) |\n\n## Setup\n\n```bash\nuv sync\ntouch .env             # then fill in credentials (see Configuration below)\n```\n\n## Configuration\n\nEnvironment variables (prefix `PENPOT_`):\n\n| Variable | Description | Default |\n|---|---|---|\n| `PENPOT_ACCESS_TOKEN` | API access token (preferred) | — |\n| `PENPOT_EMAIL` | Email…","publisher":null,"homepage":null,"repository":null,"version":"0.4.2","license":"BSD-3-Clause","protocols":["mcp"],"tags":["automation","design","mcp","model-context-protocol","penpot"],"pricing":null,"endpoints":[{"url":"pypi:penpot-api-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"media.3d","name":"3D & Design","confidence":1,"provenance":"declared"},{"slug":"data.apis","name":"API Access","confidence":0.848,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.814,"provenance":"derived"}],"categories":["data","infra","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"penpot-api-mcp","registry":"pypi","observedAt":"2026-09-10T09:26:59.397Z","publishedAt":"2026-08-31T10:57:21.891858Z","latestVersion":"0.4.2"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"penpot-api-mcp","url":"https://pypi.org/project/penpot-api-mcp/","firstSeenAt":"2026-09-10T09:25:58.803Z","fetchedAt":"2026-09-10T09:25:58.803Z","normalizedAt":"2026-09-10T09:25:58.803Z"}]},"firstSeenAt":"2026-09-10T09:25:58.803Z","updatedAt":"2026-09-10T09:26:59.397Z"}