needle-mcp

MCP.Pizza Chef: needle-ai

Documents are grouped into named collections, and you add one by giving a public web address it can download from — there is no way to send a file from your own computer, and no way to delete anything afterwards. Two things to know before trying it. The hosted address the instructions recommend now redirects to a 'page not found' notice, and the collection-statistics tool calls a function that no longer exists in Needle's own library, so it fails every time. Last updated July 2025.

Unmaintained · No commits in 12 months.
Files/PDF
Web/Research

Use This MCP server To

Search my saved reports for one specific figure Group related documents into a single searchable collection Add a PDF from a web link to a collection Ask a question and get the passage that answers it List the documents I have stored so far

README

Build Agents with Needle MCP Server

smithery badge

Screenshot of Feature - Claude

MCP (Model Context Protocol) server to manage documents and perform searches using Needle through Claude's Desktop Application.

Needle Server MCP server

Table of Contents


Overview

Needle MCP Server allows you to:

  • Organize and store documents for quick retrieval.
  • Perform powerful searches via Claude's large language model.
  • Integrate seamlessly with the Needle ecosystem for advanced document management.

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.


Features

  • Document Management: Easily add and organize documents on the server.
  • Search & Retrieval: Claude-based natural language search for quick answers.
  • Easy Integration: Works with Claude Desktop and Needle collections.

Usage

Commands in Claude Desktop

Below is an example of how the commands can be used in Claude Desktop to interact with the server:

Using commands in Claude Desktop

  1. Open Claude Desktop and connect to the Needle MCP Server.
  2. Use simple text commands to search, retrieve, or modify documents.
  3. Review search results returned by Claude in a user-friendly interface.

Result in Needle

Screen.Recording.2024-12-17.at.12.mp4

Youtube Video Explanation

For a full walkthrough on using the Needle MCP Server with Claude and Claude Desktop, watch this YouTube explanation video.


Installation

1. Remote MCP Server (Recommended)

Claude Desktop Config

Create or update your config file:

  • For MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • For Windows: %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:

  • Streamable HTTP: https://mcp.needle.app/mcp (recommended)
  • SSE: https://mcp.needle.app/sse

Note: MCP deprecated SSE endpoints in the latest specification, so newer clients should prefer the Streamable HTTP endpoint.

2. Local Installation

  1. Clone the repository:
git clone https://github.com/needle-ai/needle-mcp.git
  1. Install UV globally using Homebrew:
brew install uv
  1. Create your config file:
    • For MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • For Windows: %APPDATA%/Claude/claude_desktop_config.json

Claude 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>"
      }
    }
  }
}
  1. Replace /path/to/needle-mcp with your actual repository path
  2. Add your Needle API key
  3. Restart Claude Desktop

Installing via Smithery

npx -y @smithery/cli install needle-mcp --client claude

3. Docker Installation

  1. Clone and build:
git clone https://github.com/needle-ai/needle-mcp.git
cd needle-mcp
docker build -t needle-mcp .
  1. Add to your Claude Desktop config (~/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>"
      }
    }
  }
}
  1. Restart Claude Desktop

Usage Examples

  • "Create a new collection called 'Technical Docs'"
  • "Add this document to the collection, which is https://needle.app"
  • "Search the collection for information about AI"
  • "List all my collections"

Troubleshooting

If not working:

  • Make sure uv is installed globally (if not, uninstall with pip uninstall uv and reinstall with brew install uv)
  • Or find uv path with which uv and replace "command": "uv" with the full path
  • Verify your Needle API key is correct
  • Check if the needle-mcp path in config matches your actual repository location

Reset Claude Desktop Configuration

If you're seeing old configurations or the integration isn't working:

  1. Find all Claude Desktop config files:
find / -name "claude_desktop_config.json" 2>/dev/null
  1. Remove all Claude Desktop data:
  • On MacOS: rm -rf ~/Library/Application\ Support/Claude/*
  • On Windows: Delete contents of %APPDATA%/Claude/
  1. Create a fresh config with only Needle:
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
  1. Completely quit Claude Desktop (Command+Q on Mac) and relaunch it

  2. If you still see old configurations:

  • Check for additional config files in other locations
  • Try clearing browser cache if using web version
  • Verify the config file is being read from the correct location

needle-mcp FAQ

Does it still work?
Partly at best. The hosted address the instructions call the recommended route now redirects to a 'not found' page, and the project has had no update since July 2025.
Can I upload a file from my computer?
No. Documents can only be added by giving a public web address for the service to fetch, so anything private on your laptop has to be published somewhere first.
Do I need an account?
Yes. A Needle account and its key are required, and the version you run yourself refuses to start at all without one.
Can I delete a document or collection later?
Not from here. There is no removal tool of any kind, so you would have to go into Needle's own website.
Can I use this to answer questions from a stack of PDFs?
That is exactly the intended job, and search returns the matching passage plus which file it came from — but read the warnings above about whether the service is still reachable.
Are all the listed tools working?
No. The collection-statistics tool calls a function that is not in Needle's current library, so it returns an error every time it is used.
How hard is setup?
It is not published to any package registry, so you download the project folder, install a Python tool, and paste in a settings block containing your key.