Your AI assistant forgets everything between conversations. qortex adds a knowledge graph that learns from every interaction. One command to install. Zero config.
Claude Code
claude mcp add qortex -- uvx qortex mcp-serveCursor / Windsurf
uvx qortex mcp-serve # add as stdio MCP server in settingsAny MCP client
pip install qortex[all] && qortex mcp-serveOnce installed, your assistant automatically:
- Searches the knowledge graph before answering architecture questions
- Retrieves relevant concepts, relationships, and rules (not just similar text)
- Learns from your feedback: accepted results get boosted, rejected ones get suppressed
- Persists everything to SQLite so knowledge survives restarts
No config files. No API keys for the knowledge layer. Just start asking questions.
| Vanilla RAG | qortex | |
|---|---|---|
| Retrieval | Cosine similarity (what's textually similar) | Graph-enhanced (what's structurally relevant) |
| Context | Flat chunks | Concepts + typed edges + rules |
| Learning | Static | Adapts from every accept/reject signal |
| Cross-references | None | Traverses REQUIRES, REFINES, USES edges |
Call qortex_compare to see the difference on your own data:
{
"summary": "Graph-enhanced retrieval found 2 item(s) that cosine missed, surfaced 1 rule(s), replaced 1 distractor(s).",
"diff": {
"graph_found_that_cosine_missed": [
{"rank": 3, "id": "security:JWTValidation", "score": 0.72}
],
"cosine_found_that_graph_dropped": [
{"rank": 4, "id": "security:PasswordHashing", "score": 0.68}
],
"rank_changes": [
{"id": "security:AuthMiddleware", "vec_rank": 3, "graph_rank": 1, "delta": 2}
]
}
}Graph retrieval promotes structurally connected concepts (AuthMiddleware depends on JWTValidation) and demotes textually similar but unrelated results.
- Auto-ingest: Feed it docs, specs, or code. LLM extraction builds concepts, typed edges, and rules automatically.
- Graph retrieval: Queries combine vector similarity with structural graph traversal. Related concepts get promoted even if they don't share keywords.
- Adaptive learning: Every
qortex_feedbackcall updates retrieval weights. The system gets smarter the more you use it. - Persistent by default: SQLite stores the knowledge graph, vector index, and learning state across restarts.
from qortex.adapters.agno import QortexKnowledgeSource
knowledge = QortexKnowledgeSource(domains=["security"])
agent = Agent(knowledge=knowledge)from langchain_qortex import QortexVectorStore
vs = QortexVectorStore.from_texts(texts, embedding, domain="security")
retriever = vs.as_retriever()See langchain-qortex for the standalone package.
import { QortexVector } from "@peleke.s/mastra-qortex";
const qortex = new QortexVector({ id: "qortex" });
await qortex.createIndex({ indexName: "docs", dimension: 384 });
const results = await qortex.query({ indexName: "docs", queryVector: q, topK: 10 });See @peleke.s/mastra-qortex for the standalone package.
| Framework | Package | Language | Interface |
|---|---|---|---|
| agno | Built-in adapter | Python | KnowledgeProtocol |
| LangChain | langchain-qortex |
Python | VectorStore ABC |
| Mastra | @peleke.s/mastra-qortex |
TypeScript | MastraVector abstract class |
| Any MCP client | Built-in MCP server | Any | MCP tools (JSON-RPC) |
| Capability | Install | What you get |
|---|---|---|
| Core + MCP tools | pip install qortex |
Knowledge graph, MCP server, vector-level tools. Consumers provide embeddings. |
| Text-level search | pip install qortex[vec] |
qortex embeds text with sentence-transformers. Adds ~2GB for PyTorch + model weights. |
| Persistent vectors | pip install qortex[vec-sqlite] |
SQLite-backed vector index. Without this, vectors are in-memory only. |
| Production graph | pip install qortex[memgraph] |
Memgraph backend for production-scale graph operations. |
| Everything | pip install qortex[all] |
All of the above. |
MIT