mcp活字打字机
移动式MCP服务器。
它允许MCP兼容的AI工具(如Claude Desktop)与Movable Type配合使用,从而可以在MT中直接创建和编辑AI生成的草稿。
你可以与AI助手一起头脑风暴文章,将结果存储为Movable Type草稿,并通过要求AI修改章节来迭代同一草稿。
特性
- 🤖 人工智能集成:直接从Claude Desktop或任何MCP客户端将草稿发布到Movable Type。
- 💾 会话跟踪:记住上次编辑的草稿,以便多步骤重写保持上下文。
- ✏️ 重写准备就绪:“修复此段落”样式提示更新当前草稿。
- 📝 草案管理:列出草稿并检查单个草稿的详细信息。
为了安全起见,此服务器有意专注于协作草稿创建。确实如此 不 允许:
- 删除草稿或已发布的条目。
- 出版草稿。
- 编辑已发布的条目或将其还原为草稿。
需求
- Node.js 22.7.5或更高版本(建议使用当前LTS 24.x)。
- 可移动类型7 r.53xx或更新版本,启用数据API。
- 使用Data API v4及更高版本进行测试。
安装
如果你打算通过 npx,您可以跳过此部分并跳到“与npx一起使用”。git clone https://github.com/burnworks/mcp-movabletype-writer.git
cd mcp-movabletype-writer
npm install
npm run build或者直接从npm安装:
npm install mcp-movabletype-writer配置
1.准备活字
- 在系统仪表板和目标网站/博客仪表板中启用 工具→ Web服务→ 数据API.
- 打开将运行API调用的MT用户配置文件,并注意 用户名 和 Web服务密码 (这是 *不同的* 来自常规CMS登录密码)。
- 确认数据API端点URL(例如。
https://example.com/your_mt_path/mt-data-api.cgi).
2.配置克劳德桌面
打开 claude_desktop_config.json.
文件位置
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
您还可以从以下位置打开文件 克劳德桌面→ 设置→ 管理员.
本地构建的示例配置
添加以下块。 args 必须包含到的完整路径 dist/index.js.\ 在Windows上,转义反斜杠,例如 mcp-movabletype-writer\\dist\\index.js.
{
"mcpServers": {
"movabletype-writer": {
"command": "node",
"args": [
"/full_path_to/mcp-movabletype-writer/dist/index.js"
],
"env": {
"MT_API_URL": "https://example.com/your_mt_path/mt-data-api.cgi",
"MT_USERNAME": "your_username",
"MT_PASSWORD": "your_webservice_password",
"MT_API_VERSION": "5",
"MT_CLIENT_ID": "your_client_id",
"MT_REMEMBER": "1"
}
}
}
}MT_API_URL:URL到mt-data-api.cgi.MT_USERNAME:可移动类型用户名。MT_PASSWORD: *Web服务密码* 从MT用户配置文件(do 不 使用正常登录密码)。MT_API_VERSION:正在使用的数据API版本,例如。5,6,7.MT_CLIENT_ID:任何由字母组成的标识符,_,或-(例如。mcp-movabletype-writer).MT_REMEMBER:remember旗帜(0/1).把它留在1在注销之前保持会话活动。使用0只有当你需要非常短暂的代币时。
改变 MT_API_VERSION 让您在不重建的情况下将相同的二进制文件指向MT Data API v4/v5/v6/v7。 MT_CLIENT_ID 必须设置;如果服务器丢失,则退出。保持 MT_REMEMBER=1 减少了令牌在会话中期到期的机会。
与npx一起使用
您可以使用以下命令运行已发布的包 npx在这种情况下,点 command 到 npx:
{
"mcpServers": {
"movabletype-writer": {
"command": "npx",
"args": [
"mcp-movabletype-writer"
],
"env": {
"MT_API_URL": "https://example.com/your_mt_path/mt-data-api.cgi",
"MT_USERNAME": "your_username",
"MT_PASSWORD": "your_webservice_password",
"MT_API_VERSION": "5",
"MT_CLIENT_ID": "mcp-movabletype-writer",
"MT_REMEMBER": "1"
}
}
}
}使用 mcp-movabletype-writer@1.0.0 如果你更喜欢固定一个特定的版本。这 env 设置与本地构建相同。
高级设置(高级用户)
不适合日常用户居住的微调旋钮 internal-config.json.复制 internal-config.example.json 将其重命名为项目根目录(或运行服务器的任何位置) internal-config.json,并调整值。
requestTimeoutMs:Movable Type HTTP请求的超时(毫秒)。默认为30000.
如果文件丢失或包含无效的JSON,服务器将恢复到内置默认值,因此可以安全地进行实验。
用法
基本流
User: ブログID 1に「MTプラグイン開発入門」という記事の下書きを作成して
Claude: create_draftを実行...
→ 下書きを作成しました(ID: 123)
User: タイトルを「初心者向けMTプラグイン開発」に変更して
Claude: update_last_draftを実行...
→ 記事を更新しました(ID: 123)
User: 本文に「はじめに」のセクションを追加して
Claude: update_last_draftを実行...
→ 記事を更新しました(ID: 123)提示
- 如果您管理多个博客,请让Claude运行
list_sites并选择正确的blog_id从结果来看。 - Claude可能默认为HTML输出;如果你喜欢Markdown草稿,请明确请求“保存在Markdown中”。
- 在一次对话中,服务器会记住最新的草稿,因此后续编辑通常不需要指定
entry_id. - 要编辑另一个草稿,请要求
list_recent_drafts,从列表中选择一个ID,并将其提供给update_draft.
有关详细信息,请参阅下面的工具说明。
可用工具
list_sites
返回可用的博客/网站。
Claude: list_sitesで確認...
→ ID: 1, Name: "Tech Blog"
→ ID: 2, Name: "News"create_draft
创建新草稿。
- 必修的:
blog_id,title,body - 可选:
tags,categories
update_last_draft
更新最近创建/编辑的草稿。
- 所有参数都是可选的;仅更改提供的字段。
update_draft
通过显式ID更新草稿。
- 必修的:
blog_id,entry_id - 可选:
title,body,tags,categories
get_draft
获取草稿详细信息。
- 必修的:
blog_id,entry_id
list_recent_drafts
列出最近的草稿。
- 必修的:
blog_id - 可选:
limit(默认值10)
会话存储
有关最新草稿的信息存储在 ~/.mcp-mt/session.json:
{
"lastEntryId": 123,
"lastBlogId": 1,
"lastUpdated": "2025-11-07T10:00:00.000Z"
}这让 update_last_draft 运行而不指定 entry_id.
对于开发者
使用环境变量 npm run dev
如果你想迭代 npm run dev (tsx)代替 npm run build,复制示例env文件:
cp .env.example .envMT_API_URL=https://example.com/your_mt_path/mt-data-api.cgi
MT_USERNAME=your_username
MT_PASSWORD=your_webservice_password
MT_API_VERSION=5
MT_CLIENT_ID=your_client_id
MT_REMEMBER=1然后运行:
npm install
npm run dev对于调试,工具如 @模型上下文协议/检查器 在开发过程中,可以轻松连接和操作MCP服务器。
故障排除
身份验证错误
- 确保
MT_USERNAME,MT_PASSWORD(Web服务密码),以及MT_CLIENT_ID是正确的。 - 验证数据API已启用,并且
mt-data-api.cgi是可访问的。
找不到草稿
- 使用
list_sites确认正确blog_id. - 跑
list_recent_drafts查看可用草稿及其ID。
会话不断重置
- 检查一下
~/.mcp-mt/session.json仍然存在。 - 重新启动Claude Desktop将启动一个新的MCP会话(因此为空白
session.json).
许可证
麻省理工学院
