Preciso
 PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO  PRECISO 
GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100GraphRAGLocal-firstZero hallucinationsApache 2.0MCP Native95 / 100

PreciseKnowledgeGraphs.

Drop files in. Your agent extracts entities and relationships, builds a queryable knowledge graph — locally. No cloud, no pipeline, no config.

Tested · Walmart FY2022 + FY2023 10-K · 23 multi-hop questions · 0 hallucinations

95/100

Preciso Score

100%

Faithfulness

0

Hallucinations

0

Failed Questions

Benchmark — Walmart FY2022 + FY2023 10-K

~19%

GPT-4 standard RAG

~79%

GPT-4 long context

95.4%

Preciso

Why GraphRAG

GraphRAG
beats regular
RAG.

Regular RAG retrieves chunks. Preciso traverses connections — so your agent reasons across the graph, not just finds similar text.

Regular RAG~19% accuracy

query: "What are Apple's risk factors and which executives manage them?"

step 1: embed query

step 2: cosine similarity search

step 3: return top-k chunks

→ result

Returns the Risk Factors section text.

No entity linkage. No executive context.

Multi-hop reasoning: ✗

Preciso
95.4% accuracy

query: "What are Apple's risk factors and which executives manage them?"

traverse RISK_FACTOR nodes

follow EXPOSED_TO → COMPANY

follow EMPLOYS → PERSON

follow MANAGES → RISK_FACTOR

→ result

Supply Chain Risk · Tim Cook · MANAGES

Regulatory Risk · Jeff Williams · OVERSEES

Multi-hop reasoning: ✓

The graph makes multi-hop reasoning possible.

See how it works →
06

Process

How it
works.

01

Drop source files

Place .md, .txt, or README files into to_be_extracted/. PDFs work via Claude Code or Codex natively.

You
02

Reads the files

Claude Code, Codex, Copilot, or OpenCode reads your source files from the repo root.

Agent
03

Selects extraction skill

The agent reads the skills/ folder and picks Financial, Research, General, or Reconciliation.

Agent
04

Writes extraction JSON

Entities, relationships, and chunks are written to extractions/{source}_extracted.json.

Agent
05

Calls MCP ingestion

The agent calls ingest_from_file() on each validated extraction file via the MCP server.

Agent
06

Graph is ready

Graph artifacts persist in GRAPH_IS_HERE/ — queryable immediately, reusable across sessions.

Preciso
Folder Contract
to_be_extracted/drop your source files here (.md, .txt)
skills/agent reads these to know how to extract
extractions/agent writes extraction JSON here
GRAPH_IS_HERE/graph artifacts — source of truth
docs/guides and architecture reference

Skills

Domain-specific
extraction.

Financial

skills/Financial-Graph-Extraction/SKILL.md

Use when

10-Ks, 10-Qs, earnings calls, analyst reports

Entity types

COMPANYPERSONRISK_FACTORMETRICSEGMENT

Research

skills/Research-paper-graph-extraction-skill/SKILL.md

Use when

Research papers, scientific literature, academic corpora

Entity types

PAPERAUTHORMETHODDATASETRESULT

General

skills/General-graph-extraction-skill/SKILL.md

Use when

Codebases, READMEs, wikis, internal docs

Entity types

CONCEPTMODULEFUNCTIONDEPENDENCYPERSON

Reconciliation

skills/Reconciliation-Subagent-Skill/SKILL.md

Use when

Cleanup of existing extraction JSON — not for initial extraction

Entity types

MERGEDEDUPEVALIDATECONFLICT

Write and contribute your own skill

Contributing Guide →

MCP Tools

Eight tools.
Plug in, use.

The MCP server exposes a clean tool surface. Your agent calls them directly — no SDK wrappers, no config layers.

.mcp.json
{
  "mcpServers": {
    "graphrag-mcp": {
      "type": "stdio",
      "command": "/bin/sh",
      "args": ["scripts/mcp_launcher.sh"],
      "cwd": ".",
      "tools": ["*"]
    }
  }
}

get_server_status()

Call first

Runtime health check — call this before anything. Reports embedding mode, graph health, and LLM config.

ingest_from_file()

Ingest a completed extraction JSON file from the extractions/ folder.

reingest_from_file()

Retry ingestion without re-extracting. Useful after reconciliation.

ingest_graph_tool()

Ingest an inline extraction payload directly — no file needed.

ingest_with_reconciliation_tool()

Ingest after reconciliation subagents finish. Handles merge conflicts.

query_graph_tool()

Query the persisted graph. Returns entity + relationship context.

export_graph_to_neo4j()

Optional: push graph structure to Neo4j. Local graph stays source of truth.

export_vectors_to_qdrant()

Optional: push vector artifacts to Qdrant. Re-export when ready.

Quickstart

Up in
3 minutes.

No pipeline. No cloud. No config.

Claude CodeCodexGitHub CopilotOpenCode
01

Clone and install

git clone https://github.com/Preciso-GR/preciso-graphrag
cd preciso-graphrag
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Requires Python 3.11+. Open agent from repo root.

02

Drop files into to_be_extracted/

cp my-10k.md to_be_extracted/
cp research-paper.md to_be_extracted/
cp internal-docs.txt to_be_extracted/

Best inputs: .md, .txt, README files, wiki exports.

03

Run this prompt in your agent

Call get_server_status().
If overall is ready, proceed.
Read the files in to_be_extracted/.
Choose the most appropriate extraction skill.
Extract, validate, then call ingest_from_file.
Confirm graph artifacts in GRAPH_IS_HERE/.

Works with Claude Code, Codex, GitHub Copilot, and OpenCode.

After ingestion, query your graph

"What are Apple's top 5 disclosed risk factors?"

"Which executives are connected to the supply chain risks?"

"What metrics declined year over year?"

FAQ

Common
questions.

No. Preciso is local-first by design. Extraction runs in your agent, and the graph is written to GRAPH_IS_HERE/ on disk (NetworkX + JSON). There is no cloud dependency by default. Neo4j and Qdrant exports exist, but they are manual, one-way, and opt-in — nothing is pushed off your machine unless you explicitly run an export.

Any MCP-capable coding agent. It is tested with Claude Code, Codex, GitHub Copilot, and OpenCode. You point the agent at the repo via .mcp.json and it calls the ingestion and query tools directly — no SDK wrappers or glue code.

No. The local graph in GRAPH_IS_HERE/ is the single source of truth and it ships with a built-in vector store (NanoVectorDB) for retrieval. Neo4j and Qdrant are optional export targets for visualization or downstream tooling — never storage backends.

Yes, indirectly. Agents like Claude Code and Codex read PDFs natively, so you can drop them in and let the agent extract. For a pure text pipeline, convert to .md or .txt first — those are the best-supported inputs alongside README and wiki exports.

Regular RAG embeds your query and returns the top-k most similar chunks — good for lookup, weak on multi-hop questions. Preciso extracts entities and relationships into a graph, then traverses connections at query time. On the Walmart 10-K benchmark that difference is ~19% vs 95.4% answer accuracy.

Skills are markdown files (not code) that tell the agent how to extract a given domain — what entity and relationship types to look for, and how to ground them. Preciso ships Financial, Research, General, and Reconciliation skills, and you can write your own by adding a folder with a SKILL.md.

Yes — Apache 2.0. You can self-host, modify, and contribute skills or code. See the Contributing guide on GitHub to add a new domain skill or improve the core.

Still have questions?

Read the full FAQ →