Integrations
doc-lib-mcp MCP 服务器
用于文档提取、分块、语义搜索和注释管理的模型上下文协议 (MCP) 服务器。
成分
资源
- 实现一个简单的笔记存储系统:
- 用于访问单个笔记的自定义
note://
URI 方案 - 每个笔记资源都有一个名称、描述和
text/plain
mimetype
- 用于访问单个笔记的自定义
提示
- 提供提示:
- 总结笔记:创建所有存储笔记的摘要
- 可选的“样式”参数用于控制详细程度(简要/详细)
- 生成提示,结合所有当前注释和样式偏好
- 总结笔记:创建所有存储笔记的摘要
工具
该服务器实现了多种工具:
- add-note :向内存笔记存储中添加新笔记
- 参数:
name
(字符串)、content
(字符串)
- 参数:
- ingest-string :提取并分块通过消息提供的 markdown 或纯文本字符串
- 参数:
content
(字符串,必需)、source
(字符串,可选)、tags
(字符串列表,可选)
- 参数:
- ingest-markdown :提取并分块 markdown (.md) 文件
- 参数:
path
(字符串)
- 参数:
- ingest-python :提取并分块 Python(.py)文件
- 参数:
path
(字符串)
- 参数:
- ingest-openapi :提取并分块 OpenAPI JSON 文件
- 参数:
path
(字符串)
- 参数:
- ingest-html :提取并分块 HTML 文件
- 参数:
path
(字符串)
- 参数:
- ingest-html-url :从 URL 中提取并分块 HTML 内容(可选择使用 Playwright 来获取动态内容)
- 参数:
url
(字符串)、dynamic
(布尔值,可选)
- 参数:
- smart_ingestion :使用 Gemini 从文件中提取所有技术相关内容,然后使用强大的 markdown 逻辑对其进行分块。
- 参数:
path
(字符串,必需):要摄取的文件路径。prompt
(字符串,可选):用于 Gemini 的自定义提示。tags
(字符串列表,可选):用于分类的可选标签列表。
- 使用 Gemini 2.0 Flash 001 仅提取代码、配置、markdown 结构和技术定义(无摘要或评论)。
- 将提取的内容传递给基于 mistune 3.x 的分块器,该分块器将代码块和 markdown/narrative 内容保存为单独的块。
- 每个块都被嵌入并存储以用于语义搜索和检索。
- 参数:
- search-chunks :对获取的内容进行语义搜索
- 参数:
query
(字符串):语义搜索查询。top_k
(整数,可选,默认值为 3):要返回的前结果数。type
(字符串,可选):按块类型过滤结果(例如,code
,html
,markdown
)。tag
(字符串,可选):通过块元数据中的标签过滤结果。
- 返回给定查询最相关的块,可选择按类型和/或标签进行过滤。
- 参数:
- delete-source :删除给定源的所有块
- 参数:
source
(字符串)
- 参数:
- delete-chunk-by-id :通过 id 删除一个或多个块
- 参数:
id
(整数,可选)、ids
(整数列表,可选) - 您可以通过指定
id
删除单个块,或者通过指定ids
一次删除多个块。
- 参数:
- update-chunk-type :通过 id 更新块的类型属性
- 参数:
id
(整数,必需)、type
(字符串,必需)
- 参数:
- ingest-batch :批量提取和分块多个文档文件(markdown、OpenAPI JSON、Python)
- 参数:
paths
(字符串列表)
- 参数:
- list-sources :列出已摄取并存储在内存中的所有唯一源(文件路径),并可选择按标签或语义搜索进行过滤。
- 参数:
tag
(字符串,可选):通过块元数据中的标签过滤源。query
(字符串,可选):语义搜索查询以查找相关来源。top_k
(整数,可选,默认值为 10):使用查询时返回的顶级源的数量。
- 参数:
- get-context :检索相关内容块(仅内容)以用作 AI 上下文,并按标签、类型和语义相似性进行过滤。
- 参数:
query
(字符串,可选):语义搜索查询。tag
(字符串,可选):通过块元数据中的特定标签过滤结果。type
(字符串,可选):按块类型过滤结果(例如,“代码”,“markdown”)。top_k
(整数,可选,默认值为 5):要检索的顶级相关块的数量。
- 参数:
- update-chunk-metadata :通过 id 更新块的元数据字段
- 参数:
id
(整数)、metadata
(对象)
- 参数:
- tag-chunks-by-source :将指定的标签添加到与给定源(URL 或文件路径)关联的所有块的元数据中。并与现有标签合并。
- 参数:
source
(字符串)、tags
(字符串列表)
- 参数:
- list-notes :列出所有当前存储的笔记及其内容。
分块和代码提取
- Markdown、Python、OpenAPI 和 HTML 文件被分成逻辑块,以便高效检索和搜索。
- markdown chunker 使用 mistune 3.x 的 AST API 和正则表达式通过代码块和叙述稳健地分割内容,保留所有原始格式。
- 代码块和 markdown/narrative 内容都作为单独的块保存。
- HTML 分块器首先使用
readability-lxml
库提取主要内容,然后从<pre>
标签中提取代码块作为专用的“代码”块。内联<code>
内容仍保留为叙述块的一部分。
语义搜索
search-chunks
工具对所有摄取的内容执行基于向量的语义搜索,返回与给定查询最相关的块。- 支持可选的
type
和tag
参数,以便在语义排名之前按块类型(例如,code
、html
、markdown
)和/或块元数据中的标签过滤结果。 - 这使得高度有针对性的检索成为可能,例如“所有标有‘langfuse’且与‘成本和使用情况’相关的代码块”。
元数据管理
- 块包括用于分类和标记的
metadata
字段。 update-chunk-metadata
工具允许通过其 id 更新任何块的元数据。tag-chunks-by-source
工具允许一次性为来自特定来源的所有区块添加标签。添加标签会将新标签与现有标签合并,并保留旧标签。
配置
[TODO:添加特定于您的实现的配置详细信息]
快速入门
安装
克劳德桌面
在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json
在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
发展
构建和发布
准备分发包:
- 同步依赖项并更新锁文件:
Copy
- 构建软件包分发版:
Copy
这将在dist/
目录中创建源和轮子分布。
- 发布到 PyPI:
Copy
注意:您需要通过环境变量或命令标志设置 PyPI 凭据:
- 令牌:
--token
或UV_PUBLISH_TOKEN
- 或用户名/密码:
--username
/UV_PUBLISH_USERNAME
和--password
/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector 。
您可以使用以下命令通过npm
启动 MCP Inspector:
Copy
启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server enabling advanced search and content extraction using the Tavily API, with rich customization and integration options.Last updated -4571JavaScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.Last updated -12PythonMIT License
- -securityAlicense-qualityA server that provides document processing capabilities using the Model Context Protocol, allowing conversion of documents to markdown, extraction of tables, and processing of document images.Last updated -6PythonMIT License
- -securityFlicense-qualityA simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.Last updated -Python