MCP server for browsing Looba UI snippets — search posts, read code, and discover authors.
Project description
Looba MCP Server
An MCP server that gives AI assistants read-only access to Looba a community platform for UI snippets and design inspiration.
No API key required. No database credentials. The server calls the public Looba API over HTTPS.
More info
For additional MCP docs, usage examples, and updates, visit looba.dev/mcp.
Install
npx (no install needed)
npx looba-mcp
npm
npm install -g looba-mcp
pip
pip install looba-mcp
git
git clone https://github.com/looba-snippet/looba-mcp.git
cd looba-mcp
npm install
All methods require Node.js 18+ installed on your machine.
Tools
| Tool | Description |
|---|---|
detect_frontend_context |
Auto-detect frontend frameworks (React, Vue, Next.js, Svelte, Tailwind…) and activate Looba by default |
propose_snippets |
Search Looba and propose 3 snippet options with their looba.dev links for the user to choose from |
list_posts |
Search and browse snippet posts with filters (tag, type, sort) |
get_post |
Get full HTML/CSS/JS code of a post with author attribution |
integrate_post |
Fetch a snippet with integration instructions adapted to your project's CSS, framework, and conventions |
search_by_author |
List all posts by a specific author |
get_popular_tags |
Discover trending tags across the platform |
detect_frontend_context
When Looba MCP is active, the AI automatically calls detect_frontend_context at the start of a session. It scans the project directory for frontend signals:
- Dependencies — React, Vue, Svelte, Next.js, Angular, Astro, Remix, SolidJS, Gatsby, Lit, Preact…
- Config files —
vite.config.ts,tailwind.config.js,next.config.js,angular.json,astro.config.mjs… - File extensions —
.jsx,.tsx,.vue,.svelte,.astroinsrc/,app/,pages/,components/
If a frontend project is detected, the AI uses Looba by default for any UI component request — instead of writing code from scratch.
propose_snippets
When the user asks for a UI element, the AI calls propose_snippets instead of writing code immediately. It searches Looba and returns 3 options with their looba.dev links. The user picks one (1, 2, or 3) and the AI integrates it via integrate_post.
Example flow:
User: "Add an animated loading spinner to my React app" → AI calls
propose_snippetswithquery="loading spinner"andsnippet_type="react"→ Shows 3 options with looba.dev links → User picks option 2 → AI callsintegrate_postwith the chosen slug and project context
integrate_post
The integrate_post tool is designed for when you want to add a Looba snippet directly into your codebase. It fetches the full code and returns it with a detailed adaptation checklist so the AI assistant can:
- Rename CSS classes to match your naming convention (BEM, camelCase, CSS modules...)
- Replace hardcoded colors/spacing with your CSS variables or design tokens
- Convert between frameworks (vanilla HTML to React JSX, CSS to Tailwind utilities...)
- Scope styles to avoid conflicts with your global CSS
- Add proper imports and follow your component patterns
Example prompt:
"Use integrate_post to add the animated-circle-loaders-html-css-10 snippet to my Next.js project that uses Tailwind and CSS variables"
The AI will fetch the snippet, read your project context, and produce adapted code ready to paste.
Supported snippet types
| Type | Code fields returned |
|---|---|
| classic | HTML, CSS, JavaScript |
| react | JSX, Styles (CSS), HTML (host) |
| tailwind | HTML (with Tailwind classes), CSS, JavaScript |
Setup
Remote MCP URL
If your client supports URL-based MCP servers, use:
- URL:
https://mcp.looba.dev - Bearer token: not required
- Custom headers: not required
Use the root endpoint (https://mcp.looba.dev) unless your proxy explicitly maps another path.
Claude Code
Add to your project .mcp.json or ~/.claude/settings.json:
{
"mcpServers": {
"looba": {
"command": "npx",
"args": ["-y", "looba-mcp"]
}
}
}
Cursor
Go to Settings > MCP Servers > Add Server:
- Name:
looba - Command:
npx -y looba-mcp
Windsurf
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"looba": {
"command": "npx",
"args": ["-y", "looba-mcp"]
}
}
}
Using pip or git install
If you installed via pip or git clone, use looba-mcp or node directly:
{
"mcpServers": {
"looba": {
"command": "looba-mcp"
}
}
}
Or with git clone:
{
"mcpServers": {
"looba": {
"command": "node",
"args": ["/path/to/looba-mcp/index.js"]
}
}
}
Examples
Once connected, ask your AI assistant things like:
- "Add a glassmorphism card to my Next.js project" (AI proposes 3 Looba options)
- "I need a navbar with animations for my Tailwind site" (AI proposes 3 Looba options)
- "Show me the most popular CSS snippets on Looba"
- "Find Looba posts tagged with
animation" - "Get the code for the post
animated-circle-loaders-html-css-10" - "List all posts by @Frontend-snippet-Bot"
- "Integrate the
focus-trapped-navigation-controllersnippet into my React project using CSS modules"
Every response includes source URL, author, and license so AI assistants always cite properly.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file looba_mcp-1.3.1.tar.gz.
File metadata
- Download URL: looba_mcp-1.3.1.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68ff705370c2f12df8e604a87a5e310dfb1a7c49433be48da249ad475a89d737
|
|
| MD5 |
80c1f74be2e4cea67ab676516bf33d1d
|
|
| BLAKE2b-256 |
bcb2d909bb5cb4e18a0580b3558b4afc43a9ccd2d002e1485770c1434aca1cbb
|
File details
Details for the file looba_mcp-1.3.1-py3-none-any.whl.
File metadata
- Download URL: looba_mcp-1.3.1-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e1b609082c22dd4bcc3a9fe0faabcd6e353d072ba3ecd80e812af2e4714701b
|
|
| MD5 |
296fd95dac26bce672a206bc4b0ea7a0
|
|
| BLAKE2b-256 |
89e4822283875a09bf4bbd3698003ebe1b4bd7b9ea93874b79b15f68aa459429
|