Project Memory MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Project Memory MCPsearch for authentication patterns in docs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Project Memory MCP
Project Memory MCP is a small, local-first backend for semantic search over a software project's Markdown and text documentation. It indexes document chunks in Qdrant and exposes retrieval through a CLI and MCP tools. The server does not call an LLM; the MCP host uses the retrieved context to formulate its answer.
Architecture
HTTP, MCP, and CLI modules are thin entry adapters. The application services orchestrate document loading, chunking, embeddings, and vector storage through typed domain ports. Sentence Transformers and Qdrant remain isolated in infrastructure adapters.
Documentation
↓
Chunking
↓
Embeddings
↓
Qdrant
↑
MCP Search Tool
↑
AI HostMarkdown files are first split by their heading hierarchy and then by character count. Text files use character-based recursive splitting directly. Each chunk receives a stable SHA-256 ID and keeps its relative source path and Markdown section.
Related MCP server: Markdown RAG MCP
Requirements
Python 3.12
Docker with Docker Compose
Installation
Create and activate a virtual environment:
python -m venv .venvLinux and macOS:
source .venv/bin/activateWindows PowerShell:
.venv\Scripts\Activate.ps1Install the direct runtime and development dependencies:
pip install -r requirements.txtCopy the example configuration:
Linux and macOS:
cp .env.example .envWindows PowerShell:
Copy-Item .env.example .envRun Qdrant
docker compose up -d qdrantQdrant exposes HTTP on port 6333 and gRPC on port 6334. Its data is stored in the
named qdrant_storage volume.
Index sample documentation
The first run downloads the configured Sentence Transformers model.
python -m scripts.index_docs --path ./docs_sampleThe command reports discovered files, created chunks, indexed files, and skipped files. Re-indexing replaces points for each processed path without deleting the whole collection.
Search from the CLI
python -m scripts.search_docs "Where are JWT tokens validated?" --top-k 5Each result includes its cosine score, relative path, Markdown section, stable chunk ID, and text.
Run FastAPI
uvicorn app.api.main:app --reloadThe current HTTP surface intentionally contains only:
GET /healthRun the MCP server
Open the server with MCP Inspector:
mcp dev mcp_server.pyThe root module exports an MCP Python SDK v2 MCPServer named Project Memory MCP and
uses stdio safely: application logging is sent to stderr.
Available tools:
search_project_docs(query, top_k=5)searches the current project's indexed documentation and returns structured chunks.top_kmust be between 1 and 20.get_document(path)reads one UTF-8.mdor.txtdocument underDOCS_ROOT. Absolute paths, traversal outside that root, and unsupported file types are rejected.
Quality checks
pytest
ruff check .
docker compose configTests use fake embedding and vector-store implementations, so they do not need Qdrant or an embedding model download.
MVP limitations
Only local
.mdand.txtfiles are supported.Indexing is synchronous and manually triggered.
Search is vector-only; there is no BM25, hybrid search, or reranking.
There is no LLM call, generated answer, RAG prompt, authentication, multi-tenancy, background worker, GitHub integration, or web UI.
The FastAPI application exposes health status only.
Possible next steps
Reranking
GitHub webhook and incremental indexing from webhook events
Retrieval evaluation
Hybrid search
LangGraph query retry
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables semantic search and retrieval over local Markdown/MDX documentation using Node.js-based embeddings. Supports multi-language documentation with offline vector indexing and MCP tool exposure for AI assistants.Last updated363MIT
- Alicense-qualityDmaintenanceProvides semantic search over markdown documentation using RAG, allowing natural language queries and integration with MCP clients.Last updated1MIT
- AlicenseAqualityCmaintenanceEnables indexing and semantic search of codebases and documents via MCP, using Ollama embeddings and Qdrant vector store.Last updated5Apache 2.0
- Flicense-qualityCmaintenanceIndexes PDF documents into Qdrant and exposes semantic search as MCP tools, enabling RAG-based interactions with your documents.Last updated
Related MCP Connectors
Agentic search over your Dewey document collections from any MCP-compatible client.
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Apple Developer Documentation with Semantic Search, RAG, and AI reranking for MCP clients
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/SpaghettiRebel/Project-Memory-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server