graphrag-ts

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Basarisiz
  • network request — Outbound network request in docker-compose.yml
  • process.env — Environment variable access in examples/benchmark-recall-demo.ts
  • exec() — Shell command execution in examples/benchmark-recall/corpus.ts
  • network request — Outbound network request in examples/benchmark-recall/corpus.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

TypeScript GraphRAG on PostgreSQL/pgvector. Answers carry the evidence they came from, or return an explicit abstention. MCP server, hosted read tier, x402 paid judgments.

README.md

graphrag-ts

Listed on mcpservers.org
graphrag-ts MCP server

Attribution is stored at write time, not asserted at read time.

graphrag-ts is a GraphRAG engine in TypeScript. It builds the knowledge graph in PostgreSQL,
keeps source evidence on every node and edge, and answers with retrievable citations — or returns
an explicit abstention when the coverage behind an answer is too thin to support it.

Benchmarks / 基准报告
English report · 中文报告

Hosted endpoint / 托管端点
https://mcp.ashesborn.cloud/mcp (anonymous tier: free integrity_paper_status, the two judgments answer with an x402 payment requirement; a keyed session unlocks them) · free DOI status: https://pay.ashesborn.cloud/api/v1/judge/paper?doi= · x402 wire format

Try it in 60 seconds

No install, no API key, no model endpoint. Two ways in:

  • In a browser: Retraction Status — paste a DOI, get the source-by-source retraction status and the evidence tiers behind it, with no local model and no account.
  • From the command line:
curl -s 'https://pay.ashesborn.cloud/api/v1/judge/paper?doi=10.1016/S0140-6736(97)11096-0'

The response is the paper plus every retraction record behind it, each with its source_tier and
source_uri — the evidence the graph stores, not a model's recollection of it.

Point any Streamable HTTP MCP client at the hosted endpoint (public read tier, 20 requests/minute
per IP):

{
  "mcpServers": {
    "graphrag-ts": { "url": "https://mcp.ashesborn.cloud/mcp" }
  }
}

A bearer API key unlocks the full tool set (graph queries, index jobs, memory writes). The two
judgment tools also answer per call without a key via x402 payment ($0.02 / $0.10).

What it does differently

  • Postgres-native. Graph tables and pgvector live in the database you already operate — no
    Neo4j sidecar and no second store to keep in sync.
  • Incremental by construction. Rebuilds reuse unchanged community summaries, so the cost of a
    refresh tracks the delta rather than the corpus size.
  • Two retrieval shapes. Local: hybrid vector, keyword and graph retrieval over a community's
    evidence. Global: Map-Reduce over community summaries for corpus-wide questions.
  • Explicit abstention. Judgment verdicts carry source tiers and return an abstention when
    reference coverage is thin, instead of answering from a weak signal.
  • Evidence at chunk level. Entities and relationships keep the document and chunk they were
    extracted from, so an answer can be traced back to the text that produced it.

MCP tools

Tool Access What it does
query_graph keyed Local hybrid retrieval against the latest published snapshot in a workspace
query_graph_global keyed Corpus-wide Map-Reduce retrieval over community summaries
submit_index_job keyed Queue Markdown from the configured input directory for indexing
remember_text keyed Queue user-provided text explicitly; never reads chat history
get_index_job keyed Status and safe error summary for an index job
integrity_paper_status public Retraction status and identity for a paper
retraction_propagation public / x402 Judge whether retraction evidence propagates to a paper
integrity_evidence_audit public / x402 Audit the evidence path, source tiers and conflicts for a paper

Quick start — self-hosted

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.

Overview

  • 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.

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.

Listed on

Documentation

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

Yorumlar (0)

Sonuc bulunamadi