qdrant-loader-mcp-server


Nameqdrant-loader-mcp-server JSON
Version 0.4.13 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol (MCP) server that provides RAG capabilities to Cursor using Qdrant.
upload_time2025-07-11 05:22:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords qdrant vector-database mcp cursor rag embeddings multi-project semantic-search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QDrant Loader MCP Server

[![PyPI](https://img.shields.io/pypi/v/qdrant-loader-mcp-server)](https://pypi.org/project/qdrant-loader-mcp-server/)
[![Python](https://img.shields.io/pypi/pyversions/qdrant-loader-mcp-server)](https://pypi.org/project/qdrant-loader-mcp-server/)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

A Model Context Protocol (MCP) server that provides advanced Retrieval-Augmented Generation (RAG) capabilities to AI development tools. Part of the [QDrant Loader monorepo](../../) ecosystem.

## ๐Ÿš€ What It Does

The MCP Server bridges your QDrant knowledge base with AI development tools:

- **Provides intelligent search** through semantic, hierarchy-aware, and attachment-focused tools
- **Integrates seamlessly** with Cursor, Windsurf, Claude Desktop, and other MCP-compatible tools
- **Understands context** including document hierarchies, file relationships, and metadata
- **Streams responses** for fast, real-time search results
- **Preserves relationships** between documents, attachments, and parent content

## ๐Ÿ”Œ Supported AI Tools

| Tool | Status | Integration Features |
|------|--------|---------------------|
| **Cursor** | โœ… Full Support | Context-aware code assistance, documentation lookup, intelligent suggestions |
| **Windsurf** | โœ… Compatible | MCP protocol integration, semantic search capabilities |
| **Claude Desktop** | โœ… Compatible | Direct MCP integration, conversational search interface |
| **Other MCP Tools** | โœ… Compatible | Any tool supporting MCP 2024-11-05 specification |

## ๐Ÿ” Advanced Search Capabilities

### Three Specialized Search Tools

#### 1. `search` - Universal Semantic Search

- **Purpose**: General-purpose semantic search across all content
- **Best for**: Finding relevant information by meaning, not just keywords
- **Features**: Multi-source search, relevance ranking, context preservation

#### 2. `hierarchy_search` - Confluence-Aware Search

- **Purpose**: Confluence-specific search with deep hierarchy understanding
- **Best for**: Navigating complex documentation structures, finding related pages
- **Features**: Parent/child relationships, breadcrumb paths, hierarchy filtering

#### 3. `attachment_search` - File-Focused Search

- **Purpose**: Finding files and attachments with parent document context
- **Best for**: Locating specific files, templates, specifications, or supporting materials
- **Features**: File type filtering, size filtering, parent document relationships

### Search Intelligence Features

- **Hierarchy Understanding**: Recognizes parent/child page relationships in Confluence
- **Attachment Awareness**: Connects files to their parent documents and context
- **Metadata Enrichment**: Includes authors, dates, file sizes, and source information
- **Visual Indicators**: Rich formatting with icons and context clues
- **Relationship Mapping**: Shows connections between related content

## ๐Ÿ“ฆ Installation

### From PyPI (Recommended)

```bash
pip install qdrant-loader-mcp-server
```

### From Source (Development)

```bash
# Clone the monorepo
git clone https://github.com/martin-papy/qdrant-loader.git
cd qdrant-loader

# Install in development mode
pip install -e packages/qdrant-loader-mcp-server[dev]
```

### Complete RAG Pipeline

For full functionality with data ingestion:

```bash
# Install both packages
pip install qdrant-loader qdrant-loader-mcp-server
```

## โšก Quick Start

### 1. Environment Setup

```bash
# Required environment variables
export QDRANT_URL="http://localhost:6333"
export QDRANT_API_KEY="your_api_key"  # Required for QDrant Cloud
export OPENAI_API_KEY="your_openai_key"

# Optional configuration
export QDRANT_COLLECTION_NAME="documents"  # Default collection name
export MCP_LOG_LEVEL="INFO"                # Logging level
export MCP_LOG_FILE="/path/to/mcp.log"     # Log file path
export MCP_DISABLE_CONSOLE_LOGGING="true"  # Recommended for Cursor
```

### 2. Start the Server

```bash
# Start MCP server
mcp-qdrant-loader

# With debug logging
mcp-qdrant-loader --log-level DEBUG

# Show help
mcp-qdrant-loader --help
```

### 3. Test the Connection

```bash
# Test with a simple search
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"test","limit":1}}}' | mcp-qdrant-loader
```

## ๐Ÿ”ง Configuration

### Environment Variables

| Variable | Description | Default | Required |
|----------|-------------|---------|----------|
| `QDRANT_URL` | QDrant instance URL | `http://localhost:6333` | Yes |
| `QDRANT_API_KEY` | QDrant API key | None | Cloud only |
| `QDRANT_COLLECTION_NAME` | Collection name | `documents` | No |
| `OPENAI_API_KEY` | OpenAI API key for embeddings | None | Yes |
| `MCP_LOG_LEVEL` | Logging level | `INFO` | No |
| `MCP_LOG_FILE` | Log file path | None | No |
| `MCP_DISABLE_CONSOLE_LOGGING` | Disable console output | `false` | **Yes for Cursor** |

### Important Configuration Notes

- **For Cursor Integration**: Always set `MCP_DISABLE_CONSOLE_LOGGING=true` to prevent interference with JSON-RPC communication
- **For Debugging**: Use `MCP_LOG_FILE` to write logs when console logging is disabled
- **API Keys**: OpenAI API keys should start with `sk-proj-` for project keys or `sk-` for user keys

## ๐ŸŽฏ AI Tool Integration

### Cursor IDE Integration

Add to your `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "qdrant-loader": {
      "command": "/path/to/venv/bin/mcp-qdrant-loader",
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "QDRANT_API_KEY": "your_qdrant_api_key",
        "OPENAI_API_KEY": "sk-proj-your_openai_api_key",
        "QDRANT_COLLECTION_NAME": "your_collection",
        "MCP_LOG_LEVEL": "INFO",
        "MCP_LOG_FILE": "/path/to/logs/mcp.log",
        "MCP_DISABLE_CONSOLE_LOGGING": "true"
      }
    }
  }
}
```

### Windsurf Integration

Similar configuration in Windsurf's MCP settings:

```json
{
  "mcp": {
    "servers": {
      "qdrant-loader": {
        "command": "/path/to/venv/bin/mcp-qdrant-loader",
        "env": {
          "QDRANT_URL": "http://localhost:6333",
          "OPENAI_API_KEY": "your_openai_key",
          "MCP_DISABLE_CONSOLE_LOGGING": "true"
        }
      }
    }
  }
}
```

### Claude Desktop Integration

Add to Claude Desktop's configuration:

```json
{
  "mcpServers": {
    "qdrant-loader": {
      "command": "/path/to/venv/bin/mcp-qdrant-loader",
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "OPENAI_API_KEY": "your_openai_key"
      }
    }
  }
}
```

## ๐ŸŽฏ Usage Examples

### In Cursor IDE

Ask your AI assistant:

- *"Find documentation about authentication in our API"*
- *"Show me examples of error handling patterns in our codebase"*
- *"What are the deployment requirements for this service?"*
- *"Find all PDF attachments related to database schema"*
- *"Show me the hierarchy of pages under the Architecture section"*

### Advanced Search Queries

#### Semantic Search

```
Find information about rate limiting implementation
```

#### Hierarchy Search

```
Show me all child pages under the API Documentation section
```

#### Attachment Search

```
Find all Excel files uploaded by john.doe in the last month
```

## ๐Ÿ—๏ธ Architecture

### MCP Protocol Implementation

- **Full MCP 2024-11-05 compliance** with proper JSON-RPC communication
- **Tool registration** for search, hierarchy_search, and attachment_search
- **Streaming responses** for large result sets
- **Error handling** with proper MCP error codes
- **Resource management** for efficient memory usage

### Search Engine Components

- **Embedding Service**: Generates query embeddings using OpenAI
- **Vector Search**: Performs semantic similarity search in QDrant
- **Metadata Processor**: Enriches results with hierarchy and attachment information
- **Result Formatter**: Creates rich, contextual response formatting
- **Caching Layer**: Optimizes performance for repeated queries

### Data Flow

```text
AI Tool โ†’ MCP Server โ†’ QDrant Search โ†’ Result Processing โ†’ Formatted Response
    โ†“         โ†“            โ†“              โ†“                โ†“
Cursor    JSON-RPC    Vector Query   Metadata         Rich Context
Windsurf  Protocol    Embedding      Enrichment       Visual Indicators
Claude    Tool Call   Similarity     Hierarchy        Relationship Info
Other     Streaming   Ranking        Attachments      Source Attribution
```

## ๐Ÿ” Search Tool Details

### Universal Search (`search`)

**Parameters:**

- `query` (required): Natural language search query
- `limit` (optional): Maximum number of results (default: 5)
- `source_types` (optional): Filter by source types (git, confluence, jira, etc.)

**Example:**

```json
{
  "name": "search",
  "arguments": {
    "query": "authentication implementation",
    "limit": 10,
    "source_types": ["git", "confluence"]
  }
}
```

### Hierarchy Search (`hierarchy_search`)

**Parameters:**

- `query` (required): Search query
- `limit` (optional): Maximum results (default: 10)
- `organize_by_hierarchy` (optional): Group results by hierarchy (default: false)
- `hierarchy_filter` (optional): Filter options:
  - `root_only`: Show only root pages
  - `depth`: Filter by hierarchy depth
  - `parent_title`: Filter by parent page title
  - `has_children`: Filter by whether pages have children

**Example:**

```json
{
  "name": "hierarchy_search",
  "arguments": {
    "query": "API documentation",
    "organize_by_hierarchy": true,
    "hierarchy_filter": {
      "depth": 2,
      "has_children": true
    }
  }
}
```

### Attachment Search (`attachment_search`)

**Parameters:**

- `query` (required): Search query
- `limit` (optional): Maximum results (default: 10)
- `include_parent_context` (optional): Include parent document info (default: true)
- `attachment_filter` (optional): Filter options:
  - `attachments_only`: Show only attachments
  - `file_type`: Filter by file extension
  - `file_size_min`/`file_size_max`: Size range filtering
  - `author`: Filter by attachment author
  - `parent_document_title`: Filter by parent document

**Example:**

```json
{
  "name": "attachment_search",
  "arguments": {
    "query": "database schema",
    "attachment_filter": {
      "file_type": "pdf",
      "file_size_min": 1024
    }
  }
}
```

## ๐Ÿงช Testing

```bash
# Run all tests
pytest packages/qdrant-loader-mcp-server/tests/

# Run with coverage
pytest --cov=qdrant_loader_mcp_server packages/qdrant-loader-mcp-server/tests/

# Test MCP protocol compliance
pytest -m "mcp" packages/qdrant-loader-mcp-server/tests/
```

## ๐Ÿค Contributing

This package is part of the QDrant Loader monorepo. See the [main contributing guide](../../CONTRIBUTING.md) for details.

### Development Setup

```bash
# Clone and setup
git clone https://github.com/martin-papy/qdrant-loader.git
cd qdrant-loader

# Install in development mode
pip install -e packages/qdrant-loader-mcp-server[dev]

# Run tests
pytest packages/qdrant-loader-mcp-server/tests/
```

## ๐Ÿ“š Documentation

- **[Complete Documentation](../../docs/)** - Comprehensive guides and references
- **[Getting Started](../../docs/getting-started/)** - Quick start and core concepts
- **[MCP Server Guide](../../docs/users/detailed-guides/mcp-server/)** - Detailed MCP server documentation
- **[Developer Docs](../../docs/developers/)** - Architecture and API reference

## ๐Ÿ†˜ Support

- **[Issues](https://github.com/martin-papy/qdrant-loader/issues)** - Bug reports and feature requests
- **[Discussions](https://github.com/martin-papy/qdrant-loader/discussions)** - Community Q&A
- **[Documentation](../../docs/)** - Comprehensive guides

## ๐Ÿ“„ License

This project is licensed under the GNU GPLv3 - see the [LICENSE](../../LICENSE) file for details.

---

**Ready to supercharge your AI development?** Check out the [MCP Server Guide](../../docs/users/detailed-guides/mcp-server/) or explore the [complete documentation](../../docs/).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "qdrant-loader-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "qdrant, vector-database, mcp, cursor, rag, embeddings, multi-project, semantic-search",
    "author": null,
    "author_email": "Martin Papy <martin.papy@cbtw.tech>",
    "download_url": "https://files.pythonhosted.org/packages/35/34/5197fe382799e37ad83d0b2c4efa4473b2fd22d78deec41a6d3ffd7b7a6e/qdrant_loader_mcp_server-0.4.13.tar.gz",
    "platform": null,
    "description": "# QDrant Loader MCP Server\n\n[![PyPI](https://img.shields.io/pypi/v/qdrant-loader-mcp-server)](https://pypi.org/project/qdrant-loader-mcp-server/)\n[![Python](https://img.shields.io/pypi/pyversions/qdrant-loader-mcp-server)](https://pypi.org/project/qdrant-loader-mcp-server/)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nA Model Context Protocol (MCP) server that provides advanced Retrieval-Augmented Generation (RAG) capabilities to AI development tools. Part of the [QDrant Loader monorepo](../../) ecosystem.\n\n## \ud83d\ude80 What It Does\n\nThe MCP Server bridges your QDrant knowledge base with AI development tools:\n\n- **Provides intelligent search** through semantic, hierarchy-aware, and attachment-focused tools\n- **Integrates seamlessly** with Cursor, Windsurf, Claude Desktop, and other MCP-compatible tools\n- **Understands context** including document hierarchies, file relationships, and metadata\n- **Streams responses** for fast, real-time search results\n- **Preserves relationships** between documents, attachments, and parent content\n\n## \ud83d\udd0c Supported AI Tools\n\n| Tool | Status | Integration Features |\n|------|--------|---------------------|\n| **Cursor** | \u2705 Full Support | Context-aware code assistance, documentation lookup, intelligent suggestions |\n| **Windsurf** | \u2705 Compatible | MCP protocol integration, semantic search capabilities |\n| **Claude Desktop** | \u2705 Compatible | Direct MCP integration, conversational search interface |\n| **Other MCP Tools** | \u2705 Compatible | Any tool supporting MCP 2024-11-05 specification |\n\n## \ud83d\udd0d Advanced Search Capabilities\n\n### Three Specialized Search Tools\n\n#### 1. `search` - Universal Semantic Search\n\n- **Purpose**: General-purpose semantic search across all content\n- **Best for**: Finding relevant information by meaning, not just keywords\n- **Features**: Multi-source search, relevance ranking, context preservation\n\n#### 2. `hierarchy_search` - Confluence-Aware Search\n\n- **Purpose**: Confluence-specific search with deep hierarchy understanding\n- **Best for**: Navigating complex documentation structures, finding related pages\n- **Features**: Parent/child relationships, breadcrumb paths, hierarchy filtering\n\n#### 3. `attachment_search` - File-Focused Search\n\n- **Purpose**: Finding files and attachments with parent document context\n- **Best for**: Locating specific files, templates, specifications, or supporting materials\n- **Features**: File type filtering, size filtering, parent document relationships\n\n### Search Intelligence Features\n\n- **Hierarchy Understanding**: Recognizes parent/child page relationships in Confluence\n- **Attachment Awareness**: Connects files to their parent documents and context\n- **Metadata Enrichment**: Includes authors, dates, file sizes, and source information\n- **Visual Indicators**: Rich formatting with icons and context clues\n- **Relationship Mapping**: Shows connections between related content\n\n## \ud83d\udce6 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install qdrant-loader-mcp-server\n```\n\n### From Source (Development)\n\n```bash\n# Clone the monorepo\ngit clone https://github.com/martin-papy/qdrant-loader.git\ncd qdrant-loader\n\n# Install in development mode\npip install -e packages/qdrant-loader-mcp-server[dev]\n```\n\n### Complete RAG Pipeline\n\nFor full functionality with data ingestion:\n\n```bash\n# Install both packages\npip install qdrant-loader qdrant-loader-mcp-server\n```\n\n## \u26a1 Quick Start\n\n### 1. Environment Setup\n\n```bash\n# Required environment variables\nexport QDRANT_URL=\"http://localhost:6333\"\nexport QDRANT_API_KEY=\"your_api_key\"  # Required for QDrant Cloud\nexport OPENAI_API_KEY=\"your_openai_key\"\n\n# Optional configuration\nexport QDRANT_COLLECTION_NAME=\"documents\"  # Default collection name\nexport MCP_LOG_LEVEL=\"INFO\"                # Logging level\nexport MCP_LOG_FILE=\"/path/to/mcp.log\"     # Log file path\nexport MCP_DISABLE_CONSOLE_LOGGING=\"true\"  # Recommended for Cursor\n```\n\n### 2. Start the Server\n\n```bash\n# Start MCP server\nmcp-qdrant-loader\n\n# With debug logging\nmcp-qdrant-loader --log-level DEBUG\n\n# Show help\nmcp-qdrant-loader --help\n```\n\n### 3. Test the Connection\n\n```bash\n# Test with a simple search\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search\",\"arguments\":{\"query\":\"test\",\"limit\":1}}}' | mcp-qdrant-loader\n```\n\n## \ud83d\udd27 Configuration\n\n### Environment Variables\n\n| Variable | Description | Default | Required |\n|----------|-------------|---------|----------|\n| `QDRANT_URL` | QDrant instance URL | `http://localhost:6333` | Yes |\n| `QDRANT_API_KEY` | QDrant API key | None | Cloud only |\n| `QDRANT_COLLECTION_NAME` | Collection name | `documents` | No |\n| `OPENAI_API_KEY` | OpenAI API key for embeddings | None | Yes |\n| `MCP_LOG_LEVEL` | Logging level | `INFO` | No |\n| `MCP_LOG_FILE` | Log file path | None | No |\n| `MCP_DISABLE_CONSOLE_LOGGING` | Disable console output | `false` | **Yes for Cursor** |\n\n### Important Configuration Notes\n\n- **For Cursor Integration**: Always set `MCP_DISABLE_CONSOLE_LOGGING=true` to prevent interference with JSON-RPC communication\n- **For Debugging**: Use `MCP_LOG_FILE` to write logs when console logging is disabled\n- **API Keys**: OpenAI API keys should start with `sk-proj-` for project keys or `sk-` for user keys\n\n## \ud83c\udfaf AI Tool Integration\n\n### Cursor IDE Integration\n\nAdd to your `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"qdrant-loader\": {\n      \"command\": \"/path/to/venv/bin/mcp-qdrant-loader\",\n      \"env\": {\n        \"QDRANT_URL\": \"http://localhost:6333\",\n        \"QDRANT_API_KEY\": \"your_qdrant_api_key\",\n        \"OPENAI_API_KEY\": \"sk-proj-your_openai_api_key\",\n        \"QDRANT_COLLECTION_NAME\": \"your_collection\",\n        \"MCP_LOG_LEVEL\": \"INFO\",\n        \"MCP_LOG_FILE\": \"/path/to/logs/mcp.log\",\n        \"MCP_DISABLE_CONSOLE_LOGGING\": \"true\"\n      }\n    }\n  }\n}\n```\n\n### Windsurf Integration\n\nSimilar configuration in Windsurf's MCP settings:\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"qdrant-loader\": {\n        \"command\": \"/path/to/venv/bin/mcp-qdrant-loader\",\n        \"env\": {\n          \"QDRANT_URL\": \"http://localhost:6333\",\n          \"OPENAI_API_KEY\": \"your_openai_key\",\n          \"MCP_DISABLE_CONSOLE_LOGGING\": \"true\"\n        }\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop Integration\n\nAdd to Claude Desktop's configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"qdrant-loader\": {\n      \"command\": \"/path/to/venv/bin/mcp-qdrant-loader\",\n      \"env\": {\n        \"QDRANT_URL\": \"http://localhost:6333\",\n        \"OPENAI_API_KEY\": \"your_openai_key\"\n      }\n    }\n  }\n}\n```\n\n## \ud83c\udfaf Usage Examples\n\n### In Cursor IDE\n\nAsk your AI assistant:\n\n- *\"Find documentation about authentication in our API\"*\n- *\"Show me examples of error handling patterns in our codebase\"*\n- *\"What are the deployment requirements for this service?\"*\n- *\"Find all PDF attachments related to database schema\"*\n- *\"Show me the hierarchy of pages under the Architecture section\"*\n\n### Advanced Search Queries\n\n#### Semantic Search\n\n```\nFind information about rate limiting implementation\n```\n\n#### Hierarchy Search\n\n```\nShow me all child pages under the API Documentation section\n```\n\n#### Attachment Search\n\n```\nFind all Excel files uploaded by john.doe in the last month\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\n### MCP Protocol Implementation\n\n- **Full MCP 2024-11-05 compliance** with proper JSON-RPC communication\n- **Tool registration** for search, hierarchy_search, and attachment_search\n- **Streaming responses** for large result sets\n- **Error handling** with proper MCP error codes\n- **Resource management** for efficient memory usage\n\n### Search Engine Components\n\n- **Embedding Service**: Generates query embeddings using OpenAI\n- **Vector Search**: Performs semantic similarity search in QDrant\n- **Metadata Processor**: Enriches results with hierarchy and attachment information\n- **Result Formatter**: Creates rich, contextual response formatting\n- **Caching Layer**: Optimizes performance for repeated queries\n\n### Data Flow\n\n```text\nAI Tool \u2192 MCP Server \u2192 QDrant Search \u2192 Result Processing \u2192 Formatted Response\n    \u2193         \u2193            \u2193              \u2193                \u2193\nCursor    JSON-RPC    Vector Query   Metadata         Rich Context\nWindsurf  Protocol    Embedding      Enrichment       Visual Indicators\nClaude    Tool Call   Similarity     Hierarchy        Relationship Info\nOther     Streaming   Ranking        Attachments      Source Attribution\n```\n\n## \ud83d\udd0d Search Tool Details\n\n### Universal Search (`search`)\n\n**Parameters:**\n\n- `query` (required): Natural language search query\n- `limit` (optional): Maximum number of results (default: 5)\n- `source_types` (optional): Filter by source types (git, confluence, jira, etc.)\n\n**Example:**\n\n```json\n{\n  \"name\": \"search\",\n  \"arguments\": {\n    \"query\": \"authentication implementation\",\n    \"limit\": 10,\n    \"source_types\": [\"git\", \"confluence\"]\n  }\n}\n```\n\n### Hierarchy Search (`hierarchy_search`)\n\n**Parameters:**\n\n- `query` (required): Search query\n- `limit` (optional): Maximum results (default: 10)\n- `organize_by_hierarchy` (optional): Group results by hierarchy (default: false)\n- `hierarchy_filter` (optional): Filter options:\n  - `root_only`: Show only root pages\n  - `depth`: Filter by hierarchy depth\n  - `parent_title`: Filter by parent page title\n  - `has_children`: Filter by whether pages have children\n\n**Example:**\n\n```json\n{\n  \"name\": \"hierarchy_search\",\n  \"arguments\": {\n    \"query\": \"API documentation\",\n    \"organize_by_hierarchy\": true,\n    \"hierarchy_filter\": {\n      \"depth\": 2,\n      \"has_children\": true\n    }\n  }\n}\n```\n\n### Attachment Search (`attachment_search`)\n\n**Parameters:**\n\n- `query` (required): Search query\n- `limit` (optional): Maximum results (default: 10)\n- `include_parent_context` (optional): Include parent document info (default: true)\n- `attachment_filter` (optional): Filter options:\n  - `attachments_only`: Show only attachments\n  - `file_type`: Filter by file extension\n  - `file_size_min`/`file_size_max`: Size range filtering\n  - `author`: Filter by attachment author\n  - `parent_document_title`: Filter by parent document\n\n**Example:**\n\n```json\n{\n  \"name\": \"attachment_search\",\n  \"arguments\": {\n    \"query\": \"database schema\",\n    \"attachment_filter\": {\n      \"file_type\": \"pdf\",\n      \"file_size_min\": 1024\n    }\n  }\n}\n```\n\n## \ud83e\uddea Testing\n\n```bash\n# Run all tests\npytest packages/qdrant-loader-mcp-server/tests/\n\n# Run with coverage\npytest --cov=qdrant_loader_mcp_server packages/qdrant-loader-mcp-server/tests/\n\n# Test MCP protocol compliance\npytest -m \"mcp\" packages/qdrant-loader-mcp-server/tests/\n```\n\n## \ud83e\udd1d Contributing\n\nThis package is part of the QDrant Loader monorepo. See the [main contributing guide](../../CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\n# Clone and setup\ngit clone https://github.com/martin-papy/qdrant-loader.git\ncd qdrant-loader\n\n# Install in development mode\npip install -e packages/qdrant-loader-mcp-server[dev]\n\n# Run tests\npytest packages/qdrant-loader-mcp-server/tests/\n```\n\n## \ud83d\udcda Documentation\n\n- **[Complete Documentation](../../docs/)** - Comprehensive guides and references\n- **[Getting Started](../../docs/getting-started/)** - Quick start and core concepts\n- **[MCP Server Guide](../../docs/users/detailed-guides/mcp-server/)** - Detailed MCP server documentation\n- **[Developer Docs](../../docs/developers/)** - Architecture and API reference\n\n## \ud83c\udd98 Support\n\n- **[Issues](https://github.com/martin-papy/qdrant-loader/issues)** - Bug reports and feature requests\n- **[Discussions](https://github.com/martin-papy/qdrant-loader/discussions)** - Community Q&A\n- **[Documentation](../../docs/)** - Comprehensive guides\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the GNU GPLv3 - see the [LICENSE](../../LICENSE) file for details.\n\n---\n\n**Ready to supercharge your AI development?** Check out the [MCP Server Guide](../../docs/users/detailed-guides/mcp-server/) or explore the [complete documentation](../../docs/).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Model Context Protocol (MCP) server that provides RAG capabilities to Cursor using Qdrant.",
    "version": "0.4.13",
    "project_urls": {
        "Documentation": "https://qdrant-loader.net/docs/packages/mcp-server/README.html",
        "Homepage": "https://qdrant-loader.net",
        "Issues": "https://github.com/martin-papy/qdrant-loader/issues",
        "Repository": "https://github.com/martin-papy/qdrant-loader"
    },
    "split_keywords": [
        "qdrant",
        " vector-database",
        " mcp",
        " cursor",
        " rag",
        " embeddings",
        " multi-project",
        " semantic-search"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "90731edcd9a0ca7a68c72fe675796f523586d15f574be823bf1682a3d66a12ed",
                "md5": "2730ecb1fa42853d15fa871052c86ac3",
                "sha256": "cbbf52a285ee861788aaf87f799180c0d7adf1eca600554fdcd694cdc6fd7cef"
            },
            "downloads": -1,
            "filename": "qdrant_loader_mcp_server-0.4.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2730ecb1fa42853d15fa871052c86ac3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 30421,
            "upload_time": "2025-07-11T05:22:09",
            "upload_time_iso_8601": "2025-07-11T05:22:09.723909Z",
            "url": "https://files.pythonhosted.org/packages/90/73/1edcd9a0ca7a68c72fe675796f523586d15f574be823bf1682a3d66a12ed/qdrant_loader_mcp_server-0.4.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "35345197fe382799e37ad83d0b2c4efa4473b2fd22d78deec41a6d3ffd7b7a6e",
                "md5": "0714b5c68ccf89abca5211c049d45a0b",
                "sha256": "f3097c53ba82ba1162f95fea5de93fe4e233d1aa2ad75c6e6a4f941b1ed86d17"
            },
            "downloads": -1,
            "filename": "qdrant_loader_mcp_server-0.4.13.tar.gz",
            "has_sig": false,
            "md5_digest": "0714b5c68ccf89abca5211c049d45a0b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 29823,
            "upload_time": "2025-07-11T05:22:11",
            "upload_time_iso_8601": "2025-07-11T05:22:11.229286Z",
            "url": "https://files.pythonhosted.org/packages/35/34/5197fe382799e37ad83d0b2c4efa4473b2fd22d78deec41a6d3ffd7b7a6e/qdrant_loader_mcp_server-0.4.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 05:22:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "martin-papy",
    "github_project": "qdrant-loader",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "qdrant-loader-mcp-server"
}
        
Elapsed time: 0.51590s