MCP.Market

Lachesis MCP server

by UnboundCompute·io.github.UnboundCompute/lachesis·v0.5.3·6 stars

Compiler-precise code property graph for C, Python, and TypeScript, navigable over MCP.

B71/100grade B
What users say
No reviews yet
Be the first
Safety scan
B71/100

full report

Adoption
Growing

6 stars116 downloads/wk

Reviews

Write one

Nobody 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

2 medium
  • 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 usedexec.eval
    lachesis_cpg-0.5.3/lachesis/_atropos_catalog/models/javascript/sinks.json: … "corroboration": 2, "notes": "new Function(body)" }, { "id": "javascr…
  • mediumsubprocess with shell=Trueexec.shell-true
    lachesis_cpg-0.5.3/lachesis/_atropos_catalog/models/python/sinks.json: … "corroboration": 3, "notes": "shell=True makes arg0 a shell command; the shell c…
Overall 71/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-project

It 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 here

You 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 spot

Python 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 spot

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