Provides comprehensive Markdown processing capabilities including rendering to HTML, extracting headings, generating table of contents, and parsing YAML frontmatter from Markdown files.
Enables parsing and extraction of YAML frontmatter from Markdown files for metadata processing and tag-based content organization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Content Manager MCP Serversearch my notes for 'machine learning' with fuzzy matching"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Content Manager MCP Server
A comprehensive TypeScript-based Model Context Protocol (MCP) server for content management, including Markdown processing, document generation, and intelligent note searching.
π Features
π Markdown Processing
Render Markdown to HTML with table of contents generation
Extract headings and create structured navigation
Parse frontmatter from Markdown files
HTML sanitization for safe content processing
π Intelligent Search
Fuzzy search through notes using Fuse.js
Exact text matching with context highlighting
Tag-based filtering using frontmatter metadata
Date range queries for time-based content discovery
π Content Analysis
Directory statistics showing file counts, sizes, and types
File discovery with customizable extension filtering
Content preview with metadata extraction
π Tech Stack
TypeScript - Type-safe development with latest ES2023 features
Zod - Runtime schema validation and type inference
tsup - Fast TypeScript bundler with ESM support
pnpm - Efficient package management
Fuse.js - Fuzzy search functionality
marked - Markdown parsing and rendering
π¦ Installation
Option 1: NPM Package (Recommended)
# Install globally
npm install -g content-manager-mcp
# Or use directly with npx
npx -y content-manager-mcpOption 2: From Source
Prerequisites
Node.js >= 20.0.0
pnpm >= 9.0.0
Setup
# Clone and install dependencies
git clone <repository-url>
cd content-manager-mcp
pnpm install
# Build the project
pnpm build
# Run in development mode
pnpm devπ§ Usage
As MCP Server
The server runs via stdio and implements the MCP protocol:
Using NPM Package
# If installed globally
content-manager-mcp
# Using npx (no installation required)
npx -y content-manager-mcpUsing Source Build
node dist/index.jsMCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"content-manager": {
"command": "npx",
"args": ["-y", "content-manager-mcp"]
}
}
}Cherry Studio
Configure MCP server:
Command:
npxArguments:
["-y", "content-manager-mcp"]
Codex
Add to your Codex MCP servers configuration:
{
"mcpServers": {
"content-manager": {
"command": "npx",
"args": ["-y", "content-manager-mcp"]
}
}
}Claude Code
Add MCP server using Claude Code CLI:
# Add content-manager-mcp server to Claude Code
claude mcp add content-manager -- npx -y content-manager-mcp
# Or if you prefer to install globally first
npm install -g content-manager-mcp
claude mcp add content-manager -- content-manager-mcpVS Code
Install the MCP extension and configure:
Install the MCP extension from VS Code marketplace
Add to your VS Code settings (
settings.json):
{
"mcp.servers": {
"content-manager": {
"command": "npx",
"args": ["-y", "content-manager-mcp"]
}
}
}Cursor
Configure MCP server in Cursor settings:
Open Cursor settings
Navigate to MCP configuration
Add new server:
Name:
content-managerCommand:
npxArguments:
["-y", "content-manager-mcp"]
Or add to Cursor's settings.json:
{
"mcp.servers": {
"content-manager": {
"command": "npx",
"args": ["-y", "content-manager-mcp"]
}
}
}Available Tools
render_markdown
Converts Markdown content to HTML with optional features:
{
content: string, // Markdown content to render
generateToc?: boolean, // Generate table of contents (default: true)
sanitizeHtml?: boolean, // Sanitize output HTML (default: true)
enableCodeHighlight?: boolean // Enable syntax highlighting (default: true)
}search_notes
Intelligent search through content files:
{
query: string, // Search query
directory?: string, // Directory to search (default: cwd)
includeContent?: boolean, // Include file content in results (default: true)
maxResults?: number, // Maximum results to return (default: 10)
fuzzy?: boolean // Use fuzzy search (default: true)
}search_by_tags
Find files by frontmatter tags:
{
tags: string[], // Array of tags to search for
directory?: string // Directory to search (default: cwd)
}search_by_date_range
Find files by modification date:
{
startDate: string, // ISO date string (YYYY-MM-DD)
endDate: string, // ISO date string (YYYY-MM-DD)
directory?: string // Directory to search (default: cwd)
}generate_table_of_contents
Extract and format headings as a table of contents:
{
content: string // Markdown content to analyze
}extract_headings
Get structured heading information:
{
content: string // Markdown content to analyze
}extract_frontmatter
Parse YAML frontmatter from Markdown:
{
content: string // Markdown content with frontmatter
}get_directory_stats
Analyze directory content statistics:
{
directory?: string // Directory to analyze (default: cwd)
}find_content_files
Discover files with specific extensions:
{
directory?: string, // Directory to search (default: cwd)
extensions?: string[] // File extensions (default: ['.md', '.markdown', '.txt', '.mdx'])
}read_content_file
Read and parse a single content file:
{
filePath: string // Path to file to read
}π§ͺ Development
Scripts
pnpm dev- Development mode with watchpnpm build- Build for productionpnpm start- Run built serverpnpm lint- Check code stylepnpm lint:fix- Fix code style issuespnpm type-check- TypeScript type checkingpnpm clean- Clean build artifacts
Type Safety
This project leverages Zod for runtime validation combined with TypeScript for compile-time safety. All tool arguments are validated at runtime, ensuring robust error handling and type safety.
Error Handling
Comprehensive error catching and reporting
Zod validation errors with descriptive messages
File system error handling
Graceful degradation for malformed content
π Example Usage
Frontmatter Format
The server recognizes YAML frontmatter in Markdown files:
---
title: My Document
tags: [typescript, mcp, documentation]
author: Your Name
date: 2024-01-15
---
# Document Content
Your markdown content here...Search Examples
Fuzzy search:
query: "typescript mcp"(finds related content)Exact search:
query: "exact phrase", fuzzy: falseTag search:
tags: ["typescript", "documentation"]Date search:
startDate: "2024-01-01", endDate: "2024-12-31"
π€ Publishing
This package is published to NPM as @yugangcao/content-manager-mcp. To publish a new version:
# Build the project
pnpm build
# Update version (patch/minor/major)
npm version patch
# Publish to NPM
npm publishFor detailed publishing instructions, see PUBLISH_TO_NPM.md.
π€ Contributing
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake changes and add tests
Ensure types are correct:
pnpm type-checkSubmit a pull request
π License
MIT License - see LICENSE file for details.
Built with β€οΈ using TypeScript, Zod, and the latest modern tooling for robust content management.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.