Token导航 LogoToken导航TokenDH.com
Micropub MCP logo
AI代理未说明官方级别未说明来源级核验

Micropub MCP

MCP Server

为AI代理(如Claude Code、Cursor等)提供创建、更新、删除和查询Micropub兼容博客内容的服务,支持通过IndieAuth进行认证。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaudeAI代理ClaudeCursor

安装说明

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

作者 / 组织

rmdes

提供方

rmdes

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

micropub-mcp

MCP服务器,允许AI代理(Claude Code、Cursor等)创建、更新、删除和查询任何帖子 Micropub-兼容的博客。通过以下方式进行身份验证 印度 使用PKC。

建于 包子 +TypeScript。

快速开始

1.安装

git clone https://github.com/rmdes/micropub-mcp.git
cd micropub-mcp
bun install

2.添加到克劳德代码

添加到您的 .mcp.json (项目或全球):

{
  "mcpServers": {
    "micropub": {
      "command": "bun",
      "args": ["run", "/path/to/micropub-mcp/src/index.ts"]
    }
  }
}

3.身份验证

告诉克劳德: *“通过我的博客进行身份验证https://yourblog.com"*

这叫 micropub_auth,其中:

  1. 发现您博客的IndieAuth端点
  2. 打开浏览器进入授权页面
  3. 您批准访问,回调服务器将捕获令牌
  4. 令牌保存到 ~/.config/micropub-mcp/.json

身份验证在会话之间持续存在。你只需要做一次。

4.开始发布

"Create a note saying Hello from my MCP client!"
"Write an article titled 'My Setup' about my development environment"
"Syndicate a note to Bluesky and Mastodon about the IndieWeb"

工具

micropub_auth

通过IndieAuth+PKCE与Micropub兼容的博客进行身份验证。

参数类型必填说明
site_urlstring您的博客URL(例如。, https://yourblog.com)
scopestringOAuth作用域(默认值: create update delete media)

microub_create

创建新帖子(注释、文章、照片、书签等)。

参数类型必填说明
contentstring发布内容(文本或HTML)
typestring帖子类型: entry (默认), event
namestring标题(使其成为文章)
summarystring帖子摘要
categorystring\[\]标签/类别
syndicate_tostring\[\]联合目标UID
in_reply_tostring正在回复的URL
like_ofstring正在被点赞的URL
repost_ofstring正在转发的URL
photostring\[\]照片URL
slugstringURL段符
post_statusstringpublisheddraft
publishedstringISO 8601日期
ai_text_levelstringAI文本参与: 0 (无), 1 (社论), 2 (共同起草), 3 (人工智能生成)
ai_code_levelstringAI代码参与: 0 (人类), 1 (人工智能辅助), 2 (主要是AI)
ai_toolsstring使用的AI工具(例如。 "Claude", "ChatGPT, Copilot")
ai_descriptionstringAI使用的自由文本描述

示例:

Create a note: { content: "Hello world" }
Create an article: { name: "My Title", content: "Article body..." }
Create a bookmark: { like_of: "https://example.com/post" }
Create a reply: { in_reply_to: "https://example.com/post", content: "Great post!" }
Syndicate: { content: "Cross-posted!", syndicate_to: ["https://brid.gy/publish/bluesky"] }
With AI metadata: { content: "AI-assisted post", ai_text_level: "2", ai_tools: "Claude" }

微插件更新

更新现有帖子。

参数类型必填说明
urlstring要更新的帖子的URL
replaceobject要替换的属性(值是数组)
addobject要添加的属性
delete_propertiesstring\[\]要删除的属性名称

例子: { url: "https://blog.com/notes/abc", replace: { content: ["Updated text"] }, add: { category: ["new-tag"] } }

微孔板

删除帖子。

参数类型必填说明
urlstring要删除的帖子的URL

微型潜艇

恢复以前删除的帖子。

参数类型必填说明
urlstring要还原的帖子的URL

微子查询

查询Micropub服务器的配置、帖子或元数据。

参数类型必填说明
qstringYes查询类型(见下文)
urlstring帖子URL(用于 source 查询)
propertiesstring\[\]要返回的属性
limitnumber最大结果
offsetnumberNo分页偏移

查询类型:

  • config --服务器功能、联合目标、帖子类型
  • source --获取帖子的属性(需要 url)
  • syndicate-to --可用的联合目标
  • post-types --支持的帖子类型
  • category --可用类别/标签
  • channel --可用频道

Micropub上传

将媒体文件上载到服务器的媒体端点。

参数类型必填说明
file_pathstring文件的绝对路径

返回上传文件的URL,可用于 photo, video,或 audio 参数 micropub_create.

AI透明度元数据

帖子可以选择性地携带披露人工智能参与的元数据。这些字段作为标准Micropub mf2属性发送(ai-text-level, ai-code-level, ai-tools, ai-description).

所有字段都是可选的。 如果你的Micropub服务器不知道它们,它只会将它们存储为额外的属性或忽略它们——不需要特殊的服务器端支持。这适用于任何标准的Micropub端点。

级别ai_text_levelai_code_level
0无-一切都是人类写的人类写的
1编辑协助(语法、拼写)AI辅助
2共同起草(人工指导,人工智能编写)主要由人工智能生成
3人工智能生成(人工审查)--

如果您的服务器确实支持这些字段(例如。, 印度人 随着 @rmdes/indiekit-endpoint-posts),它们可以显示在帖子表单UI中,用于过滤或标记帖子。

身份验证的工作原理

┌─────────┐     ┌──────────────┐     ┌─────────────┐     ┌──────────┐
│  Claude  │────>│  MCP Server  │────>│   Browser    │────>│   Blog   │
│  Code    │     │  (this tool) │     │              │     │  Server  │
└─────────┘     └──────────────┘     └─────────────┘     └──────────┘
     │                │                     │                    │
     │  micropub_auth │                     │                    │
     │───────────────>│                     │                    │
     │                │  discover endpoints │                    │
     │                │────────────────────────────────────────>│
     │                │  start callback     │                    │
     │                │  server :19750      │                    │
     │                │  open browser ──────>│                    │
     │                │                     │  authorize ────────>│
     │  "open browser"│                     │                    │
     ││
     │                │.json` 包括:

- 访问令牌
- 刷新令牌(如果提供)
- 过期时间
- 已发现的端点(micropub、媒体、令牌)

如果有可用的刷新令牌,过期的令牌将自动刷新。

## 需求

- [包子](https://bun.sh) 1.0+
- 支持Micropub+IndieAuth的博客(例如。, [印度人](https://getindiekit.com), [带有IndieWeb插件的WordPress](https://indieweb.org/WordPress), [微博客](https://micro.blog))

### Indiekit特定注释

如果你的博客在nginx后面运行Indiekit,请确保:

1. **内容安全策略 `form-action`**:The `/auth` 位置必须允许 `form-action *` (或至少 `http://localhost:*`)因此OAuth同意书可以重定向到本地回调服务器。如果没有这个,点击“允许”什么也不做(日志中的HTTP 499)。

1. **重定向验证**:Indiekit的上游重定向正则表达式(`/^\/[\w&/=?]*$/`)拒绝路径中的连字符,如 `/auth/new-password`如果你击中 `ForbiddenError: Invalid redirect attempted`,补丁 `lib/indieauth.js` 使用扩展的正则表达式。

## 发展

Run tests

bun test

Start the MCP server (stdio)

bun run src/index.ts


## 建筑

src/ ├── index.ts Entry point — creates MCP server, connects stdio transport ├── tools.ts 7 MCP tool definitions with Zod schemas ├── auth.ts IndieAuth + PKCE flow, token storage, non-blocking callback server ├── client.ts Micropub HTTP client (create/update/delete/query/upload) └── discovery.ts Endpoint discovery from Link headers + HTML + indieauth-metadata


## 许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaudeAI代理博客管理本地部署IndieAuth认证内容发布Micropub兼容

支持客户端

ClaudeCursor

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP