mcpField
B
blink-cms

blink-cms

github.com/blink-newDocuments51 installs
Repository

About blink-cms

blink-cms is a skill for managing blink.new content through `user-blink-mcp`. It treats the CMS as a virtual file system with version history and draft management, supporting editorial workflows for documentation and blogs.

Key features

  1. 01List and read CMS content
  2. 02Create, update, and edit articles
  3. 03Publish articles and manage drafts
  4. 04Text and semantic search
  5. 05View and restore versions

Use cases

  1. 01Find and read blog posts or documentation
  2. 02Draft and publish an article
  3. 03Replace a specific passage in an article
  4. 04Review drafts or restore an earlier version

MCP support

It calls CMS tools through the `user-blink-mcp` MCP server for searching, reading, writing, draft management, publishing, and version operations.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/blink-new/claude --skill blink-cms

After installing, type/blink-cmsin Claude Code to confirm it loaded.

Details

From the project README

Blink CMS via MCP

Publish and manage content on blink.new using the user-blink-mcp server. The MCP treats the Blink CMS like a virtual file system with built-in versioning and draft management.

Quick Reference

TaskToolKey Params
List contentcms_list_dirpath: "docs" or "blog"
Read articlecms_read_filepath: "blog/article.mdx"
Create/Updatecms_write_filepath, content, publish
Edit sectioncms_search_replacepath, old_string, new_string
Publishcms_publishpaths: ["blog/x.mdx"]
Find textcms_grepquery, type
Semantic searchcms_searchquery, type
See draftscms_list_draftstype
Version historycms_get_versionspath

Content Structure

/docs/              → Documentation (quickstart, pricing, reference, etc.)
/docs/build/        → Build guides (prompting, tutorials, web-apps)
/docs/extend/       → Backend features (database, auth, storage)
/docs/launch/       → Deployment (domains, analytics)
/blog/              → Blog articles

Frontmatter Schema

Every article must include frontmatter:

---
title: "Article Title"
description: "Brief summary for SEO and cards"
category: "Engineering"        # Product, Engineering, Tutorial, Case Study
tags: ["AI", "Productivity"]   # Free-form array
status: "published"            # Overridden by publish action
---

Categories:

  • Product — Announcements, launches, feature updates
  • Engineering — Technical deep-dives, best practices
  • Tutorial — Step-by-step guides
  • Case Study — Customer success stories

Creating a New Article

cms_write_file(
  path: "blog/my-article.mdx",
  content: ---
title: "My Article Title"
description: "What this article is about"
category: "Engineering"
tags: ["AI", "Tips"]
---

## Introduction

Your content here with MDX components.

<Tip>Helpful tips use the Tip component.</Tip>
,
  publish: false    # Save as draft first
)

Then publish when ready:

cms_publish(paths: ["blog/my-article.mdx"])

Editing Existing Articles

Method 1: Full rewrite (use sparingly)

cms_write_file(path: "blog/article.mdx", content: "...full content...", publish: true)

Method 2: Surgical edit (preferred)

cms_search_replace(
  path: "blog/article.mdx",
  old_string: "## Introduction\n\nOld text here",
  new_string: "## Introduction\n\nNew text here"
)

Include 3-5 lines of context for unique matches. Flexible whitespace matching handles indentation differences automatically.

Finding Content

Fuzzy text search (finds exact phrases):

cms_grep(query: "deployment", type: "blog", limit: 10)

Semantic search (finds by meaning):

cms_search(query: "how to deploy apps", type: "blog")

Version Control

# See all versions
cms_get_versions(path: "blog/article.mdx")

# Restore a specific version
cms_activate_version(path: "blog/article.mdx", version: 3)

Draft Workflow

# Check for unpublished changes
cms_list_drafts(type: "blog")

# Discard draft (revert to last published)
cms_discard_draft(path: "blog/article.mdx")

MDX Components

Common components for rich content:

<Tip>Helpful tip text</Tip>
<Note>Informational note</Note>
<Warning>Caution about something</Warning>

<Steps>
  <Step title="First Step">Instructions</Step>
  <Step title="Second Step">More instructions</Step>
</Steps>

<CodeGroup>
  <CodeTab title="JavaScript">code here</CodeTab>
  <CodeTab title="Python">code here</CodeTab>
</CodeGroup>

<CardGroup cols={2}>
  <Card title="Feature Name" href="/docs/path" icon="Star">
    Brief description
  </Card>
</CardGroup>

<AccordionGroup>
  <Accordion title="Question?">Answer content</Accordion>
</AccordionGroup>

Workflow Best Practices

  1. Read before editing: Always cms_read_file first to understand current content
  2. Use surgical edits: Prefer cms_search_replace over full rewrites
  3. Preview drafts: Set publish: false to save drafts, review, then cms_publish
  4. Version awareness: cms_publish creates version snapshots—use for rollback safety
  5. Search first: Use cms_grep to find exact text before cms_search_replace

Complete Publishing Workflow

1. cms_list_dir(path: "blog")           → See current articles
2. cms_write_file(path, content, false) → Create/update as draft
3. cms_read_file(path)                  → Review the saved content
4. cms_publish(paths: [path])           → Go live with version snapshot

MCP Server Name

All tools are accessed via the user-blink-mcp server:

server: "user-blink-mcp"
toolName: "cms_list_dir"
arguments: { "path": "blog" }

Comments

Markdown supported