Skip to main content
Glama
Needle MCP Server

Needle MCP Server

Official
by needle-ai

Build Agents with Needle MCP Server

Screenshot of Feature - Claude

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

Table of Contents


Related MCP server: Documentation MCP Server

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

https://github.com/user-attachments/assets/0235e893-af96-4920-8364-1e86f73b3e6c


Youtube Video Explanation

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


Installation

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

Available Tools

7 tools
needle_add_fileAInspect

Add a new document to a Needle collection by providing a URL for download. Supports multiple file formats including: - PDF documents - Microsoft Word files (DOC, DOCX) - Plain text files (TXT) - Web pages (HTML)

        The document will be:
        1. Downloaded from the provided URL
        2. Processed for text extraction
        3. Indexed for semantic search
        
        Use this tool when you need to:
        - Add new documents to a collection
        - Make documents searchable
        - Expand your knowledge base
        
        Important: Documents require processing time before they're searchable.
        Check processing status using needle_list_files before searching new content.

Inputs: collection_id (required), name (required), url (required).

needle_create_collectionAInspect

Create a new document collection in Needle for organizing and searching documents. A collection acts as a container for related documents and enables semantic search across its contents. Use this tool when you need to: - Start a new document organization - Group related documents together - Set up a searchable document repository Returns a collection ID that's required for subsequent operations. Choose a descriptive name that reflects the collection's purpose for better organization.

Inputs: name (required).

needle_get_collection_detailsAInspect

Fetch comprehensive metadata about a specific Needle collection. Provides detailed information about the collection's configuration, creation date, and current status. Use this tool when you need to: - Verify a collection's existence and configuration - Check collection metadata before operations - Get creation date and other attributes Requires a valid collection ID and returns detailed collection metadata. Will error if collection doesn't exist.

Inputs: collection_id (required).

needle_get_collection_statsAInspect

Retrieve detailed statistical information about a Needle collection's contents and status. Provides metrics including: - Total number of documents - Processing status of documents - Storage usage and limits - Index status and health Use this tool to: - Monitor collection size and growth - Verify processing completion - Check collection health before operations Essential for ensuring collection readiness before performing searches.

Inputs: collection_id (required).

needle_list_collectionsAInspect

List Needle collections. Returns maximum of 20 results. Get more results by increasing the offset. Returns detailed information including collection IDs, names, and creation dates. Use this tool when you need to: - Get an overview of available document collections - Find collection IDs for subsequent operations - Verify collection existence before performing operations The response includes metadata that's required for other Needle operations.

Inputs: offset.

needle_list_filesAInspect

List all documents stored within a specific Needle collection with their current status. Returns detailed information about each file including: - File ID and name - Processing status (pending, processing, complete, error) - Upload date and metadata Use this tool when you need to: - Inventory available documents - Check processing status of uploads - Get file IDs for reference - Verify document availability before searching Essential for monitoring document processing completion before performing searches.

Inputs: collection_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: collection management (create, list, get details, get stats), file management (add, list), and search. The descriptions explicitly differentiate their functions, such as needle_get_collection_details for metadata vs. needle_get_collection_stats for metrics, eliminating any ambiguity.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with the 'needle_' prefix, using snake_case throughout (e.g., needle_create_collection, needle_list_files). This predictable naming scheme makes it easy for agents to understand and select tools based on their actions and targets.

    Tool Count5/5

    With 7 tools, the server is well-scoped for document management and search, covering essential operations like collection CRUD, file addition, status monitoring, and semantic search. Each tool serves a clear purpose without redundancy, fitting the domain's needs efficiently.

    Completeness4/5

    The toolset provides strong coverage for core document management workflows, including collection lifecycle, file processing, and search. A minor gap exists in file deletion or update capabilities, which could limit full CRUD operations, but agents can still perform key tasks like adding, listing, and searching documents effectively.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers