Balsamiq Wireframes MCP Server
Balsamiq Wireframes MCP Server 🎨📐
An official Model Context Protocol (MCP) Server for seamlessly integrating Balsamiq Wireframes with Google Antigravity, Claude Code, and AI Agent ecosystems.
This server enables AI assistants to autonomously construct, layout, and export interactive UI mockups directly into native .bmpr project files (fully compliant with Balsamiq Wireframes 4.x) and standard Wireframe JSON format.
✨ Features
🛠 Autonomous UI Generation: AI agents can generate UI mockups based on natural language prompts (e.g. "Create a barber appointment booking dashboard with search filters, table, and action buttons").
📦 Native
.bmprSupport: Direct SQLite serialization with 100% schema compliance for Balsamiq Wireframes 4.x (open files instantly with double-click).🧩 Extensive Control Library: Supports all core Balsamiq widgets (
BrowserWindow,Button,TextInput,TextArea,DataGrid,SearchBox,ComboBox,CheckBox,RadioButton,Label,Title,Subtitle,ButtonBar,Icon,Image,Paragraph).⚡ Lightweight & Fast: Built on top of Python
FastMCP.
🚀 Installation & Quick Start
1. Prerequisites
Python 3.10 or higher
2. Install Dependencies
pip install -r requirements.txt⚙️ Configuration
For Google Antigravity
Add the server definition to your ~/.gemini/config/mcp_config.json file:
{
"mcpServers": {
"balsamiq": {
"command": "python",
"args": [
"E:/Balsamiq_mcp/server.py"
]
}
}
}For Claude Desktop / Claude Code
Add to your claude_desktop_config.json:
{
"mcpServers": {
"balsamiq": {
"command": "python",
"args": [
"E:/Balsamiq_mcp/server.py"
]
}
}
}🛠 Available Tools (MCP API)
Tool Name | Parameters | Description |
|
| Initializes a clean canvas/wireframe buffer with custom title and dimensions. |
|
| Adds a specific UI widget onto the canvas with coordinate positioning and properties. |
|
| Generates a native Balsamiq |
|
| Exports the mockup to a standard Balsamiq Wireframe JSON document. |
📝 Example Usage Prompt
"Create a wireframe for a barber appointment management dashboard with a search bar, staff filter dropdown, and a data grid displaying customer bookings."
The Agent automatically invokes:
init_canvas("Barber Management Dashboard", 1100, 800)add_control("BrowserWindow", 50, 30, 1000, 720, "Barber Management System\nhttp://barber.local")add_control("SearchBox", 80, 160, 280, 32, "Search customer...")add_control("DataGrid", 80, 210, 940, 420, "ID ^, Customer, Time, Service, Barber, Status\n#101, Ali Rezaei, 10:30, Haircut, Sohrab, [x] Confirmed")export_bmpr("appointments.bmpr")
📄 License
MIT License. Feel free to use and contribute!
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/AmirHossein-PapakiKashani/balsamiq-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server