Token导航 LogoToken导航TokenDH.com
MCP Blog Assistant logo
浏览器工具未说明官方级别未说明来源级核验

MCP Blog Assistant

MCP Server

一个将Notion文章整理后自动发布到GitHub Pages的服务,支持多种文章类型模板。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
HTMLCursorNotion集成Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SuInWoo

提供方

SuInWoo

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP博客助手

MCP服务器,将在节点上整理的文章进行第一次整理(AI/规则)后,应用特定类型的模板自动发布到\*\*Github Pages(github.io)\*\*。

后类型

  • 玩具项目 (玩具)
  • 算法 (什么)
  • CS学习 (cs)
  • 日常 (每日)

节点数据库的 Type 在Select属性中 toy, algo, cs, daily 如果指定其中一个,则应用该模板。

YAML/设置环境变量

application.yaml在中定义了以下项目:敏感值为 环境变量建议将其放入。

概念

环境变量说明
notion.secretNOTION_SECRET节点联动保密(必需)
notion.database-id.blogNOTION_DATABASE_ID_BLOG博客的节点DB ID(可选)

节点关联令牌: 概念开发者在中创建Integration后复制秘密。必须将该集成连接到页面/DB。

GitHub页面(GitHub.io)

环境变量说明
github-pages.repoGITHUB_PAGES_REPO存储库 owner/repo (例如: myname/myname.github.io)
github-pages.branchGITHUB_PAGES_BRANCH要推送的分支(默认 main)
github-pages.tokenGITHUB_PAGES_TOKEN GitHub Personal Access Token(repo权限)
github-pages.posts-pathGITHUB_PAGES_POSTS_PATHJekyll文章路径(默认) _posts)

存储库 杰基尔 标准。标记将提交到各类型的子文件夹: _posts/Daily/, _posts/CS/, _posts/Algorithm/, _posts/Project/ (各 YYYY-MM-DD-슬러그.md).GitHub存储库必须具有相应的文件夹结构。

Blog通用

环境变量说明
blog.dry-runBLOG_DRY_RUNtrue面不实际发布,只生成内容

在本地打开服务器并进行测试

1.需要的东西

  • 注意:Integration秘密+博客的一个页面(需要页面ID)
  • 只看Preview的时候:只需要上面(不发布)
  • 实际GitHub发布: GITHUB_PAGES_REPO, GITHUB_PAGES_TOKEN 添加

2.设置

application.yaml如果已经有Enocean的秘密,可以保留。要用环境变量覆盖:

export NOTION_SECRET=ntn_xxxx   # 노션 Integration 시크릿
# GitHub 실제 발행할 때만
export GITHUB_PAGES_REPO=your-username/your-username.github.io
export GITHUB_PAGES_TOKEN=ghp_xxxx

3.运行服务器

./gradlew bootRun

默认端口 8080。控制台中 Started McpBlogAssistantApplication 出来的话就准备好了

4.方便使用的方法

  • Web表单:服务器启动后,在浏览器中 http://localhost:8080/publish.html 连接。输入页面ID后,只需单击“预览”/“发布GitHub”按钮即可。(无需单独前台开发即可使用)
  • 在节点中:复制要发布的页面URL,只复制地址窗口中的页面ID部分并粘贴到上面的表单中。节点本身没有“通过按钮调用API”功能,因此可以通过链接 http://localhost:8080/publish.html?pageId=복사한ID 像这样挂着,点击打开使用,使用起来很方便。
  • 在Cursor中:如果在服务器漂浮的情况下通过聊天说:“请用页面ID 30a5977fe8e480259b8bc9475aceccca发布GitHub。” curl可以通过调用publish API。

5.用作Cursor MCP(连接到工具)

只要在聊天中说“请发布xxx页面ID”,AI就会 MCP工具要通过调用发布,请使用此存储库中包含的 MCP适配器注册到Cursor即可。

条件

  • Spring Boot API服务器首先运行必须为(./gradlew bootRun).MCP适配器只通过HTTP调用该API,而不代表服务器。

设置过程

  1. 构建MCP适配器(第一次):
   cd mcp-server && npm install && npm run build && cd ..
  1. 在项目中 .cursor/mcp.json已存在。在使用此项目打开Cursor的情况下 Cursor设置>Features>MCPblog-assistant 验证服务器是否已打开。(如果使用项目MCP设置,则可能会自动加载。)
  2. 更改API base URL的步骤 .cursor/mcp.jsonenv.BLOG_API_URL修改。默认值为 http://localhost:8080是。

使用示例

  • “请预览诺森页面ID 30a5977fe8e480259b8bc9475aceccca”→AI notion_blog_preview 调用工具。
  • “请用页面ID 30a5977fe8e480259b8bc9475aceccca发行GitHub”→AI notion_blog_publish 调用工具。

MCP适配器 mcp-server/ 目录中的Node.js项目,仅在Cursor启动到stdio后调用工具时 http://localhost:8080/mcp/notion-to-blog/... 调用。

6.使用API进行测试(curl)

节点页面ID从节点URL复制:

  • 示例: https://www.notion.so/My-Page-abc123def456...abc123def456... (有连字符或无连字符都可以)

Preview(无需发布,只查看结果)

curl -s -X POST http://localhost:8080/mcp/notion-to-blog/preview \
  -H "Content-Type: application/json" \
  -d '{"pageId": "여기에_노션_페이지_ID"}' | jq .

title, content(HTML), postType 出来就正常。

Publish-dry run(无实际推送,仅查看内容)

curl -s -X POST http://localhost:8080/mcp/notion-to-blog/publish \
  -H "Content-Type: application/json" \
  -d '{"pageId": "여기에_노션_페이지_ID", "dryRun": true, "publishTarget": "github"}' | jq .

Publish-发布真正的GitHub Pages

GITHUB_PAGES_REPO, GITHUB_PAGES_TOKEN 设置后:

curl -s -X POST http://localhost:8080/mcp/notion-to-blog/publish \
  -H "Content-Type: application/json" \
  -d '{"pageId": "여기에_노션_페이지_ID", "dryRun": false, "publishTarget": "github"}' | jq .

响应 url(例如: https://username.github.io/repo/2025-02-18-slug/)出版后发行的。

jq 没有 | jq . 可以减去执行。在Windows上,可以通过PowerShell或Postman调用相同的URL和body。

提交消息

推送到GitHub时,提交消息 Post: {글 제목} 以格式输入。在NoteDB中,即使标题属性名称不是“Title”,类型为 title找到in属性并添加标题。

MCP REST API摘要

  • 预览 (不发布,仅生成HTML)
  POST /mcp/notion-to-blog/preview
  Content-Type: application/json
  { "pageId": "노션_페이지_ID" }
  • 发布 (整理后发布GitHub Pages或Tistory, dryRun: true跳过小平面卷期)
  POST /mcp/notion-to-blog/publish
  Content-Type: application/json
  { "pageId": "노션_페이지_ID", "dryRun": false, "publishTarget": "github" }

- publishTarget: "github" (仅当前支持)

节点页面ID是URL的一部分(无论是否删除连字符)。

测试

./gradlew test

假设节点DB模式

  • 标题 (title类型):文章标题
  • 类型 (选择): toy | algo | cs | daily

正文获取该页面的块并将其转换为Markdown格式。

目录标签

目录标签

HTMLCursorNotion集成本地部署博客发布GitHubPages自动化

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP