docsearch
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@docsearchsearch for 'Q4 targets' in the reports folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
docsearch
MCP server for searching and reading binary document files.
Requirements
uv (for
uvx)
Related MCP server: mcp-pdf-tools
Install
Claude Code
User-scope (available in all projects):
claude mcp add --scope user docsearch -- uvx --from git+https://github.com/AllenComm/mcp-docsearch docsearchProject-scope (available only in the current project):
claude mcp add docsearch -- uvx --from git+https://github.com/AllenComm/mcp-docsearch docsearchOr add directly to your MCP config (~/.claude/.mcp.json for user-scope, .mcp.json for project-scope):
{
"mcpServers": {
"docsearch": {
"command": "uvx",
"args": ["--from", "git+https://github.com/AllenComm/mcp-docsearch", "docsearch"]
}
}
}OpenCode
Add to your opencode.json:
{
"mcp": {
"docsearch": {
"type": "local",
"command": ["uvx", "--from", "git+https://github.com/AllenComm/mcp-docsearch", "docsearch"],
"enabled": true,
"timeout": 30000
}
}
}Agent Instructions
Add to your AGENTS.md or CLAUDE.md so your agent knows when to use these tools:
Use the docgrep and docread MCP tools instead of grep/read for binary documents (PDF, DOCX, PPTX, XLSX, ODT, ODS, ODP, RTF, EPUB).Supported Formats
Format | Extension | Extraction |
| Page-by-page text | |
Word |
| Paragraphs + tables |
PowerPoint |
| Slide-by-slide text frames + tables |
Excel |
| Sheet-by-sheet, tab-separated rows |
OpenDocument Text |
| Paragraphs |
OpenDocument Spreadsheet |
| Sheet-by-sheet, tab-separated rows |
OpenDocument Presentation |
| Slide-by-slide text |
Rich Text Format |
| Full text |
EPUB |
| Chapter-by-chapter text (spine order) |
Tools
docgrep
Search through documents for text matching a regex pattern. Returns filepath:section:matching_line.
Parameters:
directory(required) — path to search recursivelypattern(required) — regex pattern to matchcase_sensitive— defaultfalsefile_types— filter to specific extensions, e.g.["pdf", "docx"]max_results— default100
docgrep(directory="/home/user/reports", pattern="quarterly revenue")
docgrep(directory="/home/user/docs", pattern="TODO|FIXME", file_types=["docx"])docread
Read full text content from a single document. Output is auto-truncated at 40,000 characters — use range to narrow results for large documents.
Parameters:
filepath(required) — path to the documentrange— filter to specific sections by format:PDF: page numbers, e.g.
"1-5","3","1,3,5-7"PPTX/ODP: slide numbers, e.g.
"2-3"XLSX/ODS: sheet name or 1-based index, with optional row range after colon, e.g.
"1","Sheet1","1:1-100","Revenue:50-200"EPUB: chapter numbers, e.g.
"1-5"DOCX/ODT/RTF: line numbers, e.g.
"1-50","100-200"
docread(filepath="/home/user/reports/q4.pdf", range="1-3")
docread(filepath="/home/user/data/sales.xlsx", range="1:1-100")
docread(filepath="/home/user/data/sales.xlsx", range="Revenue:50-200")Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AllenComm/mcp-docsearch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server