{"id":"e641b98b-bcaf-4480-8d67-13ed6e0dd084","slug":"vectorsearch","kind":"mcp","name":"vectorsearch","summary":"Store and retrieve text in a Qdrant vector database by similarity search.","owner":"CloudCorpRecords","repoUrl":"https://github.com/CloudCorpRecords/vectorsearch","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-30T11:53:32.000Z","addedAt":"2026-10-30T22:37:24.444Z","logoUrl":"https://avatars.githubusercontent.com/u/95189389?u=8e277e1a24ff84ae7b49c89e6897fa44178a5c34&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["databases","search"],"tags":[],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-30T22:39:33.815Z","sample":false,"url":"https://conduits.dev/tools/vectorsearch","language":"TypeScript","transports":["stdio"],"install":{"npm":"@reneturcios/vectorsearch"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# vectorsearch\n\nvectorsearch is a small memory for agents: store a piece of\ninformation now, then ask for it back later with a plain-language\nquery. It keeps exactly two operations — store and find — and backs\nthem with a Qdrant vector database over its REST API.\n\nSet `QDRANT_URL` to reach a non-default service (it assumes\n`http://localhost:6333`). The collection used when a call does not\nname one comes from `COLLECTION_NAME` and defaults to `documents`.\nStoring into a collection that does not exist yet creates it first,\nsized to this tool's embedding dimension with cosine distance.\n\n## Install\n\n```bash\nnpx @reneturcios/vectorsearch find \"how do we deploy the staging app\"\n```\n\nOr run the container image:\n\n```bash\ndocker run -i ghcr.io/cloudcorprecords/vectorsearch\n```\n\nThe container defaults to the MCP server (see below). Pass CLI\narguments to use it as a CLI instead.\n\n## CLI\n\n```bash\n# Store something (optionally into a named collection)\nvectorsearch store \"the staging deploy runs from the release branch\" --collection notes\n\n# Ask for it back\nvectorsearch find \"staging deploy\" --collection notes\n\n# Start the MCP server\nvectorsearch mcp\n\nvectorsearch --version\n```\n\nExit codes: `0` on success, `1` when the service call fails (the error\nincludes the HTTP status), `2` for usage errors.\n\n## MCP server\n\nOne bin serves both faces. The `mcp` subcommand starts a stdio MCP\nserver:\n\n```bash\nnpx -y @reneturcios/vectorsearch mcp\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"vectorsearch\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reneturcios/vectorsearch\", \"mcp\"],\n      \"env\": {\n        \"QDRANT_URL\": \"http://localhost:6333\",\n        \"COLLECTION_NAME\": \"documents\"\n      }\n    }\n  }\n}\n```\n\n### Tools\n\n| Tool | Required | Optional | Purpose |\n| --- | --- | --- | --- |\n| `qdrant-store` | `information` (string) | `metadata` (object), `collection_name` (string) | Store some information in the Qdrant database. The text and any metadata become the point payload. |\n| `qdrant-find` | `query` (string) | `collection_name` (string) | Retrieve relevant information from the Qdrant database. Returns the closest stored entries with their payloads and scores. |\n\n## About the embeddings\n\nThe reference design pairs Qdrant with an external embedding model.\nThis rebuild deliberately calls no external embedding service.\nInstead it embeds text locally with a deterministic hash-based\nfunction: the same text always produces the same unit vector, and\ntexts that share tokens land near each other, which keeps store and\nfind self-consistent and fully offline. Be clear-eyed about the\ntrade-off: this is a local fallback with token-overlap similarity,\nnot model-grade semantic embeddings. Swapping in a real embedding\nprovider later only changes the executor's vector function — the\ntools, schemas, and storage shape stay the same.\n\nPoint ids are likewise deterministic, derived from a hash of the\ntext (and metadata when present), so re-storing the same information\nupdates the same point instead of piling up duplicates.\n\n## Development\n\n```bash\nnpm install\nnpm run build   # tsc -> dist/\nnpm test        # node test runner over test/*.test.ts, fakes only, no live service\nnpm run dev     # run the CLI from source via tsx\n```\n\nDispatch, default-collection resolution, and error propagation are\ntested against a fake executor; the Qdrant REST executor is tested\nagainst a fake fetch that records its requests (collection ensure /\ncreate-on-missing, point upsert shape, search mapping).\n\n## License\n\nMIT — see `LICENSE`.\n"}