1. Conduid
  2. RAG
  3. Rusty MCP
MCP server · RAG

Rusty MCP

A minimal Rust vector-memory server that works with Qdrant and Ollama.

34Low

Scored 6 months ago · breakdown

About Rusty MCP

Rusty MCP is an MCP server in the RAG category: a minimal Rust vector-memory server that works with Qdrant and Ollama.

Install

From source
git clone https://github.com/CaliLuke/rusty-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Rusty MCP

Powered by Claude · Grounded in docs

I know everything about Rusty MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Rusty Memory MCP

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)

  1. Install the binaries

    cargo install rustymcp
    

    This installs:

    • rusty_mem_mcp (MCP server)
    • rustymcp (HTTP server)
    • metrics-post (helper used by scripts)
  2. Start Qdrant (vector database)

    docker run --pull=always -p 6333:6333 qdrant/qdrant:latest
    
  3. Configure environment

    Copy .env.example to .env and 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 (ollama enables 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 to http://127.0.0.1:11434 when EMBEDDING_PROVIDER=ollama)
  4. Launch the MCP server

    rusty_mem_mcp
    
  5. Add 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 default
      
    • JSON 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"
            }
          }
        }
      }
      
  6. 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 threshold
    • summarize → condense episodic memories into semantic summaries with provenance and idempotent summary_keys
    • get-collections → list Qdrant collections
    • new-collection → create or resize a collection
    • metrics → view counters (documentsIndexed, chunksIndexed, lastChunkSize)
    • listResources → discover read-only resources; use readResource on:
      • mcp://memory-types
      • mcp://projects
      • mcp://health
      • mcp://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.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Rusty MCP

How do I install Rusty MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Rusty MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Rusty MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.