Token导航 LogoToken导航TokenDH.com
Doc Lib MCP logo
文档知识stdio官方级别未说明来源级核验

Doc Lib MCP

MCP Server

@modelcontextprotocol/inspector

一个用于文档摄取、分块、语义搜索和笔记管理的模型上下文协议(MCP)服务器,支持多种文件格式和技术内容提取。

工具数

18

提示词数

0

GitHub Stars

0

资源数

0
文档处理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

shifusen329

提供方

shifusen329

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector uv --directory /home/administrator/python-share/doc-lib-mcp run doc-lib-mcp

详细介绍

doc-lib-mcp-mcp服务器

用于文档摄取、分块、语义搜索和注释管理的模型上下文协议(MCP)服务器。

组件

资源

  • 实现一个简单的笔记存储系统,包括:

- 自定义 note:// 用于访问单个笔记的URI方案 - 每个笔记资源都有一个名称、描述和 text/plain MIME类型

鼓励

  • 提供提示:

- 总结笔记:创建所有存储笔记的摘要 - 可选的“style”参数,用于控制详细程度(简短/详细) - 生成将所有当前注释与样式首选项组合的提示

工具

服务器实现了广泛的工具:

  • 添加注释:将新笔记添加到内存中的笔记存储中

- 论据: name (字符串), content (字符串)

  • 摄取字符串:摄取并分块通过消息提供的标记或纯文本字符串

- 论据: content (字符串,必填), source (字符串,可选), tags (字符串列表,可选)

  • 摄入降价:摄取并分块一个markdown(.md)文件

- 论据: path (字符串)

  • 摄取python:摄取并分块一个Python(.py)文件

- 论据: path (字符串)

  • ingest-openapi 的:摄取并分块OpenAPI JSON文件

- 论据: path (字符串)

  • 摄取html:摄取并分块HTML文件

- 论据: path (字符串)

  • 摄取html url:从URL中摄取和分块HTML内容(可选使用Playwright处理动态内容)

- 论据: url (字符串), dynamic (布尔值,可选)

  • 智能决策:使用Gemini从文件中提取所有技术相关内容,然后使用健壮的markdown逻辑对其进行分块。

- 论据: - path (字符串,必填):要摄取的文件路径。 - prompt (字符串,可选):用于Gemini的自定义提示。 - tags (字符串列表,可选):用于分类的可选标签列表。 - 使用Gemini 2.0 Flash 001仅提取代码、配置、标记结构和技术定义(没有摘要或评论)。 - 将提取的内容传递给基于mistune 3.x的分块器,该分块器将代码块和markdown/叙述内容作为单独的块保留。 - 每个块都被嵌入并存储用于语义搜索和检索。

  • 搜索块:对摄入的内容进行语义搜索

- 论据: - query (string):语义搜索查询。 - top_k (整数,可选,默认值3):要返回的顶部结果数。 - type (string,可选):按块类型过滤结果(例如。, code, html, markdown). - tag (字符串,可选):按块元数据中的标签过滤结果。 - 返回给定查询的最相关块,可选择按类型和/或标记进行筛选。

  • 删除源:删除给定源中的所有块

- 论据: source (字符串)

  • 按id删除块:按id删除一个或多个块

- 论据: id (整数,可选), ids (整数列表,可选) - 您可以通过指定删除单个块 id,或通过指定一次删除多个块 ids.

  • 更新块类型:按id更新块的类型属性

- 论据: id (整数,必填), type (字符串,必填)

  • 摄入批次:批量摄取和分块多个文档文件(markdown、OpenAPI JSON、Python)

- 论据: paths (字符串列表)

  • 列出来源:列出已摄入并存储在内存中的所有唯一源(文件路径),并可选择按标签或语义搜索进行过滤。

- 论据: - tag (字符串,可选):按块元数据中的标签过滤源。 - query (字符串,可选):语义搜索查询,查找相关来源。 - top_k (整数,可选,默认值10):使用查询时返回的顶级源的数量。

  • 获取上下文:检索相关内容块(仅内容)用作AI上下文,并按标签、类型和语义相似性进行过滤。

- 论据: - query (字符串,可选):语义搜索查询。 - tag (string,可选):按块元数据中的特定标记过滤结果。 - type (字符串,可选):按块类型过滤结果(例如“code”、“markdown”)。 - top_k (整数,可选,默认值5):要检索的最相关块的数量。

  • 更新块元数据:按id更新块的元数据字段

- 论据: id (整数), metadata (对象)

  • 按来源标记块:将指定的标记添加到与给定源(URL或文件路径)关联的所有块的元数据中。与现有标签合并。

- 论据: source (字符串), tags (字符串列表)

  • 列出注释:列出当前存储的所有笔记及其内容。

分块和代码提取

  • Markdown、Python、OpenAPI和HTML文件被拆分为逻辑块,以实现高效检索和搜索。
  • markdown分块器使用mistune 3.x的AST API和regex,通过代码块和叙述对内容进行稳健分割,保留所有原始格式。
  • 代码块和标记/叙述内容都作为单独的块保留。
  • HTML分块器使用 readability-lxml 库首先提取主要内容,然后从中提取块代码片段 `

标记为专用的“代码”块。内联 ` 内容仍然是叙事块的一部分。

语义搜索

  • search-chunks 该工具对所有摄入的内容执行基于向量的语义搜索,为给定的查询返回最相关的块。
  • 支持可选 typetag 用于按块类型过滤结果的参数(例如。, code, html, markdown)和/或在语义排名之前按块元数据中的标签。
  • 这使得检索具有高度的针对性,例如“所有标记有与‘成本和使用’相关的‘langfuse’的代码块”。

元数据管理

  • 块包括 metadata 用于分类和标记的字段。
  • update-chunk-metadata 该工具允许通过其id更新任何块的元数据。
  • tag-chunks-by-source 该工具允许在一次操作中向来自特定源的所有块添加标签。标记将新标记与现有标记合并,保留以前的标记。

配置

服务器需要以下环境变量(可以在.env文件中设置):

Ollama配置

  • OLLAMA_HOST:OLLAMA API的主机名(默认值:localhost)
  • OLLAMA_PORT:OLLAMA API的端口(默认值:11434)
  • RAG_AGENT:用于RAG响应的Ollama模型(默认:llama3)
  • OLLAMA_MODEL:用于嵌入的OLLAMA模型(默认:nomic-embed-ext-v2-moe)

数据库配置

  • HOST:PostgreSQL数据库主机(默认:localhost)
  • DB_PORT:PostgreSQL数据库端口(默认值:5432)
  • DB_NAME:PostgreSQL数据库名称(默认:doclibdb)
  • DB_USER:PostgreSQL数据库用户(默认:doclibdb_USER)
  • DB_PASSWORD:PostgreSQL数据库密码(默认:doclibdb_PASSWORD)

重新排序器配置

  • RERANKER_MODEL_PATH:重新链接器模型的路径(默认:/srv/samba/fileshare2/AI/models/bge-ranker-v2-m3)
  • RERANKER_USE_FP6:是否使用FP16进行重新登录(默认值:True)

快速启动

安装

克劳德桌面

在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration

  "mcpServers": {
    "doc-lib-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/administrator/python-share/doc-lib-mcp",
        "run",
        "doc-lib-mcp"
      ]
    }
  }

Published Servers Configuration

  "mcpServers": {
    "doc-lib-mcp": {
      "command": "uvx",
      "args": [
        "doc-lib-mcp"
      ]
    }
  }

发展

建筑与出版

准备分发包裹:

  1. 同步依赖关系并更新锁文件:
uv sync
  1. 构建包分发:
uv build

这将在 dist/ 目录。

  1. 发布到PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置PyPI凭据:

  • 令牌: --tokenUV_PUBLISH_TOKEN
  • 或用户名/密码: --username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

调试

由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.

您可以通过以下方式启动MCP检查器 使用此命令:

npx @modelcontextprotocol/inspector uv --directory /home/administrator/python-share/doc-lib-mcp run doc-lib-mcp

启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。

目录标签

目录标签

文档处理PythonClaude本地部署语义搜索笔记管理内容分块技术文档分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP