文档查询工具

Docuscribe MCP 是一个基于 MCP(模型上下文协议)的文档查询工具,提供文档库列表和内容获取功能,适用于文档检索和管理场景。

  • by Desjajja
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 desjajja/docuscribe-mcp-server

使用说明

描述MCP

概述

Docuscribe MCP是一个旨在使用MCP(模型上下文协议)与文档库交互的工具。它提供了两个主要的工具来查询和获取内容:

  1. list_all_docs:检索具有稳定ID的所有可用文档库的可分页目录。
  2. fetch_doc_content:以三种模式从特定文档中获取内容:索引、单范围和多范围。

工具

list_all_docs

描述

检索具有稳定ID(uid)的所有可用文档库(文档)的可分页目录。

参数

  • limit (int,可选):最大文档数(1..1000,默认100)。
  • offset (int,可选):分页偏移量(>=0,默认为0)。

退货

一个精确镜像后端响应的JSON字符串:

{
  "documents": [
    {"id": "uuid", "name": "Title", "hashtags": ["tag1", "tag2"]},
    ...
  ]
}

使用指南

  • 首先调用此命令以发现文档的稳定性 id.
  • 用这个 id 像 doc_uid 为了 fetch_doc_content.
  • 持久化(缓存)返回的ID;它们在会话期间不会改变。
  • 除非需要搜索新库或分页,否则在知道id后避免重新调用。
  • 可以存储多个ID以进行多源比较。

例子

  • 最少通话:
    list_all_docs(limit=50, offset=0)
    
  • 分页随访:
    list_all_docs(limit=100, offset=100)
    

fetch_doc_content

描述

以三种模式获取文档内容:

  1. 索引模式:无参数->结构概述(页面、范围)。
  2. 单量程模式: start + max_length ->带有分页提示的顺序切片(has_more, next_start).
  3. 多范围模式: ranges 参数->目标非连续检索。

参数

  • doc_uid (str):来自的稳定文档ID list_all_docs.
  • start (int,可选):起始词索引(单范围模式)。
  • max_length (int,可选):要返回的最大单词数(单范围)。
  • ranges (str,可选):以逗号分隔的多范围模式的开始-结束对列表(例如“0-100200-300”)。

退货

JSON字符串组合后端 document 和 meta.便利键 has_more 和 next_start 当存在时,会浮出水面。

使用指南

  • 步骤2:缓存后 doc_uid,调用索引模式。
  • 分析页面/范围以确定候选部分。
  • 如果不确定:从以下时间开始单范围 start=0;迭代同时 has_more 找不到信息。
  • 使用关键字/标题检测来决定提前切换到目标多范围。
  • 在本地积累内容;避免重新蚀刻之前检索到的跨度。

例子

  • 索引检索:
    fetch_doc_content(doc_uid="abc123")
    
  • 渐进式单量程循环:
    fetch_doc_content(doc_uid="abc123", start=0, max_length=500)
    
  • 多范围目标提取:
    fetch_doc_content(doc_uid="abc123", ranges="0-120,400-550")
    

安装

  1. 克隆存储库:
    git clone <repository-url>
    
  2. 安装依赖项:
    pip install -r requirements.txt
    
  3. 设置环境变量:
    • 创建一个 .env.local 包含以下内容的文件:
      SERVER_BACKEND_URL=http://localhost:9002
      

运行MCP服务器

启动MCP服务器:

python main.py

实际使用案例

备注

  • 确保后端服务器正在中指定的URL上运行 .env.local.
  • 使用 list_all_docs 在调用之前检索文档ID fetch_doc_content.
  • 缓存文档ID以优化查询并避免不必要的查找。

许可证

MIT许可证