文档API服务

一个基于TypeScript的MCP服务器,提供对Marimo文档的结构化访问和搜索功能。

  • by StevenBtw
  • JavaScript
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 StevenBtw/marimo-docs-mcp

使用说明

Marimo文档MCP服务器

一种模型上下文协议(MCP)服务器,提供对 Marimo文件.

这种基于TypeScripts的MCP服务器允许您获取和搜索Marimo的API文档,提供对所有文档部分的组件、接口和示例的结构化访问。

特性

工具

get_element_api

获取任何Marimo UI元素或组件的详细API文档。

  • 输入: element (string)-要获取文档的元素的名称(例如,“滑块”、“按钮”)
  • 输出:结构化API文档,包括:
    • 标题和说明
    • 具有类型和默认值的参数
    • 代码示例
    • 使用模式

搜索api

搜索所有Marimo API文档。

  • 输入: query (string)-在文档中查找的搜索词
  • 输出:来自任何部分的匹配文档条目数组

文件部分

服务器提供对所有Marimo组件文档的访问:

输入

  • 表单元素(按钮、复选框、下拉列表等)
  • 数据输入(数组、数据帧、字典)
  • 文件处理(文件、文件浏览器)
  • 交互元素(滑块、范围滑块、标签)

布局

  • 结构组件(手风琴、侧边栏、树)
  • 组织工具(标注、转盘)
  • 内容管理(懒惰、路由)

媒体

  • 媒体元素(音频、视频、图像)
  • 文件处理(下载,pdf)
  • 文本显示(plain_Text)

核心功能

  • 降价
  • 控制流程
  • 绘图
  • 超文本标记语言
  • 状态管理
  • 还有更多。..

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

使用克劳德桌面

添加到:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "marimo-docs": {
      "command": "/path/to/marimo-docs/build/index.js"
    }
  }
}

使用VSCode Cline扩展

添加到:

  • MacOS: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
  • 窗户: %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"]
    }
  }
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。对于开发,服务器将详细的日志输出到stderr。

您还可以使用 MCP检查员:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

错误处理

服务器提供有组织的错误消息,这些消息:

  • 按部分列出所有可用元素
  • 对无效请求提供明确反馈
  • 包含正确的HTTP错误代码

实现细节

  • 使用Cheerio对文档页面进行HTML解析
  • 实施缓存以减少文档获取请求
  • 处理所有文档部分的正确URL构造
  • 支持对所有文档内容进行递归搜索