Graqle

io.github.quantamixsolPublished by GitHub account quantamixsolv0.87.1Updated Oct 26, 2026

Graph-powered codebase reasoning, impact analysis, and governance tools over MCP.

Overview

AI-generated overview

Graqle builds a local knowledge graph from code, docs and policies, and lets an assistant query it and gate actions with a decision-assurance check.

What you can do
  • Scan repositories, documents, policies and ADRs into one connected knowledge graph
  • Ask questions over the graph and get answers with confidence and the exact sources used
  • Record and recall learned facts and decisions that persist across chat sessions
  • Evaluate a proposed agent action and return EXECUTE, REPLAN, HOLD, REJECT or ESCALATE with reasons
  • Write signed, hash-chained provenance records of each decision for audit export
  • Share one graph across several agent sessions through a local server and thin relays
When to use it
Useful when an assistant works on a codebase or policy set and needs durable, source-backed context across sessions, or when agent actions must be checked against policy and evidence before they run. Also relevant for teams running several agents on the same project who want one shared graph.
Requirements
Installed locally as the PyPI package graqle (Python, pip); optional extra for PDF, DOCX, PPTX and XLSX. The decision gate is off by default and needs GRAQLE_DAG_ENABLED plus many GRAQLE_DAG_* settings, an ed25519 signing key and a coverage policy file. Shared-server mode needs a config file and allowed roots; remote teammates need an SSH tunnel or HTTPS with a token.
Before you install
Enabling the gate requires you to supply your own signing key, salt, thresholds and actor roles; missing values raise a configuration error rather than falling back. Decisions are written as signed provenance events and are not executed if the record cannot be written. The gate is described as a policy-scoped authorisation at baseline tier, not a safety verification. Paid tiers exist for cloud sync and multi-project sharing.

Installation

In SourceWeft

  1. Open Graqle in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[GraQle — persistent organisational intelligence for AI agents.]

GraQle

Give your AI agents a memory of how your organisation works - and check every decision before they act.

[PyPI] [Python 3.10+] [Model Agnostic] [Local-first]

bash
pip install graqle

Website · Quickstart · Decision Assurance · Shared memory · Changelog


What GraQle does

  1. Remembers. Turns your code, documents, policies and decisions into one connected knowledge graph that lasts beyond a chat session.
  2. 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.
  3. 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

bash
pip install graqle
graq scan docs ./policies          # documents, policies, ADRs -> graphgraq scan repo .                   # code -> the same graphgraq 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):

bash
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.
AnswerMeaning
EXECUTEEverything checks out. Impossible after any failed check or error.
REPLANMake a better plan and try again.
HOLDSomething important is missing; wait for it.
REJECTNot allowed, or contradicted by the evidence.
ESCALATEA human decides.
python
from graqle.assurance.gate import DecisionAssuranceGate
verdict = gate.evaluate(candidate, ctx)verdict.outcome         # EXECUTE | REPLAN | HOLD | REJECT | ESCALATEverdict.decisive_rule   # which rule decidedverdict.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:

  1. Set GRAQLE_DAG_ENABLED=true in the environment where GraQle runs (or in your .env).
  2. Provide the required settings. GraQle ships no thresholds, salts or keys: you choose them. Start from the GRAQLE_DAG_* section of .env.example and 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 at GRAQLE_DAG_SECRETS_PATH (default .graqle/graqle_secrets.yaml); the environment wins.
  3. 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:

bash
# where the graph livesgraq 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:

  1. 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.
  2. Set GRAQLE_DAG_ENABLED=1 and the required GRAQLE_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.
  3. 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.
  4. 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 with graqle.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 [email protected] · SECURITY.md


Editions

What you get
FreeKnowledge graph, all core tools, governance gates, Decision Assurance Gate, shared server for one project
Pro — $19/moCloud sync, priority models, hosted transparency-log relay
Team — $29/dev/moShared graphs across projects (multi-project server), team lessons, audit-log retention
EnterpriseOn-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.

Full changelog


Patent & license

Core methods are patent-pending: EP26167849.4, EP26162901.8 and EP26166054.2. Source is fully auditable under the GraQle License - see LICENSE.

Source: README.md at commit 623c693

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

7
  1. v0.87.1LatestOct 25, 2026
  2. v0.87.0Oct 23, 2026
  3. v0.86.0Oct 21, 2026
  4. v0.85.1Oct 10, 2026
  5. v0.85.0Sep 27, 2026
  6. v0.84.1Sep 23, 2026
  7. v0.83.0Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.