返回 MCP 目录
public公开dns本地运行

ghost-mcp

Ghost MCP Server是一个通过LLM接口(如Claude)与Ghost CMS交互的协议服务器,提供安全的API访问和全面的内容管理功能,支持文章、用户、订阅等多资源操作。

article

README

🚀 鬼魂 MCP 服务器

一个用于通过大型语言模型 (LLM) 接口与 Ghost CMS 交互的 Model Context Protocol (MCP) 服务器。此服务器提供安全且全面的 Ghost 博客访问权限,并利用 JWT 认证和丰富的 MCP 工具集,支持管理文章、用户、成员、订阅层级、优惠和简报。

🚀 快速开始

要与此 MCP 服务器配合使用,请在 claude_desktop.yaml 中添加以下内容:

ghost-mcp-server:
  enabled: true
  endpoint: http://localhost:5000

默认端口为 5000。请参考 配置文件 了解详细信息。

✨ 主要特性

  • 使用 @tryghost/admin-api 安全请求 Ghost Admin API
  • 全面的实体访问权限,涵盖文章、用户、成员、订阅层级、优惠和简报
  • 高级搜索功能,支持模糊匹配和精确匹配选项
  • 详细且易于理解的实体输出
  • 使用自定义 GhostError 异常处理错误
  • 集成的日志记录支持(通过 MCP 上下文),便于故障排除

📦 安装指南

我完全使用 TypeScript 重写了 Ghost MCP Server,并在 v0.1.0 版本中发布。此次重大变更带来了以下好处:

  • 安装简化:现在以 NPM 包形式提供(@fanyangmeng/ghost-mcp)
  • 可靠性提升:使用官方 @tryghost/admin-api 客户端,而非自定义实现
  • 维护更简便:TypeScript 提供类型安全和更好的代码组织
  • 配置更简洁:仅需设置 Node.js 环境变量

重大更改

  • Python 依赖不再需要
  • 配置方法发生变化(现使用 Node.js 环境变量)
  • Docker 部署简化
  • 安装流程变更(现使用 NPM)

请参阅下方更新文档,了解如何从 Python 版本迁移。如果遇到问题,请在 GitHub 上提交 issue。

环境变量

以下是运行服务器所需的环境变量:

  • GHOST_ADMIN_URL: Ghost 行政界面 URL(必需)
  • GHOST_ADMIN_KEY: Ghost 行政 API 密钥(必需)
  • PORT:服务器监听的端口,默认为 5000
  • NODE_ENV:环境模式,生产或开发

💻 使用示例

基础用法

要与此 MCP 服务器配合使用,请在 claude_desktop.yaml 中添加以下内容:

ghost-mcp-server:
  enabled: true
  endpoint: http://localhost:5000

高级用法

以下展示了文章管理和用户管理的代码示例:

文章管理

interface GhostArticleToolParams {
  title: string;
  content: string;
  authorId?: string;
  publishedAt?: string;
}

async function createGhostArticle(params: GhostArticleToolParams): Promise<void> {
  // 创建文章逻辑
}

async function updateGhostArticle(articleId: string, params: Omit<GhostArticleToolParams, 'title'>): Promise<void> {
  // 更新文章逻辑
}

async function deleteGhostArticle(articleId: string): Promise<void> {
  // 删除文章逻辑
}

用户管理

interface GhostUserToolParams {
  email: string;
  password: string;
  username?: string;
}

async function createUser(params: GhostUserToolParams): Promise<string> {
  // 创建用户逻辑,返回用户 ID
}

async function updateUser(userId: string, params: Omit<GhostUserToolParams, 'email'>): Promise<void> {
  // 更新用户逻辑
}

🔧 技术细节

Ghost MCP Server 使用自定义的 GhostError 异常来处理 API 通信错误和处理问题,以确保清晰且详细的错误消息,便于故障排除。

🤝 贡献指南

  1. 叉仓库
  2. 创建功能分支
  3. 提交更改
  4. 创建拉取请求

📄 许可证

MIT

演示

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端