Storyblok CMS集成服务器

一个全面的Storyblok CMS集成服务器,提供故事、资产、组件、发布等内容管理功能。

  • by zerdos
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zerdos/mcp-storyblok-server

使用说明

MCP Storyblok服务器

用于Storyblok CMS集成的综合模型上下文协议(MCP)服务器。此服务器通过组织良好的模块化架构提供用于管理故事、资产、组件、版本等的工具。

特性

  • 故事管理:CRUD操作、发布、版本控制和生命周期管理
  • 资产管理:上载工作流、组织和文件夹管理
  • 组件管理:块/组件模式管理和更新
  • 标签管理:内容的组织和分类
  • 发布管理:计划发布工作流
  • 内容搜索:高级过滤和内容发现
  • 空间管理空间层面的操作与元数据

建筑

服务器遵循模块化架构,关注点明确分离:

src/
├── config/           # Configuration and environment setup
├── types/            # TypeScript type definitions
├── utils/            # Shared utilities and API helpers
├── tools/            # Tool implementations organized by feature
│   ├── ping.ts       # Health check
│   ├── stories.ts    # Story management
│   ├── releases.ts   # Release workflows
│   ├── tags.ts       # Tag management
│   ├── assets.ts     # Asset management
│   ├── components.ts # Component management
│   ├── search.ts     # Content discovery
│   ├── space.ts      # Space operations
│   └── index.ts      # Tool registration
└── index.ts          # Main server entry point

环境变量

需要以下环境变量:

STORYBLOK_SPACE_ID=your_space_id
STORYBLOK_MANAGEMENT_TOKEN=your_management_token
STORYBLOK_DEFAULT_PUBLIC_TOKEN=your_public_token

安装和设置

  1. 安装依赖项:
yarn install
  1. 构建项目:
yarn build
  1. 在MCP客户端配置中配置环境变量。

发展

建筑

yarn build

类型检查

yarn tsc --noEmit

工具类别

基本工具

  • ping:服务器健康检查

内容管理

  • fetch-stories:使用筛选功能列出故事
  • get-story:按ID/slug获取具体故事
  • create-story:创建新故事
  • update-story:更新现有故事
  • delete-story:删除故事
  • publish-story / unpublish-story:发布控制
  • get-story-versions / restore-story:版本管理

标签管理

  • fetch-tags:列出所有标签
  • create-tag:创建新标记
  • create-tag-and-add-to-story:创建和分配标签
  • delete-tag:删除标记

发布管理

  • fetch-releases:列表发布
  • create-release:创建计划发布
  • add-story-to-release:向发布中添加内容
  • publish-release:发布版本
  • delete-release:删除版本

资产管理

  • fetch-assets:列出具有筛选功能的资产
  • get-asset:获取特定资产详细信息
  • delete-asset:删除资产
  • init-asset-upload / complete-asset-upload:上传工作流
  • fetch-asset-folders:列出资产文件夹
  • create-asset-folder / update-asset-folder / delete-asset-folder:文件夹管理

组件管理

  • fetch-components:列出所有组件
  • get-component:获取特定组件
  • create-component:创建新组件
  • update-component:更新组件架构
  • delete-component:移除组件

内容发现

  • search-stories:高级内容搜索
  • get-story-by-slug:通过slug获取内容

空间管理

  • get-space:获取空间信息
  • fetch-folders:列出内容文件夹
  • fetch-datasources:列出数据源

已实施的最佳实践

  • 模块化架构:每个工具类别都在自己的文件中
  • 类型安全:所有接口的全面TypeScript类型
  • 错误处理:所有工具的一致错误处理
  • 代码重用:用于共同操作的共享公用设施
  • 文档:全面的内联文档
  • 配置管理:集中式环境变量处理

API覆盖范围

此服务器提供Storyblok Management API和Content Delivery API的全面覆盖,包括:

  • 故事API(管理与交付)
  • 资产API
  • 组件API
  • 发布API
  • 标签API
  • 空间API
  • 数据源API

每个工具都包括正确的错误处理、参数验证和一致的响应格式。