Skip to main content
Glama
UnboundCompute

lachesis-mcp

Official

build_graph

Build a Lachesis graph from any source directory, attach it, and make code navigation ready for the next call. Cached trees return instantly; use refresh to force rebuild and timeout_seconds for large repos.

Instructions

Build a Lachesis graph from a source directory and attach it — the zero-config way to start on a repo that has no graph yet, no separate lachesis-analyze step needed. Content-addressed: an unchanged tree returns instantly from cache; pass refresh=true to force a rebuild. On success the new graph is loaded, so the next tool call reasons over it. Toolchain: Python needs nothing extra; TypeScript/JavaScript need node on PATH and C needs clang — a missing one comes back as an actionable 'missing toolchain prerequisite' error, not a crash. Builds run in-process and can take minutes on a large tree (capped by timeout_seconds, default 300); a build longer than the MCP client's own request timeout may need a smaller subtree or an out-of-band lachesis-analyze.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNotext (compact, default) | json (structured result page)
sourceYespath to the source directory to analyse
refreshNoforce a rebuild even if the cached graph is current
timeout_secondsNoper-build compile timeout; raise for large trees
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to carry the safety or side-effect profile, the description fully discloses behavior: content-addressed caching, refresh override, attachment of the graph on success, toolchain prerequisites per language, actionable missing-prerequisite errors, in-process execution, long build times, and timeout handling. This goes well beyond the minimum.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: purpose, cache behavior, success side effect, toolchain requirements, runtime expectations, and operational fallback. It is dense but well-ordered, with the most important purpose and cache behavior front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, this description covers the full calling context: when to use it, what prerequisites must exist, what happens on success, how to force a rebuild, and how to avoid timeouts. An agent has enough guidance to decide and execute correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds real semantic value on top: refresh=true forces a rebuild, unchanged trees return instantly from cache, and timeout_seconds caps a potentially long in-process build. That nuance is not present in the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb and resource ('Build a Lachesis graph from a source directory and attach it') and clearly scopes it to repos that have no graph yet. It distinguishes itself from the heavier 'lachesis-analyze' flow and implies a different role than loading an existing graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says this is the 'zero-config way to start on a repo that has no graph yet' and gives alternatives for oversized builds: use a smaller subtree or run an out-of-band lachesis-analyze. It does not explicitly name sibling tools like load_graph as the 'when not to use' case, but the use case is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UnboundCompute/lachesis'

If you have feedback or need assistance with the MCP directory API, please join our Discord server