About graphrag-ts citation provenance
graphrag-ts is a TypeScript GraphRAG implementation for Markdown corpora, aimed at teams building evidence-backed question answering. It combines a PostgreSQL knowledge graph with hybrid retrieval and can run without a Python runtime.
Key features
- 01Ingest Markdown and extract entities and relations
- 02Build and update a graph with community detection
- 03Hybrid vector, keyword, and graph retrieval
- 04Corpus-wide Map-Reduce queries
- 05Isolated MCP workspaces
Use cases
- 01Answering questions over Markdown collections
- 02Refreshing a graph after corpus changes
- 03Retrieving evidence through combined search methods
MCP support
It provides an MCP server that exposes the Markdown GraphRAG capabilities to MCP clients. Workspaces are isolated.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.ashesborn.cloud/mcpclaude mcp add --transport http sadofriod-graphrag-ts https://mcp.ashesborn.cloud/mcp{"mcpServers":{"sadofriod-graphrag-ts":{"type":"http","url":"https://mcp.ashesborn.cloud/mcp"}}}Open in Cursor{"servers":{"sadofriod-graphrag-ts":{"type":"http","url":"https://mcp.ashesborn.cloud/mcp"}}}Open in VS Code{"mcpServers":{"sadofriod-graphrag-ts":{"type":"http","url":"https://mcp.ashesborn.cloud/mcp"}}}{"mcpServers":{"sadofriod-graphrag-ts":{"serverUrl":"https://mcp.ashesborn.cloud/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://mcp.ashesborn.cloud/mcpAuth requiredTools
Details
From the project READMEgraphrag-ts
TypeScript GraphRAG for Markdown corpora. Build a knowledge graph, detect communities, and answer with evidence-backed retrieval.
Benchmarks / 基准报告 English report · 中文报告
Overview
graphrag-ts is a TypeScript GraphRAG reference implementation for Markdown corpora. It builds a knowledge graph in PostgreSQL and answers questions with hybrid retrieval and source evidence, without requiring a Python runtime.
- Markdown ingestion, entity/relationship extraction, and community detection
- Full and incremental builds, with unchanged community summaries reused
- Hybrid vector, keyword, and graph retrieval, plus corpus-wide Map-Reduce queries
- MCP server with isolated workspaces and a local browser showcase
See the architecture guide for the pipeline and module details.
Quick start
MCP with Docker Compose
The Compose stack starts PostgreSQL/pgvector and the MCP service. You must provide reachable chat and embedding endpoints; see the MCP guide for configuration, client setup, and workspace behavior.
cp .env.example .env
# Configure the database password and model endpoints in .env.
docker compose up -d --build
curl http://127.0.0.1:3000/healthz
Connect an MCP client to http://127.0.0.1:3000/mcp. For the optional local browser showcase, configure the models and run docker compose --profile showcase up -d --build --wait, then open http://127.0.0.1:8080. The showcase is a local demo, not an authentication layer; do not expose it to untrusted users.
Use the library
pnpm install
pnpm run db:generate
cp .env.example .env
# Configure DATABASE_URL and RAG_* model settings; see the guides below.
pnpm run db:push
bun run examples/demo.ts
The library requires Bun, PostgreSQL with pgvector, and compatible chat and embedding endpoints. See the English guide or 中文指南 for environment setup, API examples, adapters, and tuning.
Benchmark
The reported in-corpus run reached 10/12 strict hits and 95.8% combined lexical recall on 12 questions from five indexed chapters. This is a small project benchmark, not human semantic grading or a cross-project comparison. The reports include methodology, per-query results, and limitations.
The English and Chinese reports are linked at the top of this page.
To run the three-question Docker smoke benchmark, use pnpm benchmark:docker:quick with the model endpoints configured and loaded. See the MCP guide for prerequisites and the report for benchmark scope.
Documentation
- docs/architecture.md: architecture and data flow
- docs/en-US.md: English user guide
- docs/zh-CN.md: Chinese user guide
- docs/comparison.md: comparison notes
- integrations/mcp/docs/x402-paid-api.md: optional x402 paid query API, dataset bundles
- integrations/mcp/docs/hosted-beta.md: hosted pilot operations checklist
- integrations/mcp/docs/x402-discovery.md: how agents discover the paid API (Bazaar, .well-known/x402)
- integrations/mcp/docs/deploy-x402.md: deploying the paid API on a Docker/Colima host behind Cloudflare Tunnel
- CONTRIBUTING.md: contribution guide
Contributing
Contributions are welcome through issues and pull requests. The project is organized around small, testable modules, so the most useful changes usually fit into one of these areas:
- graph construction quality
- retrieval quality and ranking
- namespace isolation
- model-loading robustness
- documentation and examples
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.