Rusty
FreeNot checkedA minimal Rust vector-memory server that works with Qdrant and Ollama.
About
A minimal Rust vector-memory server that works with Qdrant and Ollama.
README
Crates.io docs.rs Release CI license
Rusty Memory MCP is a no‑fuss memory server for coding agents. It chunks text, generates embeddings, and stores vectors in Qdrant. You can run it as:
- An MCP server over stdio for editors/agents
- A local HTTP service for simple scripts
If you want to hack on the codebase or learn how it works internally, jump to Developer Docs below.
Quick Start (MCP in your editor)
Install the binaries
cargo install rustymcpThis installs:
rusty_mem_mcp(MCP server)rustymcp(HTTP server)metrics-post(helper used by scripts)
Start Qdrant (vector database)
docker run --pull=always -p 6333:6333 qdrant/qdrant:latestConfigure environment
Copy
.env.exampleto.envand edit values, or provide the same variables via your MCP client config:Required variables:
QDRANT_URL(e.g.http://127.0.0.1:6333)QDRANT_COLLECTION_NAME(e.g.rusty-mem)EMBEDDING_PROVIDER(ollamaenables the local client; other values use the deterministic fallback for now)EMBEDDING_MODEL(free‑form, e.g.nomic-embed-text)EMBEDDING_DIMENSION(must match your model, e.g.768)OLLAMA_URL(optional, defaults tohttp://127.0.0.1:11434whenEMBEDDING_PROVIDER=ollama)
Launch the MCP server
rusty_mem_mcpAdd to your agent
Codex CLI (
~/.codex/config.toml):[mcp_servers.rusty_mem] command = "rusty_mem_mcp" # or use the full path to the binary args = [] transport = "stdio" [mcp_servers.rusty_mem.env] QDRANT_URL = "http://127.0.0.1:6333" QDRANT_COLLECTION_NAME = "rusty-mem" EMBEDDING_PROVIDER = "ollama" EMBEDDING_MODEL = "nomic-embed-text" EMBEDDING_DIMENSION = "768" OLLAMA_URL = "http://127.0.0.1:11434" # omit to use the defaultJSON clients (Kilo, Cline, Roo Code):
{ "mcpServers": { "rusty": { "command": "rusty_mem_mcp", "args": [], "transport": "stdio", "env": { "QDRANT_URL": "http://127.0.0.1:6333", "QDRANT_COLLECTION_NAME": "rusty-mem", "EMBEDDING_PROVIDER": "ollama", "EMBEDDING_MODEL": "nomic-embed-text", "EMBEDDING_DIMENSION": "768", "OLLAMA_URL": "http://127.0.0.1:11434" } } } }
Try it
From your agent, use:
push→ ingest text with optional metadata (project_id,memory_type,tags,source_uri)search→ retrieve memories semantically with filters for project, memory type, tags, time range, and score thresholdsummarize→ condense episodic memories into semantic summaries with provenance and idempotentsummary_keysget-collections→ list Qdrant collectionsnew-collection→ create or resize a collectionmetrics→ view counters (documentsIndexed,chunksIndexed,lastChunkSize)listResources→ discover read-only resources; usereadResourceon:mcp://memory-typesmcp://projectsmcp://healthmcp://settings(search defaults)mcp://usage(usage policy and recommended flows)- Template:
mcp://{project_id}/tags
Optional: Run the HTTP server
If you prefer HTTP, set the same environment and run:
rustymcp
By default the server binds the first free port in 4100–4199 (or SERVER_PORT if set). Example:
curl -sS -X POST http://127.0.0.1:4100/index \
-H 'Content-Type: application/json' \
-d '{"text":"hello from http"}'
Returns { "chunks_indexed": <number>, "chunk_size": <number>, "inserted": <number>, "updated": <number>, "skipped_duplicates": <number> } on success.
Having trouble? See docs/Troubleshooting.md.
Developer Docs
If you want to extend Rusty Memory or understand the architecture:
- Configuration reference and client snippets:
docs/Configuration.md - Architecture and module overview:
docs/Design.md - Editor integration examples:
docs/Editors.md - Development guide (style, tests, scripts):
docs/Development.md
License
Licensed under the PolyForm Noncommercial License 1.0.0. Free for non‑commercial use.
Support
Issues and PRs are welcome. If anything in the Quick Start is unclear, please open an issue so we can make onboarding even smoother.
Installing Rusty
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/CaliLuke/rusty-mcpFAQ
Is Rusty MCP free?
Yes, Rusty MCP is free — one-click install via Unyly at no cost.
Does Rusty need an API key?
No, Rusty runs without API keys or environment variables.
Is Rusty hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Rusty in Claude Desktop, Claude Code or Cursor?
Open Rusty on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Rusty with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
