Markdown发布服务

一个MCP服务器,允许任何LLM将Markdown发布为格式精美的可共享网页。

  • by jotbirdhq
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 jotbirdhq/mcp-server-jotbird

使用说明

mcp服务器jotbird

一 主控程序 服务器 JotBird 它允许任何LLM将Markdown发布为格式精美、可共享的网页。

在对话中写一个文档,用一个工具调用发布它,并返回一个实时URL。支持完整的Markdown——标题、代码块、表格、脚注、数学、任务列表等。通过slug更新或删除页面,查看或更改页面设置(主题、品牌、可见性、密码保护)。

适用于Claude、ChatGPT、Gemini和任何兼容MCP的客户端。

快速开始

1.获取API密钥

登录地址: jotbird.com,打开 账户设置 从帐户菜单中,并在 API密钥 部分。

您的密钥以开头 jb_ 并且是 仅显示一次 --在关闭对话框之前复制它。

2.添加到您的客户端

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "jotbird": {
      "command": "npx",
      "args": ["-y", "mcp-server-jotbird"],
      "env": {
        "JOTBIRD_API_KEY": "jb_your_key_here"
      }
    }
  }
}
Claude Code
claude mcp add jotbird -e JOTBIRD_API_KEY=jb_your_key_here -- npx -y mcp-server-jotbird
ChatGPT

ChatGPT需要一个远程(HTTP)MCP服务器,它不直接支持本地stdio服务器。您需要运行一个代理,通过公共隧道通过HTTP公开服务器:

JOTBIRD_API_KEY=jb_your_key_here npx mcp-proxy --shell --tunnel -- npx -y mcp-server-jotbird

这将启动服务器并打印一个公共隧道URL(例如。 https://funny-eel-44.tunnel.gla.ma).

然后在ChatGPT中:

  1. 首选 设置>应用程序>高级设置 并启用 开发人员模式
  2. 点击 新应用程序,为其命名,并粘贴隧道URL /mcp 附加(例如。 https://funny-eel-44.tunnel.gla.ma/mcp)
  3. 将身份验证设置为 无身份验证 然后单击 创建
  4. 在新聊天中,选择 开发人员模式 从模型选择器中启用应用程序

看 OpenAI的MCP文档 了解详情。

Gemini CLI

编辑 .gemini/settings.json (项目层面)或 ~/.gemini/settings.json (全球):

{
  "mcpServers": {
    "jotbird": {
      "command": "npx",
      "args": ["-y", "mcp-server-jotbird"],
      "env": {
        "JOTBIRD_API_KEY": "$JOTBIRD_API_KEY"
      }
    }
  }
}

或者通过CLI添加:

gemini mcp add jotbird npx -e JOTBIRD_API_KEY=jb_your_key_here -- -y mcp-server-jotbird

看 Gemini CLI MCP文档 了解详情。

Other MCP clients

任何支持 模型上下文协议 通过stdio可以使用此服务器。设置 JOTBIRD_API_KEY 环境变量并运行:

npx -y mcp-server-jotbird

3.使用它

问你的法学硕士:

  • “写一篇关于X的博客文章并发布到JotBird”
  • “将这些会议笔记发布为可共享页面”
  • “用这个新部分更新我发布的页面‘我的笔记’”
  • “显示我所有已发布的页面”
  • “删除带有“旧草稿”的页面”
  • “在我的命名空间中以“项目注释”的形式发布此内容” (专业)
  • “我的页面“我的笔记”上的设置是什么?”
  • “将我的页面‘发布计划’切换到论文主题” (专业)
  • “将我的页面‘简历’公开,以便搜索引擎可以找到它”
  • “密码保护我的页面‘董事会’” (专业)

工具

publish

将Markdown内容发布为具有可共享URL的格式化网页。要更新现有页面,请传递其slug。拥有用户名的专业用户可以通过以下方式在永久命名空间的URL上发布 namespaced: true.

参数 必填 说明
markdown 是 Markdown内容(最大256 KB)。支持脚注、任务列表、定义列表、数学($…$ 和 $$…$$),以及内联HTML。
title 否 页面标题。如果省略,则使用Markdown中的第一个H1。
slug 否 砰的一声 现有的 页面要更新。省略发布新页面。用于命名空间页面(namespaced: true):必填--发布于 @username/slug.使用 list_documents 寻找蛞蝓。
namespaced 否 何时 true,在您的命名空间中发布: share.jotbird.com/@username/slug。需要Pro和在帐户设置中设置的用户名。

⚠️ slug 无法命名 新 页面。 它标识您已经拥有的页面,以便发布 再次将其更新到位。如果你传递的slug与你帐户上的任何页面都不匹配,那么它就是 默默地忽略 页面以自动生成的slug发布 (share.jotbird.com/brave-calm-meadow)--所以不要指望得到你要的URL。 新页面会得到一个随机的slug;选择URL的方法是 命名空间 第(Pro)页,见下文。

list_documents

列出用户已发布的页面。返回每个页面的标题、URL、slug、过期日期和用户名(对于命名空间页面)。

没有参数。

delete

永久删除已发布的页面及其可共享URL。无法撤消。

参数 必填 说明
slug 是 要删除的页面的蛞蝓,或完整的 @username/slug 命名空间页面的标识符。使用 list_documents 寻找蛞蝓。
namespaced 否 何时 true,删除文档 @username/slug 而不是平面URL。如果slug已经以开头,则不需要 @username/。需要Pro和用户名。

get_settings

获取已发布页面的设置:主题、品牌、可见性、标签和过期时间。页面密码是只写的,从不返回。

参数 必填 说明
slug 是 整页或整页 @username/slug 标识符。使用 list_documents 寻找蛞蝓。
namespaced 否 何时 true,在以下位置解决该问题 @username/slug 而不是平面URL。如果slug已经以开头,则不需要 @username/.

update_settings

更新已发布页面的设置。只有你经过的字段会改变;其他一切都保存了下来。启用Pro功能(非默认主题, hideBranding: true,密码保护)需要Pro订阅-任何帐户都可以清除它们。

参数 必填 说明
slug 是 要更新的页面有一小段,或完整 @username/slug 标识符。
namespaced 否 何时 true,在以下位置解决该问题 @username/slug 而不是平面URL。如果slug已经以开头,则不需要 @username/.
theme 没有 default, minimal, essay,或 terminal。非默认主题仅限于专业版。
hideBranding 否 隐藏“使用JotBird发布”页脚。启用仅限专业版。
visibility 没有 unlisted (默认), public (搜索可索引),或 password (Pro)。设置可见性会清除所有以前的密码。
password 否 必填项(仅适用于) visibility: "password"从未回应。

至少一个 theme, hideBranding,或 visibility 必须提供。 tags 由以下人员报告 get_settings 但不能在这里更改——在web应用程序中设置它们。

设置更改会立即反映在API中,但实时页面可能需要大约一分钟的时间来反映缓存刷新时的可见性更改。主题和品牌立即生效。开启密码保护 上 立即生效,因此在更改传播时,页面永远不会可读。

命名空间URL(专业版)

在“帐户设置”中设置用户名的专业用户可以在永久、人类可读的网址上发布,如 share.jotbird.com/@username/my-page只需询问你的AI:

“在我的命名空间中以“项目注释”的形式发布此内容。” → share.jotbird.com/@clayton-myers/project-notes

命名空间页面永远不会过期,并在更新过程中保持相同的URL。在中设置您的用户名 账户设置 在 jotbird.com.

限制

免费 专业版
已发布页数 10 无限制
每小时发布次数 10 100
每小时更新设置 10 100
页面过期 90天 从未过期
最大降价大小 256 KB 256 KB

有几件事值得了解:

  • 10页的页数上限 新 页。 更新已发布的页面永远不会被阻止 不管你有多少。在免费帐户上发布第11个新页面失败,并显示“文档” 达到限制”错误。
  • update_settings 在自己的桶中受到速率限制,与出版分开,因此不断变化 设置不会占用您的发布配额。阅读(get_settings, list_documents)不受限制 完全。当你达到极限时,工具告诉你要等多久。
  • 在免费帐户上启用仅限专业版设置失败,并命名该设置,所以你的AI可以分辨 你确实需要升级。免费帐户始终可以 清楚 专业设置 (theme: "default", hideBranding: false)并在以下之间切换 unlisted 和 public.

环境变量

变量 必填 描述
JOTBIRD_API_KEY 是 您的JotBird API密钥(jb_...)
JOTBIRD_API_URL 没有 API基本URL(默认值: https://www.jotbird.com)

发展

npm install
npm run build     # tsc → dist/
npm test          # vitest

针对您的帐户运行服务器(它通过stdio与MCP通信,因此它将等待 客户端——这就是成功开始的样子):

JOTBIRD_API_KEY=jb_your_key node dist/index.js

将其指向不同的后端 JOTBIRD_API_URL.

许可证

麻省理工学院