The reason to add this rather than a filesystem tool is retrieval by meaning across documents an assistant otherwise cannot read into — a scanned-looking PDF, a spreadsheet, a long DOCX. Because collections are persistent server-side, the same corpus stays searchable between sessions instead of being re-uploaded each time.
Needle's MCP server for document collections. You organise documents into collections, and the assistant searches them semantically — which is what makes content buried inside PDF, DOCX and XLSX files answerable at all. The vendor recommends its hosted server over a local install.
- Collections created, listed and managed from the conversation
- Documents added to a collection by URL
- Semantic search across a collection, returning what the documents say rather than which filename matched
- A hosted endpoint at `https://mcp.needle.app/mcp` over Streamable HTTP, which the project recommends, plus an SSE endpoint at `https://mcp.needle.app/sse` for older clients
- Local and Docker paths for the same server if you would rather run it yourself
A Needle API key, passed as `Authorization: Bearer` and stored in `NEEDLE_API_KEY`. The hosted route uses `npx mcp-remote` against the endpoint for clients without Streamable HTTP support. The local route is `uv --directory /path/to/needle-mcp run needle-mcp` with the package `needle-mcp`, and `uv` should be installed globally — the troubleshooting notes point at a `pip`-installed `uv` as the usual cause of a server that will not start.
One command plus a key — npx -y @smithery/cli install needle-mcp --client claude, then supply credentials
