返回 MCP 目录
public公开dns本地运行

content-manager-mcp

一个基于TypeScript的MCP内容管理服务器,提供Markdown处理、文档生成和智能笔记搜索功能,支持HTML渲染、模糊搜索、标签过滤和内容分析。

article

README

🚀 内容管理器MCP服务器

这是一个基于TypeScript的综合模型上下文协议(MCP)服务器,用于内容管理,支持Markdown处理、文档生成和智能笔记搜索等功能。

🚀 快速开始

本服务器通过标准输入输出运行,并实现了MCP协议。以下是不同使用方式的启动方法:

使用NPM包

# 若已全局安装
content-manager-mcp

# 使用npx(无需安装)
npx -y content-manager-mcp

使用源码构建

node dist/index.js

✨ 主要特性

📝 Markdown处理

  • 将Markdown渲染为HTML,同时生成目录
  • 提取标题,创建结构化导航
  • 解析Markdown文件的前置元数据
  • 对HTML进行清理,确保内容处理的安全性

🔍 智能搜索

  • 使用Fuse.js进行模糊搜索,可在笔记中进行模糊查找
  • 精确文本匹配,并高亮显示上下文
  • 基于前置元数据标签进行过滤
  • 支持日期范围查询,便于按时间查找内容

📊 内容分析

  • 目录统计,显示文件数量、大小和类型
  • 文件发现,可自定义文件扩展名进行过滤
  • 内容预览,同时提取元数据

📦 安装指南

选项1:NPM包(推荐)

# 全局安装
npm install -g content-manager-mcp

# 或者直接使用npx
npx -y content-manager-mcp

选项2:从源码安装

前提条件

  • Node.js >= 20.0.0
  • pnpm >= 9.0.0

安装步骤

# 克隆仓库并安装依赖
git clone <repository-url>
cd content-manager-mcp
pnpm install

# 构建项目
pnpm build

# 在开发模式下运行
pnpm dev

💻 使用示例

MCP客户端配置

Claude Desktop

在Claude Desktop配置中添加以下内容:

{
  "mcpServers": {
    "content-manager": {
      "command": "npx",
      "args": ["-y", "content-manager-mcp"]
    }
  }
}

Cherry Studio

配置MCP服务器:

  • 命令npx
  • 参数["-y", "content-manager-mcp"]

Codex

在Codex MCP服务器配置中添加以下内容:

{
  "mcpServers": {
    "content-manager": {
      "command": "npx",
      "args": ["-y", "content-manager-mcp"]
    }
  }
}

Claude Code

使用Claude Code CLI添加MCP服务器:

# 将content-manager-mcp服务器添加到Claude Code
claude mcp add content-manager -- npx -y content-manager-mcp

# 或者如果你更喜欢先全局安装
npm install -g content-manager-mcp
claude mcp add content-manager -- content-manager-mcp

VS Code

安装MCP扩展并配置:

  1. 从VS Code市场安装MCP扩展
  2. 在VS Code设置(settings.json)中添加以下内容:
{
  "mcp.servers": {
    "content-manager": {
      "command": "npx",
      "args": ["-y", "content-manager-mcp"]
    }
  }
}

Cursor

在Cursor设置中配置MCP服务器:

  1. 打开Cursor设置
  2. 导航到MCP配置
  3. 添加新服务器:
    • 名称content-manager
    • 命令npx
    • 参数["-y", "content-manager-mcp"]

或者在Cursor的settings.json中添加以下内容:

{
  "mcp.servers": {
    "content-manager": {
      "command": "npx",
      "args": ["-y", "content-manager-mcp"]
    }
  }
}

可用工具

render_markdown

将Markdown内容转换为HTML,支持可选功能:

{
  content: string,           // 要渲染的Markdown内容
  generateToc?: boolean,     // 生成目录(默认:true)
  sanitizeHtml?: boolean,    // 清理输出的HTML(默认:true)
  enableCodeHighlight?: boolean // 启用语法高亮(默认:true)
}

search_notes

在内容文件中进行智能搜索:

{
  query: string,             // 搜索查询
  directory?: string,        // 搜索目录(默认:当前工作目录)
  includeContent?: boolean,  // 在结果中包含文件内容(默认:true)
  maxResults?: number,       // 返回的最大结果数(默认:10)
  fuzzy?: boolean           // 使用模糊搜索(默认:true)
}

search_by_tags

根据前置元数据标签查找文件:

{
  tags: string[],           // 要搜索的标签数组
  directory?: string        // 搜索目录(默认:当前工作目录)
}

search_by_date_range

根据修改日期查找文件:

{
  startDate: string,        // ISO日期字符串(YYYY-MM-DD)
  endDate: string,          // ISO日期字符串(YYYY-MM-DD)
  directory?: string        // 搜索目录(默认:当前工作目录)
}

generate_table_of_contents

提取并将标题格式化为目录:

{
  content: string           // 要分析的Markdown内容
}

extract_headings

获取结构化的标题信息:

{
  content: string           // 要分析的Markdown内容
}

extract_frontmatter

从Markdown中解析YAML前置元数据:

{
  content: string           // 包含前置元数据的Markdown内容
}

get_directory_stats

分析目录内容统计信息:

{
  directory?: string        // 要分析的目录(默认:当前工作目录)
}

find_content_files

查找具有特定扩展名的文件:

{
  directory?: string,           // 搜索目录(默认:当前工作目录)
  extensions?: string[]         // 文件扩展名(默认:['.md', '.markdown', '.txt', '.mdx'])
}

read_content_file

读取并解析单个内容文件:

{
  filePath: string             // 要读取的文件路径
}

🔧 技术细节

脚本

  • pnpm dev - 开启监听的开发模式
  • pnpm build - 为生产环境构建项目
  • pnpm start - 运行构建后的服务器
  • pnpm lint - 检查代码风格
  • pnpm lint:fix - 修复代码风格问题
  • pnpm type-check - TypeScript类型检查
  • pnpm clean - 清理构建产物

类型安全

本项目使用Zod进行运行时验证,并结合TypeScript实现编译时安全。所有工具参数都在运行时进行验证,确保健壮的错误处理和类型安全。

错误处理

  • 全面的错误捕获和报告
  • Zod验证错误提供详细的错误信息
  • 文件系统错误处理
  • 对格式错误的内容进行优雅降级处理

📝 示例用法

前置元数据格式

服务器识别Markdown文件中的YAML前置元数据:

---
title: My Document
tags: [typescript, mcp, documentation]
author: Your Name
date: 2024-01-15
---

# Document Content

Your markdown content here...

搜索示例

  • 模糊搜索query: "typescript mcp"(查找相关内容)
  • 精确搜索query: "exact phrase", fuzzy: false
  • 标签搜索tags: ["typescript", "documentation"]
  • 日期搜索startDate: "2024-01-01", endDate: "2024-12-31"

📤 发布

本包已发布到NPM,名称为 @yugangcao/content-manager-mcp。要发布新版本,请执行以下操作:

# 构建项目
pnpm build

# 更新版本(补丁/小版本/大版本)
npm version patch

# 发布到NPM
npm publish

详细的发布说明请参阅 PUBLISH_TO_NPM.md

🤝 贡献指南

  1. 分叉仓库
  2. 创建功能分支:git checkout -b feature-name
  3. 进行更改并添加测试
  4. 确保类型正确:pnpm type-check
  5. 提交拉取请求

📄 许可证

本项目采用MIT许可证,详情请参阅LICENSE文件。


本项目使用TypeScript、Zod和最新的现代工具精心打造,为您提供强大的内容管理功能。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端