
Content Manager
An MCP server that manages and searches through markdown files using fuzzy search, frontmatter parsing, and HTML rendering. It provides content analysis and navigation tools for documentation and knowledge base systems.
Provides content management capabilities for markdown files with fuzzy and exact search through Fuse.js, frontmatter parsing, HTML rendering, and ten core tools including note searching, tag filtering, date range queries, table of contents generation, and directory statistics for building documentation systems and knowledge base applications.
What it does
- Search markdown files with fuzzy matching
- Parse frontmatter metadata from files
- Render markdown to HTML with table of contents
- Filter content by tags and date ranges
- Generate directory statistics and file analysis
- Extract headings and create navigation structures
Best for
About Content Manager
Content Manager is a community-built MCP server published by talljack that provides AI assistants with tools and capabilities via the Model Context Protocol. Content Manager offers powerful knowledge base software for managing markdown docs with advanced search, analytics, and It is categorized under productivity.
How to install
You can install Content Manager in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Content Manager is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
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-mcp
Option 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-mcp
Using Source Build
node dist/index.js
MCP 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:
npx - Arguments:
["-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-mcp
VS 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-manager - Command:
npx - Arguments:
["-y", "content-manager-mcp"]
- Name:
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: false - Tag 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 publish
For detailed publishing instructions, see PUBLISH_TO_NPM.md.
๐ค Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make changes and add tests
- Ensure types are correct:
pnpm type-check - Submit 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.
Alternatives
Related Skills
Browse all skillsCreates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
Convert various file formats (PDF, Office documents, images, audio, web content, structured data) to Markdown optimized for LLM processing. Use when converting documents to markdown, extracting text from PDFs/Office files, transcribing audio, performing OCR on images, extracting YouTube transcripts, or processing batches of files. Supports 20+ formats including DOCX, XLSX, PPTX, PDF, HTML, EPUB, CSV, JSON, images with OCR, and audio with transcription.
Create beautiful infographics based on the given text content. Use this when users request creating infographics.
Apply and enforce brand voice, style guide, and messaging pillars across content. Use when reviewing content for brand consistency, documenting a brand voice, adapting tone for different audiences, or checking terminology and style guide compliance.