Commit Graph

27 Commits

Author SHA1 Message Date
Mr. Kutin
e13a8981e7 Add project tagging to store tool and metadata.project index
Some checks failed
pre-commit / main (push) Has been cancelled
Run Tests / Python 3.10 (push) Has been cancelled
Run Tests / Python 3.11 (push) Has been cancelled
Run Tests / Python 3.12 (push) Has been cancelled
Run Tests / Python 3.13 (push) Has been cancelled
- Add explicit `project` parameter to qdrant-store tool (default: "global")
- Auto-inject project name into metadata for every stored record
- Create keyword payload index on metadata.project for efficient filtering

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 10:43:05 +03:00
Mr. Kutin
e9f0a1fa4a Add BM25 hybrid search (dense + sparse vectors with RRF)
Some checks failed
pre-commit / main (push) Has been cancelled
Run Tests / Python 3.10 (push) Has been cancelled
Run Tests / Python 3.11 (push) Has been cancelled
Run Tests / Python 3.12 (push) Has been cancelled
Run Tests / Python 3.13 (push) Has been cancelled
- Add SparseTextEmbedding("Qdrant/bm25") to FastEmbedProvider for BM25 tokenization
- Add sparse vector config (IDF modifier) to collection creation
- Store both dense and sparse vectors per document
- Use Qdrant prefetch + Reciprocal Rank Fusion for hybrid search
- Add HYBRID_SEARCH env var (default: false) for backward compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 10:27:52 +03:00
Till Bungert
8d6f388543 fix: return None if no results where found (#83) 2025-08-19 13:45:01 +02:00
Andrey Vasnetsov
59fca57369 allow specifying custom embedding provider (#82) 2025-08-11 12:38:24 +02:00
George
3fdb4c4b1b new: update fastmcp to 2.7.0 (#65) 2025-06-13 16:52:48 +04:00
George
28bf298a32 new: update type hints (#64)
* new: update type hints

* fix: do not pass location and path to qdrant client, and do not accept them together

* new: update settings tests

* fix: revert removal of local path
2025-06-12 00:55:07 +04:00
Andrey Vasnetsov
b657656363 Configurable filters (#58)
* add configurable filters

* hello to hr department

* rollback debug code

* add arbitrary filter

* dont consider fields without conditions

* in and except condition

* proper annotation types for optional and list fields

* fix types import

* skip non-required fields

* fix: fix match except condition, fix boolean filter

* fix: apply ruff

* fix: make condition optional in filterable field

* fix: do not set default value for required fields (#63)

* fix: do not set default value for required fields

* fix: temp fix fastmcp to <2.8.0 cause of the breaking changes in the api

* fix: add missing changes to pyproject.toml

* fix: downgrade fastmcp even further to <2.7.0

---------

Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
Co-authored-by: George <panchuk.george@outlook.com>
2025-06-11 16:19:18 +02:00
Andrey Vasnetsov
244139beb5 migrate to fastmcp 2 (#57)
* migrate to fastmcp 2

* format

* ignore mypy being unreasonable

* fmt

* upd readme
2025-05-28 15:19:16 +02:00
Kacper Łukawski
ecba1ddce6 Add mypy to pre-commit (#43)
* Add mypy to pre-commit

* Enable GH action to run pytest on Python 3.13
2025-04-10 15:03:48 +02:00
Kacper Łukawski
75d605deff Allow passing all the FastMCP init params in QdrantMCPServer (#42) 2025-04-10 15:03:10 +02:00
Kacper Łukawski
cd393290a0 Correct the usage of the parameters when the default collection is used (#41) 2025-04-10 14:27:44 +02:00
Andrey Vasnetsov
181be17142 Reusable mcp server (#39)
* add developer mode instruction to readme

* Make a custom MCP wrapper around FastMCP add more settings, some improvements

* upd test and readme

* review fixes
2025-04-07 12:44:02 +02:00
Kacper Łukawski
7aad8ebb3c Support multiple collections (#26)
* Allow passing the collection name in each request to override the default

* Allow getting the collection names in QdrantConnector

* get vector size from model description

* ruff format

* add isort

* apply pre-commit hooks

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2025-04-07 11:16:45 +02:00
Kacper Łukawski
5878cc1267 Custom tool descriptions (#29)
* Allow setting up the tool descriptions with env variables

* Document the env variables as a table in README

* Link settings.py in README.md

* Allow to choose transport protocol: stdio or sse

* Fix metadata handling in Cursor

* Improve README to cover more cases

* Add info about Cursor rules

* Fix Github note type
2025-03-11 21:05:39 +01:00
Kacper Łukawski
bd155b13d0 Add metadata support and integration tests for QdrantConnector (#25) 2025-03-10 17:06:26 +01:00
Kacper Łukawski
b9f773e99c Handle parameters with environmental variables only (#24)
* Switch to Typer to read the CLI parameters and options

* Rely on environmental variables only

* Fix tests

* Update README
2025-03-10 16:36:31 +01:00
Kacper Łukawski
18cc93f6c8 Implement the server with FastMCP 2025-03-10 14:21:13 +01:00
Kacper Łukawski
f8d3cc474b Add custom server implementation to ease the development of the tools 2025-03-07 18:11:15 +01:00
Kacper Łukawski
bf471783fd Refactor server and embedding provider to improve modularity
- Modify `serve()` function to accept a pre-configured QdrantConnector
- Update `create_embedding_provider()` to simplify model name handling
- Improve error handling and parameter passing in server tools
- Restructure main function to create connector and server more explicitly
2025-03-07 13:08:03 +01:00
Kacper Łukawski
8afd73849c Fix compatibility with the previous versions 2025-03-05 23:42:19 +01:00
Kacper Łukawski
6aa21b6d99 Run pre-commit 2025-03-05 22:54:21 +01:00
Kacper Łukawski
56f1c797fc Abstract the embedding providers 2025-03-05 22:50:27 +01:00
Kacper Łukawski
e673084c5e Add pre-commit to ensure consistent formatting 2025-03-05 22:47:12 +01:00
Kacper Łukawski
64ad4e6f3d Merge pull request #5 from qdrant/feature/support-local-mode
Add support for local Qdrant mode
2024-12-13 17:47:01 +01:00
Kacper Łukawski
2305c0916e Add another parameter to allow using local Qdrant mode 2024-12-13 17:16:00 +01:00
Kacper Łukawski
7703b2212b Return an empty list if there are no memories available 2024-12-13 17:03:51 +01:00
Kacper Łukawski
701db26495 Initial commit 2024-12-02 13:10:16 +01:00