描述MCP
概述
Docuscribe MCP是一个旨在使用MCP(模型上下文协议)与文档库交互的工具。它提供了两个主要的工具来查询和获取内容:
list_all_docs:检索具有稳定ID的所有可用文档库的可分页目录。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
描述
以三种模式获取文档内容:
- 索引模式:无参数->结构概述(页面、范围)。
- 单量程模式:
start+max_length->带有分页提示的顺序切片(has_more,next_start). - 多范围模式:
ranges参数->目标非连续检索。
参数
doc_uid(str):来自的稳定文档IDlist_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")安装
- 克隆存储库:
git clone - 安装依赖项:
pip install -r requirements.txt- 设置环境变量:
- 创建一个 .env.local 包含以下内容的文件:
SERVER_BACKEND_URL=http://localhost:9002运行MCP服务器
启动MCP服务器:
python main.py实际使用案例
备注
- 确保后端服务器正在中指定的URL上运行
.env.local. - 使用
list_all_docs在调用之前检索文档IDfetch_doc_content. - 缓存文档ID以优化查询并避免不必要的查找。
许可证
MIT许可证
