Canvasmcpclient
Canvas MCP Client is an open-source, self-hostable dashboard application built around an infinite, zoomable, and pannable canvas. It provides a unified interface for interacting with multiple MCP (Model Context Protocol) servers through a flexible, widget-based system.
Installation
npx canvasmcpclientAsk AI about Canvasmcpclient
Powered by Claude Β· Grounded in docs
I know everything about Canvasmcpclient. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Canvas MCP Client
A customizable infinite canvas dashboard with integrated Model Context Protocol (MCP) server support
Features β’ Quick Start β’ Documentation β’ Contributing β’ License
π― What is Canvas MCP Client?
Canvas MCP Client is an open-source, self-hostable dashboard application built around an infinite, zoomable, and pannable canvas. It provides a unified interface for interacting with multiple MCP (Model Context Protocol) servers through a flexible, widget-based system.
Why Canvas MCP Client?
- π¨ Infinite Canvas: Organize your workspace spatially with unlimited zoom and pan capabilities
- π§© Modular Widgets: Use 12+ pre-built widgets or create your own custom components
- π οΈ No-code Widget Builder: Use the widget builder to create your own widgets without coding
- π€ MCP Integration: Seamlessly connect to multiple MCP servers using the FastMCP library
- π AI-Powered: Configure multiple AI providers (OpenAI, Anthropic, Ollama, Google) for enhanced functionality
- π Template System: Save and share widget and dashboard configurations
- π³ Easy Deployment: One-command Docker setup or manual installation
- π Privacy-First: All data stays on your infrastructure, no external dependencies
Perfect for AI power users, developers, content creators, and anyone who wants a customizable workspace for managing AI tools and services.
π₯ Quick Demo
β¨ Features
Core Functionality
-
π¨ Infinite Canvas Interface
- Smooth zooming and panning
- Grid snap and alignment tools
- Persistent viewport state
- Responsive and optimized rendering
-
π§© Rich Widget System (12+ widgets)
- π Sticky Notes - Quick notes and reminders
- β To-Do Lists - Task management with checkboxes
- π¬ AI Chat - Integrated LLM conversations
- πΌοΈ Image Display - Visual content display
- π Flash Cards - Learning and memorization
- π¬ Video Player - Media playback
- π Kanban Board - Project management
- π Spreadsheet - Data tables and organization
- π Markdown Editor - Formatted documentation
- π Webpage Preview - Embedded web content
- π World Clock - Multiple timezone display
- βοΈ Weather Widget - Live weather information
-
π MCP Server Management
- Configure multiple MCP server connections
- Support for stdio, HTTP, and SSE transport protocols
- Real-time connection status monitoring
- Import/export server configurations
-
π€ AI LLM Configuration
- Multiple AI provider support (OpenAI, Anthropic, Ollama, Google)
- Configurable model parameters
- Secure credential storage
- Custom API endpoints
-
π¦ Template System
- Save widgets as reusable templates
- Export/import dashboard configurations
- Share templates with the community
- Template library with preview
-
π¨ Customization
- Light and dark themes
- Widget color and shape customization
- Flexible layout options
- Drag-and-drop interface
-
πΎ Data Persistence
- Automatic saving
- Local SQLite storage (PostgreSQL ready)
- Session recovery
- Backup and restore capabilities
π Quick Start
Prerequisites
- Docker & Docker Compose (Recommended) OR
- Node.js 18+ and Python 3.10+ (Manual setup)
Option 1: Docker (Recommended)
The fastest way to get started:
# Clone the repository
git clone https://github.com/n00bvn/CanvasMCPClient.git
cd CanvasMCPClient
# Start the application
docker-compose up -d
# Access the application
open http://localhost:3031
The application will be available at:
- Frontend: http://localhost:3031
- Backend API: http://localhost:8081
- API Docs: http://localhost:8081/docs
Option 2: Manual Setup
Click to expand manual setup instructions
Backend Setup
# Navigate to backend directory
cd backend
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create data directory
mkdir -p data
# Set environment variables
export DATABASE_URL="sqlite:///./data/canvas_mcp.db"
export CORS_ORIGINS="http://localhost:3031,http://127.0.0.1:3031"
export SECRET_KEY="your-secret-key-here"
# Start the backend
uvicorn main:app --reload --host 0.0.0.0 --port 8081
Frontend Setup
# Navigate to frontend directory (in a new terminal)
cd frontend
# Install dependencies
npm install
# Set environment variables
export NEXT_PUBLIC_API_URL="http://localhost:8081"
# Start the frontend
npm run dev
The application will be available at http://localhost:3031
First Steps
-
Configure MCP Servers (Optional)
- Click the "MCP Servers" button in the sidebar
- Add your MCP server configurations
- Test connections
-
Set Up AI Providers (Optional)
- Click "AI Config" in the sidebar
- Add API keys for your preferred providers (OpenAI, Anthropic, etc.)
- Configure default models
-
Create Your First Dashboard
- Click "New Dashboard" in the left panel
- Add widgets from the toolbar
- Drag, resize, and customize to your liking
-
Explore Features
- Try different widget types
- Save templates for reuse
- Export and share your dashboards
π Documentation
- Contributing Guide - How to contribute to the project
- Database Guide - Database schema and migrations
- Security Policy - Security guidelines and reporting
ποΈ Architecture
Canvas MCP Client is built with modern, proven technologies:
Frontend
- Framework: Next.js 15 with React 19
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: Redux Toolkit
- UI Components: Custom components with Heroicons
- Canvas Rendering: HTML5 Canvas with optimized performance
Backend
- Framework: FastAPI (Python 3.10+)
- Database: SQLite (development) / PostgreSQL (production ready)
- ORM: SQLAlchemy with Alembic migrations
- MCP Integration: FastMCP library
- API Documentation: Auto-generated OpenAPI/Swagger docs
Infrastructure
- Containerization: Docker & Docker Compose
- Web Server: Uvicorn (development) / Gunicorn (production)
- Reverse Proxy: Nginx (optional, for production)
π€ Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or creating new widgets, your help is appreciated.
Ways to contribute:
- π Report bugs and issues
- π‘ Suggest new features or widgets
- π Improve documentation
- π§ Submit pull requests
- π¨ Share widget and dashboard templates
- β Star the repository and spread the word
Get started:
- Read our Contributing Guide
- Check out open issues
- Join the discussion in GitHub Discussions
Before submitting a PR:
# Auto-fix formatting issues
./lint-fix.sh
# Check all linting rules
./lint.sh
See Linting Setup for detailed information.
Please read our Code of Conduct before contributing.
π‘οΈ Security
Security is a top priority. If you discover a security vulnerability, please follow our Security Policy to report it responsibly.
Security Features:
- Encrypted credential storage
- Local-first data architecture
- No telemetry or external data transmission
- Secure MCP server connections
- Regular dependency updates
πΊοΈ Roadmap
- Remote MCP servers with oAuth support
- Integrate with OpenAI apps
- Attach custom prompt to widgets
- Support image and video generation AI models
- Add more built-in widgets like Calendar, Music Player, Charts, etc.
- Add more utitlities like Text, Shapes, etc.
- Add custom data sources to widgets (webhook, REST API, etc.)
- Canvas dashboard history and undo/redo
- Enhance Widget Builder for more advanced widgets
- Support web scraping and deep research capabilities
- Mobile responsive design improvements
- Enhanced AI integration capabilities
- Performance optimizations for large dashboards
- Import/export improvements
- Real-time collaboration features
- Accessibility enhancements (WCAG 2.1 compliance)
See the open issues for a full list of proposed features and known issues.
π Project Status
Canvas MCP Client is actively maintained and in stable development. We follow semantic versioning and maintain a CHANGELOG for all releases.
Current Version: 1.0.0 Status: Stable - Ready for self-hosting Last Updated: October 2025
π Acknowledgments
- Built with FastMCP for MCP server integration
- Inspired by infinite canvas tools like Miro, Figma, and Obsidian Canvas
- Icons by Heroicons
- Community contributors and testers
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π¬ Community & Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
- Discord community: Discord Community
- Follow us: @VisonaHQ | @thaw_tran
β Star History
If you find Canvas MCP Client useful, please consider giving it a star! β
Made with β€οΈ by VISONA and the open source community
