Skip to main content
Glama
UnboundCompute

lachesis-mcp

Official

taint

Trace how untrusted input reaches a dangerous sink through value flow, using predefined source/sink models to identify each path with CWE and file locations.

Instructions

Taint witnesses from the Atropos catalog: where untrusted input actually reaches a dangerous sink through value flow. Folds the Atropos taint models (sources / sinks / summaries) onto this graph's exact nodes and runs propagation, returning each source->sink reach with the catalog model id, CWE, and file:line for both ends. atropos_connected rows are the ones a catalog fact drove (e.g. request -> urlopen SSRF); the rest are the engine's own generic-role reaches. Costs one whole-graph value-flow build on first call per graph (cached after). A no-op with a clear reason if the Atropos catalog is not checked out. Each witness carries source_id/sink_id, the exact graph node ids of the bound endpoints. unwitnessed lists bound sinks/sources that took part in no reach -- feed those ids straight to sources_of/flow/reaches to trace why (on a C graph they mark where value-flow gaps sever the chain); no name resolution needed since the endpoint is often an external callee the name index can't seed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
formatNotext (compact, default) | json (structured result page)
atropos_onlyNoonly witnesses a catalog fact drove
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well. It discloses the expensive first-call graph build, caching behavior, no-op failure mode, the semantic split of atropos_connected vs. generic reaches, and the exact id fields returned. This is a thorough behavioral contract.

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

Conciseness4/5

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

The description is dense and front-loads the core purpose, with almost every sentence carrying distinct value: cost, no-op behavior, output constituents, row classification, and follow-up guidance. It could be slightly better organized with structural separation, but it is not padded or repetitive.

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?

Given there is no output schema and no annotations, the description provides the missing operational context: what the return rows mean, what endpoints are bound, how to debug uncovered sources/sinks, and the cost/no-op profile. An agent has enough information to call it correctly and interpret the result.

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 67%, and the description adds real meaning to atropos_only by tying it to the atropos_connected row category. It also clarifies a source_id/sink_id are exact graph node ids. It does not discuss limit, but that parameter is self-explanatory and already has a default in the schema.

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 gives a specific verb and resource: compute taint witnesses by folding Atropos catalog models onto graph nodes and running value-flow propagation from sources to sinks. It clearly distinguishes itself from generic reachability tools by emphasizing catalog-driven provenance and exact node-level witnesses.

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 explains when the tool is meaningful, including the important caveat that it is a no-op with a clear reason if the Atropos catalog is not checked out. It also routes unwitnessed endpoint ids to sources_of/flow/reaches for follow-up tracing, which gives implied alternatives even though it does not explicitly state 'use this instead of flow for catalog-backed taint'.

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