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
Preciso Score
Faithfulness
Hallucinations
Failed Questions
GPT-4 standard RAG
GPT-4 long context
Preciso
GraphRAG
beats regular
RAG.
Regular RAG retrieves chunks. Preciso traverses connections — so your agent reasons across the graph, not just finds similar text.
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: ✗
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: ✓
How it
works.
Place .md, .txt, or README files into to_be_extracted/. PDFs work via Claude Code or Codex natively.
Claude Code, Codex, Copilot, or OpenCode reads your source files from the repo root.
The agent reads the skills/ folder and picks Financial, Research, General, or Reconciliation.
Entities, relationships, and chunks are written to extractions/{source}_extracted.json.
The agent calls ingest_from_file() on each validated extraction file via the MCP server.
Graph artifacts persist in GRAPH_IS_HERE/ — queryable immediately, reusable across sessions.
Domain-specific
extraction.
skills/Financial-Graph-Extraction/SKILL.md
Use when
10-Ks, 10-Qs, earnings calls, analyst reports
Entity types
skills/Research-paper-graph-extraction-skill/SKILL.md
Use when
Research papers, scientific literature, academic corpora
Entity types
skills/General-graph-extraction-skill/SKILL.md
Use when
Codebases, READMEs, wikis, internal docs
Entity types
skills/Reconciliation-Subagent-Skill/SKILL.md
Use when
Cleanup of existing extraction JSON — not for initial extraction
Entity types
Write and contribute your own skill
Contributing Guide →Eight tools.
Plug in, use.
The MCP server exposes a clean tool surface. Your agent calls them directly — no SDK wrappers, no config layers.
{
"mcpServers": {
"graphrag-mcp": {
"type": "stdio",
"command": "/bin/sh",
"args": ["scripts/mcp_launcher.sh"],
"cwd": ".",
"tools": ["*"]
}
}
}get_server_status()
Call firstRuntime 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.
Up in
3 minutes.
No pipeline. No cloud. No config.
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.
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.
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?"
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 →