AskDocs MCP服务器
一种模型上下文协议(MCP)服务器,使用Ollama在技术文档PDF上提供RAG支持的语义搜索。
特性
- 基于自然语言查询的语义搜索
- 多个带有页面引用的PDF文档
- Docker支持持久缓存
- 基于TOML的配置
快速开始
1.创建 askdocs-mcp.toml 在项目的文档目录中:
[[doc]]
name = "my_manual"
description = "My Product Manual"
path = "pdf/manual.pdf"2.使用Docker运行:
docker run -it --rm --network=host -v ./docs:/docs askdocs-mcp:latestaskdocs-mcp 预计Ollama服务器将在其上运行 http://localhost:11434.
3.目录结构:
docs/
├── askdocs-mcp.toml # Configuration
├── .askdocs-cache/ # Vector store (auto-created)
└── pdf/
└── manual.pdf添加 **/.askdocs-cache/** 给你的 .gitignore 文件。
配置
# Optional: Configure models
embedding_model = "snowflake-arctic-embed:latest"
llm_model = "qwen3:14b"
[[doc]]
name = "unique_identifier"
description = "Human description"
path = "pdf/document.pdf"使用MCP服务器:
光标(~/.cursor/mcp.json 或 `
/.cursor/mcp.json`)
{
"mcpServers": {
"askdocs-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--network=host",
"--volume=${workspaceFolder}/docs:/docs",
"ghcr.io/dymk/askdocs-mcp:latest"
]
}
}
}食品法典委员会(~/.codex/config.toml)
[mcp_servers.askdocs-mcp]
command = "docker"
args = [
"run", "-i", "--rm",
"--network=host",
"--volume=/your/workspace/folder/docs:/docs",
"ghcr.io/dymk/askdocs-mcp:latest"
]环境变量:
ASKDOCS_OLLAMA_URL:ollama服务器URL(默认值:http://localhost:11434)
可用工具
list_docs()
列出所有文档来源。
ask_docs(source_name: str, query: str)
使用自然语言搜索文档。
get_doc_page(source_name: str, page_start: int, page_end: int = None)
从特定页面检索全文。
需求
Olama必须使用所需的型号运行:
ollama pull snowflake-arctic-embed:latest
ollama pull qwen3:14b建筑
# Docker
docker build -t askdocs-mcp:latest .
# Local
uv sync
uv run askdocs-mcp --docs-dir /path/to/docs许可证
麻省理工学院
