Skip to main content
Glama
README.mdโ€ข7.83 kB
# 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) ```bash # 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 ```bash # 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 ```bash # If installed globally content-manager-mcp # Using npx (no installation required) npx -y content-manager-mcp ``` #### Using Source Build ```bash node dist/index.js ``` ### MCP Client Configuration #### Claude Desktop Add to your Claude Desktop configuration: ```json { "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: ```json { "mcpServers": { "content-manager": { "command": "npx", "args": ["-y", "content-manager-mcp"] } } } ``` #### Claude Code Add MCP server using Claude Code CLI: ```bash # 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: 1. Install the MCP extension from VS Code marketplace 2. Add to your VS Code settings (`settings.json`): ```json { "mcp.servers": { "content-manager": { "command": "npx", "args": ["-y", "content-manager-mcp"] } } } ``` #### Cursor Configure MCP server in Cursor settings: 1. Open Cursor settings 2. Navigate to MCP configuration 3. Add new server: - **Name**: `content-manager` - **Command**: `npx` - **Arguments**: `["-y", "content-manager-mcp"]` Or add to Cursor's `settings.json`: ```json { "mcp.servers": { "content-manager": { "command": "npx", "args": ["-y", "content-manager-mcp"] } } } ``` ### Available Tools #### `render_markdown` Converts Markdown content to HTML with optional features: ```typescript { 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: ```typescript { 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: ```typescript { tags: string[], // Array of tags to search for directory?: string // Directory to search (default: cwd) } ``` #### `search_by_date_range` Find files by modification date: ```typescript { 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: ```typescript { content: string // Markdown content to analyze } ``` #### `extract_headings` Get structured heading information: ```typescript { content: string // Markdown content to analyze } ``` #### `extract_frontmatter` Parse YAML frontmatter from Markdown: ```typescript { content: string // Markdown content with frontmatter } ``` #### `get_directory_stats` Analyze directory content statistics: ```typescript { directory?: string // Directory to analyze (default: cwd) } ``` #### `find_content_files` Discover files with specific extensions: ```typescript { 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: ```typescript { filePath: string // Path to file to read } ``` ## ๐Ÿงช Development ### Scripts - `pnpm dev` - Development mode with watch - `pnpm build` - Build for production - `pnpm start` - Run built server - `pnpm lint` - Check code style - `pnpm lint:fix` - Fix code style issues - `pnpm type-check` - TypeScript type checking - `pnpm 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: ```markdown --- 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: ```bash # 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](./PUBLISH_TO_NPM.md). ## ๐Ÿค Contributing 1. Fork the repository 2. Create a feature branch: `git checkout -b feature-name` 3. Make changes and add tests 4. Ensure types are correct: `pnpm type-check` 5. 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.**

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Talljack/content-manager-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server