Skip to main content
Glama

MemOS-MCP

by qinshu1109
Apache 2.0
3
  • Linux
  • Apple
qdrant_vec_db.py4.09 kB
import uuid from memos import settings from memos.configs.vec_db import VectorDBConfigFactory from memos.vec_dbs.factory import VecDBFactory config = VectorDBConfigFactory.model_validate( { "backend": "qdrant", "config": { "collection_name": "test_collection", "vector_dimension": 4, "distance_metric": "cosine", "path": str(settings.MEMOS_DIR / "qdrant"), }, } ) vec_db = VecDBFactory.from_config(config) # ============== BATCH OPERATIONS ============== print("\n" + "=" * 50) print("BATCH DOCUMENT ADDITION") # Add batch data batch_data = [ { "id": str(uuid.uuid4()), "vector": [0.5, 0.6, 0.7, 0.8], "payload": {"text": "Document A", "category": "type1"}, }, { "id": str(uuid.uuid4()), "vector": [0.4, 0.5, 0.6, 0.7], "payload": {"text": "Document B", "category": "type2"}, }, { "id": str(uuid.uuid4()), "vector": [0.3, 0.4, 0.5, 0.6], "payload": {"text": "Document C", "category": "type1"}, }, ] vec_db.add(batch_data) print(f"✓ Added {len(batch_data)} documents") # ============== SEARCH OPERATIONS ============== print("\n" + "=" * 50) print("VECTOR SEARCH") # Search for similar items query_vector = [5.0, 6.0, 7.0, 8.0] results = vec_db.search(query_vector, top_k=2) print(f"Query vector: {query_vector}") print("\nResults:") for i, result in enumerate(results, 1): print(f" {i}. ID: {result.id}") print(f" Score: {result.score}") print(f" Payload: {result.payload}") # ============== COUNT OPERATIONS ============== print("\n" + "=" * 50) print("DOCUMENT COUNT") # Count documents in collection count = vec_db.count() print(f"Total documents in collection: {count}") # Count documents with filter filtered_count = vec_db.count(filter={"category": "type1"}) print(f"Documents with category 'type1': {filtered_count}") # ============== SINGLE DOCUMENT OPERATIONS ============== print("\n" + "=" * 50) print("DOCUMENT OPERATIONS") # Add a document doc_id = str(uuid.uuid4()) vec_db.add( [ { "id": doc_id, "vector": [0.1, 0.2, 0.3, 0.4], "payload": {"text": "Original document", "status": "new"}, } ] ) print(f"✓ Added document with ID: {doc_id}") # Update document payload vec_db.update(doc_id, {"payload": {"text": "Updated document", "status": "updated"}}) print(f"✓ Updated document payload for ID: {doc_id}") # Retrieve updated document result = vec_db.get_by_id(doc_id) print("\nRetrieved updated document:") print(f" ID: {doc_id}") print(f" Payload: {result.payload if result else 'Not found'}") # Delete the document vec_db.delete([doc_id]) print(f"\n✓ Deleted document with ID: {doc_id}") # Verify deletion result = vec_db.get_by_id(doc_id) print("\nDocument after deletion:") print(f" Result: {'Not found' if result is None else result}") # ============== COLLECTION OPERATIONS ============== print("\n" + "=" * 50) print("COLLECTION OPERATIONS") # List all collections in the database collections = vec_db.list_collections() print(f"Available collections: {collections}") # ============== FILTER OPERATIONS ============== print("\n" + "=" * 50) print("FILTER OPERATIONS") # Get documents by filter criteria filter_results = vec_db.get_by_filter({"category": "type1"}) print("Documents filtered by category 'type1':") for i, item in enumerate(filter_results, 1): print(f" {i}. ID: {item.id}") print(f" Payload: {item.payload}") # Get all documents in the collection all_docs = vec_db.get_all() print("\nAll documents in the collection:") for i, item in enumerate(all_docs, 1): print(f" {i}. ID: {item.id}") print(f" Vector: {item.vector}") print(f" Payload: {item.payload}") # ============== CLEANUP ============== print("\n" + "=" * 50) print("CLEANUP") # Delete the collection vec_db.delete_collection("test_collection") print("✓ Collection deleted") print(f"Available collections after deletion: {vec_db.list_collections()}") print("\n" + "=" * 50)

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/qinshu1109/memos-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server