Skip to main content
Glama
UnboundCompute

lachesis-mcp

Official

flow_pass

Run the interprocedural flow pass to obtain per-function census: sink-flow signatures, pointer lifetimes, taint sources, and guarded paths. Scope to one function or paginate results.

Instructions

Run the interprocedural flow pass (the 3rd pass) over the whole graph and return its per-function SUMMARY census -- the layer beneath the skeletons. For each function: its taxonomy, whether it is a taint source, the ordered sink-flow signatures (which value reaches which sink, guarded or not, and the callee it flows through), and the pointer lifetime signatures (alloc->use->free->escape). This is the composed, interprocedural summary the shape matcher runs on -- one call materializes and caches the pass. The response returns counts and a bounded lead page, never the whole semantic graph. Use function to scope to one function; paginate with offset/limit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
formatNotext (compact, default) | json (structured result page)
offsetNo
functionNoscope the census to one function

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the call 'materializes and caches the pass' (a behavioral trait), always returns counts and a bounded lead page rather than the whole graph, and details the summary structure. It does not mention read-only status or performance, but these are secondary. It adds meaningful behavioral context beyond a trivial statement.

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?

The description is several sentences but every one adds value: it defines the action, enumerates the output contents, explains the caching/materialization, and gives usage hints. It is efficient and well-structured, with key details front-loaded.

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

Completeness4/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, the description does a strong job of describing what will be returned (counts, lead page, specific signature types) and how to scope/paginate. It also notes constraints (never whole graph). It could be more complete by mentioning when this pass is appropriate relative to alternatives, but given the complexity, it's sufficiently complete for an agent to decide to call it and understand results.

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 50% — only function and format are described. The description compensates by explicitly linking offset and limit to pagination ('paginate with offset/limit') and clarifies function's role ('scope to one function'). This adds meaning that the schema alone does not fully convey, especially for the two undocumented parameters.

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 states a very specific action: run the interprocedural flow pass and return a per-function summary census. It enumerates exactly what the census contains (taxonomy, taint source, sink-flow signatures, pointer lifetime signatures) and distinguishes it as 'the layer beneath the skeletons' and the composed summary for the shape matcher. This clearly separates it from sibling tools like flow, flow_skeleton, or taint.

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 gives explicit usage instructions: 'Use function to scope to one function; paginate with offset/limit.' It also sets expectations that the response is a bounded lead page, which guides caller behavior. However, it does not explicitly state when not to use this tool versus the siblings (e.g., when to use skeleton vs flow_pass), nor name alternatives. So it provides context but lacks explicit exclusions.

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

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