Knowledge graph that learns from every interaction. MCP server, graph retrieval, adaptive learning.
Project description
qortex
Knowledge that learns
Your AI assistant forgets everything between conversations. qortex adds a knowledge graph that learns from every interaction. One command to install. Zero config.
Install
Claude Code
claude mcp add qortex -- uvx qortex mcp-serve
Cursor / Windsurf
uvx qortex mcp-serve # add as stdio MCP server in settings
Any MCP client
pip install qortex[all] && qortex mcp-serve
What happens next
Once 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.
The difference
| 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 |
Prove it
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.
How it works
- 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.
For framework authors
agno KnowledgeProtocol
from qortex.adapters.agno import QortexKnowledgeSource
knowledge = QortexKnowledgeSource(domains=["security"])
agent = Agent(knowledge=knowledge)
LangChain VectorStore
from langchain_qortex import QortexVectorStore
vs = QortexVectorStore.from_texts(texts, embedding, domain="security")
retriever = vs.as_retriever()
See langchain-qortex for the standalone package.
Mastra MastraVector
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) |
Install extras
| 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. |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qortex-0.8.1.tar.gz.
File metadata
- Download URL: qortex-0.8.1.tar.gz
- Upload date:
- Size: 9.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f14aaa5002aa3d7ea1cf9aec49b7e4765fa1c10aba1ee18146cac64e0f20825
|
|
| MD5 |
a60fa07b6872b242357d57e12de4e1ef
|
|
| BLAKE2b-256 |
fc6fb9ef4b281d1f4cd014d66bd177b92ede1ceca3afed1b63b4def1a6b5f9fc
|
Provenance
The following attestation bundles were made for qortex-0.8.1.tar.gz:
Publisher:
publish.yml on Peleke/qortex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qortex-0.8.1.tar.gz -
Subject digest:
1f14aaa5002aa3d7ea1cf9aec49b7e4765fa1c10aba1ee18146cac64e0f20825 - Sigstore transparency entry: 984506180
- Sigstore integration time:
-
Permalink:
Peleke/qortex@426849cd6f388dd1cba2fa64a6475d139055356f -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/Peleke
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@426849cd6f388dd1cba2fa64a6475d139055356f -
Trigger Event:
push
-
Statement type:
File details
Details for the file qortex-0.8.1-py3-none-any.whl.
File metadata
- Download URL: qortex-0.8.1-py3-none-any.whl
- Upload date:
- Size: 231.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18582f2afad75e7082f03bc1442fce20130534f4054bc2c03b525879c93be2fb
|
|
| MD5 |
616673c79bc3c389e6e9e08287262b6d
|
|
| BLAKE2b-256 |
4f44339859e457cf95102dd1fd94356ab3fdd88f2e87d560f4d6c875e73b9c67
|
Provenance
The following attestation bundles were made for qortex-0.8.1-py3-none-any.whl:
Publisher:
publish.yml on Peleke/qortex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qortex-0.8.1-py3-none-any.whl -
Subject digest:
18582f2afad75e7082f03bc1442fce20130534f4054bc2c03b525879c93be2fb - Sigstore transparency entry: 984506183
- Sigstore integration time:
-
Permalink:
Peleke/qortex@426849cd6f388dd1cba2fa64a6475d139055356f -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/Peleke
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@426849cd6f388dd1cba2fa64a6475d139055356f -
Trigger Event:
push
-
Statement type: