Connects Claude to Needle's document management and semantic search API. You get tools to create collections, add documents from URLs or files, and run natural language searches across PDFs, DOCX, and other formats. The server handles both document ingestion and retrieval, so you can ask Claude to search through technical documentation or research papers you've stored in Needle collections. Supports remote deployment via their hosted MCP endpoint or local installation with UV. Reach for this when you need persistent RAG capabilities without building your own vector database, especially if you're already managing documents in Needle's ecosystem.
MCP (Model Context Protocol) server to manage documents and perform searches using Needle through Claude's Desktop Application.
Needle MCP Server allows you to:
MCP (Model Context Protocol) standardizes the way LLMs connect to external data sources. You can use Needle MCP Server to easily enable semantic search tools in your AI applications, making data buried in PDFs, DOCX, XLSX, and other files instantly accessible by LLMs.
We recommend using our remote MCP server for the best experience - no local setup required.
Below is an example of how the commands can be used in Claude Desktop to interact with the server:
https://github.com/user-attachments/assets/0235e893-af96-4920-8364-1e86f73b3e6c
For a full walkthrough on using the Needle MCP Server with Claude and Claude Desktop, watch this YouTube explanation video.
Claude Desktop Config
Create or update your config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json{
"mcpServers": {
"needle": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.needle.app/mcp",
"--header",
"Authorization:Bearer ${NEEDLE_API_KEY}"
],
"env": {
"NEEDLE_API_KEY": "<your-needle-api-key>"
}
}
}
}
Cursor Config
Create or update .cursor/mcp.json:
{
"mcpServers": {
"needle": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.needle.app/mcp",
"--header",
"Authorization:${NEEDLE_AUTH_HEADER}"
],
"env": {
"NEEDLE_AUTH_HEADER": "Bearer <your-needle-api-key>"
}
}
}
}
Get your API key from Needle Settings.
We provide two endpoints:
https://mcp.needle.app/mcp (recommended)https://mcp.needle.app/sseNote: MCP deprecated SSE endpoints in the latest specification, so newer clients should prefer the Streamable HTTP endpoint.
git clone https://github.com/needle-ai/needle-mcp.git
brew install uv
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.jsonClaude Desktop Config
{
"mcpServers": {
"needle": {
"command": "uv",
"args": ["--directory", "/path/to/needle-mcp", "run", "needle-mcp"],
"env": {
"NEEDLE_API_KEY": "<your-needle-api-key>"
}
}
}
}
Cursor Config
{
"mcpServers": {
"needle": {
"command": "uv",
"args": ["--directory", "/path/to/needle-mcp", "run", "needle-mcp"],
"env": {
"NEEDLE_API_KEY": "<your-needle-api-key>"
}
}
}
}
/path/to/needle-mcp with your actual repository pathInstalling via Smithery
npx -y @smithery/cli install needle-mcp --client claude
git clone https://github.com/needle-ai/needle-mcp.git
cd needle-mcp
docker build -t needle-mcp .
~/Library/Application Support/Claude/claude_desktop_config.json):{
"mcpServers": {
"needle": {
"command": "docker",
"args": ["run", "--rm", "-i", "needle-mcp"],
"env": {
"NEEDLE_API_KEY": "<your-needle-api-key>"
}
}
}
}
If not working:
uv is installed globally (if not, uninstall with pip uninstall uv and reinstall with brew install uv)uv path with which uv and replace "command": "uv" with the full pathIf you're seeing old configurations or the integration isn't working:
find / -name "claude_desktop_config.json" 2>/dev/null
rm -rf ~/Library/Application\ Support/Claude/*%APPDATA%/Claude/mkdir -p ~/Library/Application\ Support/Claude
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json
<< 'EOL'
{
"mcpServers": {
"needle": {
"command": "uv",
"args": [
"--directory",
"/path/to/needle-mcp",
"run",
"needle-mcp"
],
"env": {
"NEEDLE_API_KEY": "your_needle_api_key"
}
}
}
}
EOL
Completely quit Claude Desktop (Command+Q on Mac) and relaunch it
If you still see old configurations:
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent