Needle MCP Server
OfficialThe Needle MCP Server enables efficient document organization, retrieval, and semantic search using Claude's large language model and the Needle ecosystem.
Document Management: Add, organize, and retrieve documents efficiently
Collection Operations: Create, list, and manage document collections with detailed metadata and statistics
File Operations: Add files via URLs and monitor processing status
Semantic Search: Perform advanced natural language searches to find conceptually related content within document collections
Integration: Seamlessly integrate with Claude Desktop and Needle for enhanced document handling
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., "@Needle MCP Serversearch for quarterly sales projections in the finance documents"
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.
Build Agents with Needle MCP Server
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:
Open Claude Desktop and connect to the Needle MCP Server.
Use simple text commands to search, retrieve, or modify documents.
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
1. Remote MCP Server (Recommended)
Claude Desktop Config
Create or update your config file:
For MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonFor 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
Clone the repository:
git clone https://github.com/needle-ai/needle-mcp.gitInstall UV globally using Homebrew:
brew install uvCreate your config file:
For MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonFor 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>"
}
}
}
}Replace
/path/to/needle-mcpwith your actual repository pathAdd your Needle API key
Restart Claude Desktop
Installing via Smithery
npx -y @smithery/cli install needle-mcp --client claude3. Docker Installation
Clone and build:
git clone https://github.com/needle-ai/needle-mcp.git
cd needle-mcp
docker build -t needle-mcp .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>"
}
}
}
}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
uvis installed globally (if not, uninstall withpip uninstall uvand reinstall withbrew install uv)Or find
uvpath withwhich uvand replace"command": "uv"with the full pathVerify 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:
Find all Claude Desktop config files:
find / -name "claude_desktop_config.json" 2>/dev/nullRemove all Claude Desktop data:
On MacOS:
rm -rf ~/Library/Application\ Support/Claude/*On Windows: Delete contents of
%APPDATA%/Claude/
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"
}
}
}
}
EOLCompletely quit Claude Desktop (Command+Q on Mac) and relaunch it
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 toolsneedle_add_fileA
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.| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | The unique collection identifier where the file will be added | |
| name | Yes | A descriptive filename that will help identify this document in results | |
| url | Yes | Public URL where the document can be downloaded from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and discloses key behavioral traits: the three-step processing pipeline (download, text extraction, indexing), supported file formats, and the important latency consideration ('Documents require processing time before they're searchable'). It doesn't mention error handling or authentication needs, but covers core operational behavior well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (supported formats, processing steps, usage guidelines, important note) and front-loaded core purpose. Every sentence adds value, though the bullet-point formatting for file formats could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no annotations and no output schema, the description provides comprehensive context: purpose, usage guidelines, behavioral transparency, and important limitations. It doesn't describe return values or error cases, but given the tool's complexity and lack of structured metadata, it's reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds context about what the 'url' parameter represents ('Public URL where the document can be downloaded from') and implies the purpose of 'name' ('descriptive filename'), but doesn't provide additional semantic meaning beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Add a new document'), target resource ('Needle collection'), and mechanism ('by providing a URL for download'). It distinguishes from siblings like needle_create_collection (creates collections) and needle_list_files (lists files) by focusing on document ingestion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides three use cases ('when you need to: - Add new documents to a collection - Make documents searchable - Expand your knowledge base') and mentions an alternative tool ('Check processing status using needle_list_files before searching new content'), giving clear guidance on when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_create_collectionA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A clear, descriptive name for the collection that reflects its purpose and contents |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that it creates a new collection and returns an ID, but lacks details on permissions, rate limits, or error conditions. It adds some context (ID requirement for future ops) but is incomplete for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with four sentences: purpose, function, usage guidelines, and parameter advice. Each sentence adds value without redundancy, and it's front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no annotations and no output schema, the description covers purpose and usage well but lacks behavioral details like error handling or response format. It's adequate but has gaps given the mutation nature and missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'name' parameter fully. The description adds marginal value by advising to choose a descriptive name for better organization, but doesn't provide additional syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new document collection, specifying it's for organizing and searching documents. It distinguishes from siblings like needle_list_collections (lists existing) and needle_add_file (adds to collections), with specific verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists three use cases (start new organization, group related documents, set up searchable repository) and mentions the collection ID is required for subsequent operations, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_get_collection_detailsA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | The unique collection identifier returned from needle_create_collection or needle_list_collections |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by stating it 'returns detailed collection metadata' and specifies error conditions ('Will error if collection doesn't exist'), though it lacks details on rate limits, authentication needs, or response format specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose, followed by usage guidelines in bullet points, and ending with prerequisites and error conditions. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is largely complete, covering purpose, usage, prerequisites, and error handling. However, it could be enhanced by including details on the metadata structure returned or any performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents the single parameter (collection_id). The description adds minimal value beyond the schema by mentioning 'Requires a valid collection ID' but does not provide additional syntax or format details, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('fetch comprehensive metadata') and resources ('specific Needle collection'), distinguishing it from siblings like needle_get_collection_stats (which likely provides statistics rather than configuration metadata) and needle_list_collections (which lists collections rather than fetching details of a specific one).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides when-to-use guidance with three bullet points (e.g., 'Verify a collection's existence and configuration', 'Check collection metadata before operations'), and it specifies a prerequisite ('Requires a valid collection ID') and an error condition ('Will error if collection doesn't exist'), offering clear alternatives and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_get_collection_statsA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | The unique collection identifier to get statistics for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes what information is retrieved (metrics like total documents, processing status, storage usage, index status) and its purpose (monitoring, verification, health checks), but lacks details on behavioral traits such as rate limits, error handling, or response format. It adds context about readiness but doesn't fully compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded, starting with the core purpose, followed by bullet points for metrics and usage guidelines, and ending with a key takeaway. Every sentence adds value without redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (statistical retrieval with 1 parameter), no annotations, and no output schema, the description does a good job by detailing metrics and usage scenarios. However, it lacks information on return values or error cases, which would be needed for full completeness. It compensates well but has minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'collection_id' fully documented in the schema. The description does not add any meaning beyond what the schema provides, as it doesn't explain parameter usage, constraints, or examples. Baseline 3 is appropriate since the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('retrieve detailed statistical information') and resource ('Needle collection's contents and status'), distinguishing it from siblings like needle_get_collection_details or needle_list_collections by focusing on metrics rather than general details or listings. It explicitly lists the types of metrics provided, making the purpose highly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit usage scenarios ('Use this tool to: - Monitor collection size and growth - Verify processing completion - Check collection health before operations') and states when it's essential ('Essential for ensuring collection readiness before performing searches'), providing clear guidance on when to use it versus alternatives like needle_search or needle_list_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_list_collectionsA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | The offset to start listing from. Default is 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a read operation (implied by 'List'), returns up to 20 results, supports pagination via offset, and includes metadata required for other operations. It doesn't mention rate limits or auth needs, but covers essential functionality adequately for a listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with key information (purpose, limit, pagination), followed by use cases. It could be slightly more concise by merging some sentences, but every sentence adds value, such as clarifying the response content and operational context. No wasted words, but minor tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 optional parameter, no output schema, no annotations), the description is quite complete. It covers purpose, usage, behavioral traits like pagination and result limits, and contextual value for other operations. It doesn't detail exact return formats, but for a listing tool without an output schema, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'offset' fully documented in the schema. The description adds context by explaining how to use offset ('Get more results by increasing the offset'), which provides practical guidance beyond the schema's default value. This meets the baseline of 3 since the schema handles most of the documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('Needle collections'), distinguishing it from siblings like 'needle_create_collection' (creation) and 'needle_get_collection_details' (detailed view). It specifies the scope ('maximum of 20 results') and purpose ('overview of available document collections'), making it highly specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists three use cases: getting an overview, finding IDs for subsequent operations, and verifying existence before operations. It also implies when to use alternatives by noting that 'detailed information' is returned, suggesting 'needle_get_collection_details' for more specifics, though it doesn't name alternatives directly. This provides clear, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_list_filesA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | The unique collection identifier to list files from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format (detailed information with specific fields like File ID, status, upload date) and hints at processing workflows, but lacks details on error handling, pagination, rate limits, or authentication needs. It adds value beyond the schema but is incomplete for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded, starting with the core purpose, followed by a bulleted list of return details and usage guidelines. Every sentence adds value without redundancy, and the information is organized for quick scanning, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, usage, and return format adequately. However, without annotations or output schema, it could benefit from more behavioral details (e.g., error cases or response structure), slightly reducing completeness for a tool with no structured safety hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter 'collection_id'. The description does not add any additional meaning or context about this parameter beyond what the schema provides (e.g., format examples or usage tips). Baseline 3 is appropriate when the schema handles parameter documentation effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('List all documents') and resources ('within a specific Needle collection'), including scope ('with their current status'). It distinguishes from siblings like needle_search (which searches content) and needle_add_file (which uploads files), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage scenarios in a bulleted list ('Use this tool when you need to:'), including specific cases like inventorying documents, checking processing status, getting file IDs, and verifying availability before searching. It also mentions an alternative ('before performing searches') and includes a final note on monitoring completion, offering comprehensive guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
needle_searchA
Perform intelligent semantic search across documents in a Needle collection. This tool uses advanced embedding technology to find relevant content based on meaning, not just keywords. The search: - Understands natural language queries - Finds conceptually related content - Returns relevant text passages with source information - Ranks results by semantic relevance
Use this tool when you need to:
- Find specific information within documents
- Answer questions from document content
- Research topics across multiple documents
- Locate relevant passages and their sources
More effective than traditional keyword search for:
- Natural language questions
- Conceptual queries
- Finding related content
Returns matching text passages with their source file IDs.| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes | The unique collection identifier to search within | |
| query | Yes | Natural language query describing the information you're looking for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: it's a search operation (implied read-only), uses semantic matching rather than keywords, returns ranked results with source information, and handles natural language queries. However, it doesn't mention potential limitations like rate limits, authentication requirements, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, usage guidelines, effectiveness, returns) and uses bullet points for readability. While comprehensive, it could be slightly more concise by combining some bullet points or reducing redundancy in the effectiveness section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 2 parameters, 100% schema coverage, and no output schema, the description provides good context about what the tool does, when to use it, and what it returns. It explains the semantic nature of the search and provides usage scenarios. The main gap is the lack of output format details beyond 'matching text passages with their source file IDs' - more specificity about the return structure would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing clear parameter documentation. The description adds some context by mentioning 'natural language queries' which aligns with the query parameter description, and 'collection' context which matches collection_id. However, it doesn't provide significant additional semantic meaning beyond what's already in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'intelligent semantic search across documents in a Needle collection' with specific details about using embedding technology, finding relevant content based on meaning, and distinguishing it from keyword search. It explicitly differentiates from sibling tools like needle_add_file (adds files), needle_create_collection (creates collections), and needle_list_files (lists files) by focusing on search functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance with a dedicated 'Use this tool when you need to:' section listing four specific scenarios (find information, answer questions, research topics, locate passages) and a 'More effective than traditional keyword search for:' section with three cases (natural language questions, conceptual queries, finding related content). This clearly indicates when to use this tool versus alternatives like keyword-based search methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceA server that connects Claude to your documentation via Inkeep's API, enabling AI-powered interactions with your documentation content.24MIT- FlicenseAqualityDmaintenanceA server that enables Claude to search and access documentation from popular libraries like LangChain, LlamaIndex, and OpenAI directly within conversations.13
- FlicenseNot gradedqualityDmaintenanceA local document intelligence and knowledge management server for Claude Desktop that provides RAG-powered Q\&A, media transcription, and URL crawling. It features 11 tools for processing various file types and managing a persistent local vector store with zero infrastructure costs.1
- FlicenseNot gradedqualityCmaintenanceMCP server enabling Claude Desktop to answer questions from local Word and PDF documents by searching a vector index built from their contents.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/needle-ai/needle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server