Marimo Documentation MCP Server
by StevenBtw
This MCP server provides access to the Marimo Documentation, allowing you to fetch and search through Marimo's API documentation. It offers structured access to components, interfaces, and examples across all documentation sections.
Last updated: N/A
Marimo Documenation MCP Server
A Model Context Protocol (MCP) server that provides access to the Marimo Documentation.
This TypeScript-based MCP server lets you fetch and search through Marimo's API documentation, providing structured access to components, interfaces, and examples across all documentation sections.
Features
Tools
get_element_api
Get detailed API documentation for any Marimo UI element or component.
- Input:
element
(string) - Name of the element to get documentation for (e.g., "slider", "button") - Output: Structured API documentation including:
- Title and description
- Parameters with types and defaults
- Code examples
- Usage patterns
search_api
Search across all Marimo API documentation.
- Input:
query
(string) - Search term to find in documentation - Output: Array of matching documentation entries from any section
Documentation Sections
The server provides access to documentation for all Marimo components:
Inputs
- Form elements (button, checkbox, dropdown, etc.)
- Data inputs (array, dataframe, dictionary)
- File handling (file, file_browser)
- Interactive elements (slider, range_slider, tabs)
Layouts
- Structural components (accordion, sidebar, tree)
- Organization tools (callout, carousel)
- Content management (lazy, routes)
Media
- Media elements (audio, video, image)
- File handling (download, pdf)
- Text display (plain_text)
Core Features
- Markdown
- Control Flow
- Plotting
- HTML
- State Management
- And more...
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
With Claude Desktop
Add to:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"marimo-docs": {
"command": "/path/to/marimo-docs/build/index.js"
}
}
}
With VSCode Cline Extension
Add to:
- MacOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- Windows:
%APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
{
"mcpServers": {
"marimo-docs": {
"command": "node",
"args": ["/path/to/marimo-docs/build/index.js"]
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. For development, the server outputs detailed logs to stderr.
You can also use the MCP Inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Error Handling
The server provides organized error messages that:
- List all available elements grouped by section
- Provide clear feedback on invalid requests
- Include proper HTTP error codes
Implementation Details
- Uses Cheerio for HTML parsing of documentation pages
- Implements caching to reduce documentation fetch requests
- Handles proper URL construction for all documentation sections
- Supports recursive search across all documentation content