Lets AI agents build a persistent knowledge graph of code, docs and policies, and gate decisions with signed verdicts.
Also known as quantamixsol/graqle
- Stars
- 32
- Tools
- —
- Downloads, 30 days
- 1,487
- Latest version
- 0.27.0
- Last commit
- Oct 25, 2026
- License
- —
What is GraQle MCP?
GraQle lets AI agents build a persistent knowledge graph of code, docs and policies, and gate decisions with signed verdicts.
Summary generated from the project's README
About GraQle MCP server
Building a persistent memory of organizational intelligence for AI agents is what Graqle enables. It transforms your code, documentation, policies, and decisions into a connected knowledge graph that remains accessible across different chat sessions. This allows tools like Claude Code, Cursor, and Copilot to share a single source of truth rather than maintaining separate, disconnected memories.
Developers use the graq scan commands to ingest repositories and policy documents into the graph. The system operates with a local-first approach and includes a Decision Assurance Gate to govern agent actions. This gate evaluates potential moves and returns specific verdicts such as EXECUTE, REPLAN, HOLD, REJECT, or ESCALATE based on your defined rules.
To implement this, you can run a shared server via the graq mcp serve command, allowing multiple agents to connect through thin relays. The setup requires configuring environment variables for security, such as signing keys and thresholds, to ensure every decision is backed by a signed, hash-chained provenance record for auditing purposes.
What you can do with it
- 1Create a shared knowledge baseTurn your existing codebase and policy documents into a single connected graph for your entire team of agents.
- 2Enforce policy-based decision gatingRequire AI agents to pass a formal check against organizational rules before they are allowed to execute an action.
- 3Reduce agent memory overheadConnect multiple AI sessions to a single central server to save memory and ensure all agents learn from the same data.
- 4Generate audit trails for AI actionsProduce signed and verifiable records of why an AI agent made a specific decision to satisfy regulatory requirements.
Written from the project's README. Every use case is checked against a quote from it.
How to install GraQle MCP
Formats verified 10 Nov 2026Install GraQle MCP in Claude Code
$ claude mcp add graqle -- uvx graqleInstall GraQle MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"graqle": {
"command": "uvx",
"args": [
"graqle"
]
}
}
}Install GraQle MCP in VS Code
.vscode/mcp.json
{
"servers": {
"graqle": {
"type": "stdio",
"command": "uvx",
"args": [
"graqle"
]
}
}
}Install GraQle MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"graqle": {
"command": "uvx",
"args": [
"graqle"
]
}
}
}Install GraQle MCP in Codex
~/.codex/config.toml
[mcp_servers.graqle] command = "uvx" args = ["graqle"]
Install GraQle MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"graqle": {
"command": "uvx",
"args": [
"graqle"
]
}
}
}Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubGraQle
Give your AI agents a memory of how your organisation works - and check every decision before they act.
pip install graqle
Website · Quickstart · Decision Assurance · Shared memory · Changelog
What GraQle does
- Remembers. Turns your code, documents, policies and decisions into one connected knowledge graph that lasts beyond a chat session.
- Checks. Before an agent acts, the Decision Assurance Gate checks the action and answers EXECUTE, REPLAN, HOLD, REJECT or ESCALATE - with the reason and a signed record.
- Shares. One graph serves a whole team of agents - Claude Code, Cursor, Codex, Copilot - each with its own permissions and its own files.
Works with any model: Anthropic, OpenAI, AWS Bedrock, Ollama, Gemini and more - or fully offline.
Quickstart
pip install graqle
graq scan docs ./policies # documents, policies, ADRs -> graph
graq scan repo . # code -> the same graph
graq learn knowledge "vendor DPA must be signed before any data access"
graq run "what approval is needed for a large refund?"
# -> answer + confidence + the exact sources it used
Connect it to your AI tool (Claude Code, Cursor, Windsurf, VS Code):
graq init # detects your IDE and wires GraQle in
PDF, DOCX, PPTX and XLSX: pip install "graqle[docs]".
Check every decision
Most AI tools give you one confidence number. GraQle asks separate questions before an agent acts - and a good answer to one never hides a failed answer to another:
- Allowed? Policy valid, actor authorised, evidence current, arguments exactly the approved ones. Any "no" stops the action.
- Consistent? Contradicting facts are tracked in the graph, and a change updates every decision that depends on it.
- Sure enough? Confidence is measured per dimension, not blended into one score.
- On track? Unreliable step sequences are sent back to replan within a retry budget.
- Who approves? Authority is checked for the action's impact level.
| Answer | Meaning |
|---|---|
EXECUTE |
Everything checks out. Impossible after any failed check or error. |
REPLAN |
Make a better plan and try again. |
HOLD |
Something important is missing; wait for it. |
REJECT |
Not allowed, or contradicted by the evidence. |
ESCALATE |
A human decides. |
from graqle.assurance.gate import DecisionAssuranceGate
verdict = gate.evaluate(candidate, ctx)
verdict.outcome # EXECUTE | REPLAN | HOLD | REJECT | ESCALATE
verdict.decisive_rule # which rule decided
verdict.reason_codes # why
Every decision leaves a sealed record: a signed, hash-chained provenance event, exportable to W3C PROV-O and checkable with SHACL, so an auditor can verify it with standard tools. The gate is off by default: installing or upgrading GraQle changes nothing until you switch it on.
Turn it on, per project:
- Set
GRAQLE_DAG_ENABLED=truein the environment where GraQle runs (or in your.env). - Provide the required settings. GraQle ships no thresholds, salts or keys: you choose them. Start from the
GRAQLE_DAG_*section of.env.exampleand fill in every placeholder (salt, thresholds, signing key id and version, calibrator version, and the others listed there). Put the values in the environment, or in a private file atGRAQLE_DAG_SECRETS_PATH(default.graqle/graqle_secrets.yaml); the environment wins. - Start as usual. If a required value is missing, GraQle raises a configuration error that names it the first time the gate settings load. There is no silent fallback.
Check it: python -c "from graqle.assurance.settings import is_dag_enabled; print(is_dag_enabled())" prints True.
To switch it off again, unset the flag or set it to false. Details: operating the gate.
One memory for a team of agents
Several agents on one codebase usually means several copies of the same graph in memory. GraQle can hold it once:
# where the graph lives
graq mcp serve --transport http --port 8765 --config graqle.yaml --allowed-roots /path/to/projects
# in each agent session (.mcp.json)
{ "mcpServers": { "graqle": { "command": "graq", "args": ["mcp", "relay", "--url", "http://127.0.0.1:8765"] } } }
- Less memory. Each session runs a small relay instead of a full copy (measured on a 20,000-node graph: 3 separate servers 687 MB, shared server + 3 relays 493 MB).
- Learning is shared at once across all sessions.
- Each session keeps its own gates and its own files - file work happens on each user's own machine.
- Teammates connect over an SSH tunnel, or HTTPS with a token.
- Several projects, separate graphs on one server (Team and Enterprise).
Turn on the decision gate (opt-in, baseline tier)
The decision gate is off unless GRAQLE_DAG_ENABLED is set; with it off nothing changes. Turn it on:
- Create an ed25519 signing key (PEM, mode
0600) and a key manifest that lists its public key (graqle.assurance.key_manifest_store.save_manifest), plus a coverage policy file. - Set
GRAQLE_DAG_ENABLED=1and the requiredGRAQLE_DAG_*settings:SIGNING_KEY_ID,SIGNING_KEY_VERSION,SIGNING_KEY_PATH,COVERAGE_POLICY_PATH,CONFIG_SALT,CAP_VALUE,HG05_POISONING_THRESHOLD,HG07_MATERIALITY_THRESHOLD,CALIBRATOR_VERSION,TRAJECTORY_ESTIMATOR,MAX_RETRY_BUDGET,CIRCUIT_BREAKER_WINDOW,SCOPE_KEY_FIELDS_REF,MERGE_PRIORITY_REF. There are no built-in values for these; you choose them. - Register the actors that may take MEDIUM-risk calls (for example
GRAQLE_RBAC_ACTORS_JSON). An actor with no registered role is closed by hard gate HG-06. - Start your process. The packaged default runtime provider is registered at start-up. If it
cannot be built the process fails at start-up with an error naming
register_runtime; supply your own provider withgraqle.assurance.adapter.register_runtime(provider)if you need one.
Baseline-tier decisions are governed by rule DAG-RT-BASELINE-ADMIT. No projection score,
reliability or residual risk is computed or recorded for them. EXECUTE only when risk is LOW,
impact is zero and all hard gates pass; anything else is HOLD (DAG-RT-NO-EVIDENCE) or, when a
hard gate fails, REJECT. MEDIUM and above routing requires explicit configuration. Every decision
is written as a signed, hash-chained provenance event; if it cannot be written the call is not
executed.
This is a policy-scoped authorisation at evidence tier BASELINE. It is not informed by the graph
and is not a safety verification. Evidence-fed scoring arrives in 0.88 (CR-DAG-088-1).
python scripts/dag_wheel_e2e.py runs these steps against the built wheel in a clean virtualenv.
Trust
- Local-first, no telemetry. The graph is a file you control; nothing phones home.
- Secure by default. The server needs authentication unless you explicitly switch on local development mode; graph uploads can never silently overwrite each other.
- Signed releases. Sigstore-signed wheels, CycloneDX SBOM, reproducible builds.
- Regulated work. Audit trail and evidence exports for your own EU AI Act file - GraQle provides evidence, it does not claim to make you compliant. Details
Report vulnerabilities to security@quantamixsolutions.com · SECURITY.md
Editions
| What you get | |
|---|---|
| Free | Knowledge graph, all core tools, governance gates, Decision Assurance Gate, shared server for one project |
| Pro — $19/mo | Cloud sync, priority models, hosted transparency-log relay |
| Team — $29/dev/mo | Shared graphs across projects (multi-project server), team lessons, audit-log retention |
| Enterprise | On-premise, custom backends, support SLAs - contact us |
Recent releases
- v0.87.0 — Decision Assurance Gate: five-answer decisions, contradiction tracking, confidence per dimension, replanning, signed provenance records.
- v0.86.0 — One memory for a team of agents: shared server, thin relay, per-session gates, file work on each user's machine; secure-by-default server.
Patent & license
Core methods are patent-pending: EP26167849.4, EP26162901.8 and EP26166054.2. Source is fully auditable under the GraQle License - see LICENSE.
Built by Quantamix Solutions · github.com/quantamixsol/graqle
GraQle MCP questions
How do I add GraQle MCP to Claude Code?
Run claude mcp add graqle -- uvx graqle in your terminal. Add --scope user to make it available in every project.
How do I add GraQle MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How do I connect GraQle to Claude Code or Cursor?
Run the init command, which detects your IDE and wires GraQle in automatically.
What can GraQle scan into its knowledge graph?
It scans documents, policies, ADRs and repositories, and you can also teach it facts directly.
Is the decision gate enabled by default?
No, the gate is off by default and must be switched on with an environment flag and required settings.
What verdicts can the Decision Assurance Gate return?
It returns EXECUTE, REPLAN, HOLD, REJECT or ESCALATE, along with the decisive rule and reason codes.
Does GraQle send telemetry or data to the cloud?
No, it is local-first with no telemetry, and the graph is a file you control.