
Librarian MCP Server

2025.04.09
0
TypeScript知识库管理文档检索开发效率
Librarian是一个基于Model Context Protocol (MCP)的服务,主要为大型语言模型(LLMs)提供结构化的Markdown文档知识库。它具有文档组织、标签过滤、搜索和检索等功能,是一个只读的服务,旨在通过MCP框架高效地为LLMs提供所需的文档内容。
View on GitHub
Overview
基本能力
产品定位
Librarian是一个为大型语言模型(LLMs)提供结构化知识库的MCP服务,专注于文档的读取和检索。
核心功能
- 结构化文档组织:文档按章节组织(如
daisyui/components/button.md
) - 基于标签的过滤:通过frontmatter中定义的标签过滤文档
- 层次化标签继承:标签从父目录继承
- 灵活的搜索能力:
- 简单字符串搜索(不区分大小写)
- 可自定义标志的正则表达式搜索
- 高效文档检索:通过路径快速访问特定文档
- 标签发现:列出所有可用标签及其使用计数和可选文件路径
- MCP集成:无缝集成Model Context Protocol
适用场景
- 为LLMs提供结构化的知识库
- 快速检索和搜索文档内容
- 基于标签的文档分类和过滤
工具列表
- getDocuments:通过路径检索多个文档
- getDocument:通过路径检索特定文档
- listDocuments:列出所有文档,可选目录和标签过滤
- searchDocuments:使用字符串或正则表达式搜索文档内容
- listTags:列出所有标签及其计数和可选文件路径
常见问题解答
- 文档未找到:检查文档路径是否正确,
--docs-root
是否指向正确目录,文件权限是否允许读取 - 搜索无结果:检查查询语法是否正确,文档是否包含预期内容,尝试更广泛的搜索词或更简单的模式
- 标签过滤不工作:验证标签是否正确定义在frontmatter中,检查继承层次结构,确保标签名称完全匹配(区分大小写)
使用教程
使用依赖
- Node.js (v14或更高版本)
- npm或pnpm
安装教程
# 克隆仓库
git clone https://github.com/yourusername/mcp-server-librarian.git
cd mcp-server-librarian
# 安装依赖
pnpm install
# 构建项目
pnpm build
调试方式
# 使用默认配置启动
node dist/bin.js
# 使用自定义文档目录启动
node dist/bin.js --docs-root ./my-documentation
# 使用环境变量启动
LIBRARIAN_DOCS_ROOT=./my-documentation node dist/bin.js