qdrant-find
Search for memories by content in Qdrant vector databases to retrieve stored information for analysis or personal data access.
Instructions
Look up memories in Qdrant. Use this tool when you need to:
Find memories by their content
Access memories for further analysis
Get some personal information about the user
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to search for | |
| collection_name | Yes | The collection to search in |
Implementation Reference
- Core handler function 'find' implementing qdrant-find tool: processes query and filter, searches Qdrant collection, formats results into a list of strings.async def find( ctx: Context, query: Annotated[str, Field(description="What to search for")], collection_name: Annotated[ str, Field(description="The collection to search in") ], query_filter: ArbitraryFilter | None = None, ) -> list[str] | None: """ Find memories in Qdrant. :param ctx: The context for the request. :param query: The query to use for the search. :param collection_name: The name of the collection to search in, optional. If not provided, the default collection is used. :param query_filter: The filter to apply to the query. :return: A list of entries found or None. """ # Log query_filter await ctx.debug(f"Query filter: {query_filter}") query_filter = models.Filter(**query_filter) if query_filter else None await ctx.debug(f"Finding results for query {query}") entries = await self.qdrant_connector.search( query, collection_name=collection_name, limit=self.qdrant_settings.search_limit, query_filter=query_filter, ) if not entries: return None content = [ f"Results for the query '{query}'", ] for entry in entries: content.append(self.format_entry(entry)) return content
- src/mcp_server_qdrant/mcp_server.py:187-191 (registration)Tool registration for 'qdrant-find' using the wrapped 'find_foo' function.self.tool( find_foo, name="qdrant-find", description=self.tool_settings.tool_find_description, )
- Input schema defined via Annotated types and Field descriptions in the handler signature.async def find( ctx: Context, query: Annotated[str, Field(description="What to search for")], collection_name: Annotated[ str, Field(description="The collection to search in") ], query_filter: ArbitraryFilter | None = None, ) -> list[str] | None: