Lachesis MCP server
io.github.UnboundCompute/lachesis·v0.5.3·6 starsCompiler-precise code property graph for C, Python, and TypeScript, navigable over MCP.
6 stars116 downloads/wk
Reviews
Write oneNobody has reviewed Lachesis yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Lachesis tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan217 source files scanned15/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 38 days ago12/15
- Maintainer identityregistry namespace matches repository owner7/10
Findings (2)
- mediumeval / new Function used
exec.evallachesis_cpg-0.5.3/lachesis/_atropos_catalog/models/javascript/sinks.json: … "corroboration": 2, "notes": "new Function(body)" }, { "id": "javascr… - mediumsubprocess with shell=True
exec.shell-truelachesis_cpg-0.5.3/lachesis/_atropos_catalog/models/python/sinks.json: … "corroboration": 3, "notes": "shell=True makes arg0 a shell command; the shell c…
How Lachesis compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 71/100
- higher than 35% of 48,243 servers
- GitHub stars
- 6
- more than 85% of 28,706 servers
- Downloads a week
- 116
- more than 66% of 12,306 servers with a package
Install Lachesis in Claude Code, Cursor or VS Code
claude mcp add lachesis -- uvx lachesis-cpg
What the publisher says
From the Lachesis repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.UnboundCompute/lachesis -->
Lachesis
Lachesis reads your code and builds a map of it. Then you can ask the map questions, like who calls this function, where does this value go, and can bad input reach a dangerous spot.
It works on C, Python, and TypeScript/JavaScript, all in one map.
What is this?
Search tools like grep tell you where a word shows up in your code. Lachesis is different. It follows the actual data. It can tell you where a value came from, where it goes next, and whether a request from the outside can reach something dangerous, like a database call with no login check in front of it.
To do this it reads your code the same way a compiler does, not by guessing with text patterns. So it doesn't miss a call just because a name was renamed or imported in a weird way.
You can use it three ways: as a command in your terminal, as a Python library, or as an MCP server that an AI agent can talk to.
Quick start
Install it, then point it at a folder:
python -m pip install lachesis-cpg
lachesis ./my-projectIt builds the map, saves it, and prints the leads. A lead is a spot where outside input can reach something sensitive with no check in the way. Each lead is a question to look into, not a final answer.
✓ compiling (0.7s)
2,677 nodes, 4,539 edges from typescript-compiler-api
✓ finding entrypoints that reach sensitive effects (0.1s)
2 leads (lens=all)
1. [0.810] handleWebhook (http/webhook.ts:10, route) -> findById(documentId) [database]
a caller that passes no recognized guard can read or write data
through findById(documentId) starting from handleWebhook
2. [0.810] handleWebhook (http/webhook.ts:10, route) -> findById(invoiceId) [database]
this function branches on something, but no login-style check is seen hereYou can also give it a git URL instead of a folder: lachesis https://github.com/owner/repo. It downloads the code to a temp folder, scans it, and cleans up after.
The first scan of a project is slow. After that the map is cached under ~/.lachesis/cache, so every run after is fast.
The three ways to use it
Terminal. One lachesis command. lachesis ./repo is the easy front door. If you want more control, the steps map to three passes:
lachesis build ./my-project graph.kuzu # step 1: read the code, build the map
lachesis enrich graph.kuzu # step 2: work out the data flow
lachesis analyze graph.kuzu --summary # step 3: print the leads
lachesis explain graph.kuzu tree.c:1487 # show all the evidence for one spotPython library. Open the map once, then ask it as many questions as you want.
import lachesis
a = lachesis.Analysis.build("./my-project", "graph.kuzu", enrich=True)
leads = a.scan()
print(leads.summary())
print(a.explain_sink("tree.c", 1487)) # all the evidence for one spotRunnable example scripts are in examples/.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Lachesis: common questions
- Is Lachesis MCP server safe?
- Mostly: it is graded B (71/100). Read the Lachesis safety report
- How do I install Lachesis?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Lachesis need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Lachesis maintained?
- The last commit was 59 days ago (2026-09-07). The latest release is v0.5.3.
- How does Lachesis compare with other MCP servers?
- safety score 71/100 (higher than 35% of 48,243 servers); github stars 6 (more than 85% of 28,706 servers); downloads a week 116 (more than 66% of 12,306 servers with a package). Full comparison.