teguma
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PENPOT_URL | Yes | The URL of your Penpot instance | |
| PENPOT_TOKEN | Yes | Your MCP key for Penpot |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_design_contextA | Extract compressed brand context from a Penpot file. Returns design tokens, components, pages, and layout constraints in a token-efficient format. Use this FIRST to understand the design system before generating any UI. |
| get_tokensA | Extract design tokens (colors, typography, spacing) from a Penpot file. Returns structured token data for use in code generation. |
| get_componentsA | List components in a Penpot file with their variants. Use to understand available building blocks before generating UI. |
| list_filesA | List Penpot files accessible to the authenticated user. Use to discover available design files. |
| create_elementA | Create a shape element (rectangle, ellipse, text, board, svg) on a Penpot page. Use get_constraints FIRST to understand layout boundaries before creating elements. |
| get_constraintsA | Get layout constraints and design guardrails for a Penpot file. Returns spacing scale, color tokens, typography scale, and MUST/MUST NOT rules. Call this BEFORE generating any UI to avoid layout overflow and brand inconsistency. |
| get_page_layoutA | Get the layout structure of a Penpot page as a compact tree. Shows frame hierarchy, layout types (flex/grid), gaps, and sizing. Use to understand spatial structure before creating or modifying elements. |
| import_figmaA | Import a Figma file's design system into Penpot. Converts colors, typography, components, and page structure. Use dryRun=true first to preview the conversion before writing. |
| import_open_designA | Import an Open Design handoff bundle (manifest.json + SVG entry + optional tokens.css) into a Penpot file. Converts SVG shapes (rect/circle/ellipse/path/text), extracts CSS custom properties to canonical tokens, and reports a structured loss report. Use dryRun=true first to preview the conversion and loss items before writing. |
| update_elementB | Update an existing shape on a Penpot page. Can modify name, position, size, fill color, corner radius, and visibility. |
| delete_elementA | Delete a shape from a Penpot page. Use with caution — this is irreversible. |
| check_connectionA | Verify Penpot connectivity and authentication. Run this first if other tools fail. Returns latency, accessible files, and troubleshooting suggestions. |
| list_size_presetsA | List canvas size presets for social, video, blog, presentation, and print output. Call this before creating a design document so the canvas matches the target channel. |
| create_design_documentA | Validate a multi-page design document and return an automated QA report covering canvas bounds, safe area, text contrast, and brand kit compliance. Use this before exporting. |
| check_design_policyA | Evaluate a design document against configurable banned terms, required terms, approval, and workspace capability restrictions. Returns violations and whether export is permitted. |
| create_from_templateA | Create an original, parameterized design document from a registered channel template. Returns the completed document, filled slots, and automated QA report. |
| autolayout_design_documentA | Hard-wrap overflowing text, shrink it deterministically, then grow its frame inside the safe area or truncate only when requested. Returns the adjusted document, decisions, and QA report. |
| arrange_design_layersA | Arrange selected page layers with deterministic alignment, distribution, measured text stacking, or semantic vertical rhythm. The document canvas safe margin is always respected and the response includes fresh QA. |
| resize_design_documentA | Resize a design document to a preset or explicit dimensions. Mode fill covers the canvas, fit keeps all content visible, original keeps layer sizes and only re-centres. |
| export_design_documentA | Export a design document to SVG, PNG, JPG, or multi-page PDF. Export is refused when automated QA fails. Files are written inside the configured export root only. |
| process_design_imageA | Apply ordered deterministic image operations: exact crop, high-quality scale, solid canvas padding, flat-background flood-fill removal, and transparent-margin trimming. Background removal is classical, not AI matting. |
| save_design_projectA | Save a reusable design project inside the configured project root. Drafts with QA failures are saved intentionally, and the response always reports their QA status. |
| load_design_projectA | Load a saved design project envelope and its normalized document for further editing. |
| list_design_projectsA | List design projects saved inside the configured project root in deterministic id order. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Doyajin174/teguma'
If you have feedback or need assistance with the MCP directory API, please join our Discord server