Ghost CMS API服务器

一个与Ghost Admin API集成的模型上下文协议(MCP)服务器,提供对Ghost CMS功能的程序化访问,包括文章管理、页面管理、成员管理等。

  • by mtane0412
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 mtane0412/ghost-mcp-server

使用说明

Ghost MCP服务器

与Ghost Admin API集成的模型上下文协议(MCP)服务器。此服务器支持对Ghost CMS功能的编程访问,包括帖子管理、页面管理、成员管理等。

特性

  • 帖子管理(创建、阅读、更新、删除、搜索)
  • 页面管理(创建、读取、更新、删除)
  • 标签管理
  • 作者管理
  • 成员管理(创建、读取、更新、删除、搜索)
  • 图像上传支持

先决条件

  • Node.js(建议使用v18或更高版本)
  • Ghost CMS实例
  • Ghost Admin API密钥

安装

使用npm安装包:

npm install @mtane0412/ghost-mcp-server

配置

  1. 在Ghost Admin仪表板的“设置”>“集成”下创建新的自定义集成。

  2. 设置以下环境变量:

# macOS/Linux
export GHOST_URL="https://your-ghost-blog.com"
export GHOST_ADMIN_API_KEY="your_admin_api_key"

# Windows (PowerShell)
$env:GHOST_URL="https://your-ghost-blog.com"
$env:GHOST_ADMIN_API_KEY="your_admin_api_key"

或者,您可以创建 .env 文件:

GHOST_URL=https://your-ghost-blog.com
GHOST_ADMIN_API_KEY=your_admin_api_key

用法

安装后,使用以下命令启动服务器:

npx @mtane0412/ghost-mcp-server

可用工具

get_posts

检索博客文章列表。

输入:

{
  "limit": "number", // Optional: Number of posts to retrieve (1-100, default: 10)
  "page": "number"   // Optional: Page number (default: 1)
}

get_post

按ID检索特定帖子。

输入:

{
  "id": "string" // Required: Post ID
}

搜索帖子

搜索帖子。

输入:

{
  "query": "string", // Required: Search query
  "limit": "number"  // Optional: Number of posts to retrieve (1-100, default: 10)
}

create_post

创建新帖子。

输入:

{
  "title": "string",     // Required: Post title
  "html": "string",      // Optional: HTML content
  "lexical": "string",   // Optional: Lexical content
  "status": "string",    // Optional: Post status (published/draft/scheduled)
  "visibility": "string" // Optional: Visibility level (public/members/paid/tiers)
}

update_post

更新现有帖子。

输入:

{
  "id": "string",       // Required: Post ID
  "title": "string",    // Optional: Post title
  "html": "string",     // Optional: HTML content
  "lexical": "string",  // Optional: Lexical content
  "status": "string"    // Optional: Post status
}

删除_发布

删除帖子。

输入:

{
  "id": "string" // Required: Post ID
}

获取页面

检索页面列表。

输入:

{
  "limit": "number",     // Optional: Number of pages to retrieve (1-100, default: 10)
  "page": "number",      // Optional: Page number (default: 1)
  "order": "string",     // Optional: Sort order
  "formats": ["string"], // Optional: Content formats (html/mobiledoc/lexical)
  "include": ["string"]  // Optional: Related data to include (authors/tags)
}

获取成员

检索成员列表。

输入:

{
  "limit": "number",     // Optional: Number of members to retrieve (1-100, default: 10)
  "page": "number",      // Optional: Page number (default: 1)
  "order": "string",     // Optional: Sort order
  "include": ["string"]  // Optional: Related data to include (labels/newsletters)
}

search_members

搜索成员。

输入:

{
  "query": "string",     // Required: Search query
  "limit": "number",     // Optional: Number of members to retrieve (1-100, default: 10)
  "include": ["string"]  // Optional: Related data to include (labels/newsletters)
}

upload_image

上传图像。

输入:

{
  "file": "string",   // Required: Base64 encoded image data
  "purpose": "string" // Optional: Image purpose (image/profile_image/icon)
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspect

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

许可证

MIT许可证