Librarian MCP Server

Librarian MCP Server

site icon
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提供结构化的知识库
  • 快速检索和搜索文档内容
  • 基于标签的文档分类和过滤

工具列表

  1. getDocuments:通过路径检索多个文档
  2. getDocument:通过路径检索特定文档
  3. listDocuments:列出所有文档,可选目录和标签过滤
  4. searchDocuments:使用字符串或正则表达式搜索文档内容
  5. listTags:列出所有标签及其计数和可选文件路径

常见问题解答

  1. 文档未找到:检查文档路径是否正确,--docs-root是否指向正确目录,文件权限是否允许读取
  2. 搜索无结果:检查查询语法是否正确,文档是否包含预期内容,尝试更广泛的搜索词或更简单的模式
  3. 标签过滤不工作:验证标签是否正确定义在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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。