TraceDelta
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TraceDeltainvestigate high error rate in checkout-service"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TraceDelta
A shared, source-verifiable evidence-memory layer for AI operations — over SigNoz.
Built for the WeMakeDevs "Agents of SigNoz" hackathon.
Today, multiple AI agents and engineers investigating the same production incident each re-query the same logs, traces, and metrics — wasting LLM context, telemetry work, and reaching inconsistent conclusions. TraceDelta sits between AI agents and SigNoz and turns a bounded investigation into a versioned, source-linked evidence capsule:
incident scope (env, services, time range, symptom) as a canonical identity;
typed claims — observed facts, comparisons, correlations, hypotheses, action-candidates, and explicit known-unknowns (never one confident blob);
evidence references (trace ids, span ids, log clusters, metric queries, alerts);
freshness timestamps and a delta showing what changed since the last version;
a savings ledger: reused evidence, duplicate queries avoided, context reduction.
It is not a generic "AI summary of logs" and not another dashboard. It is a reusable, evidence-linked, freshness-aware investigation artifact that routes back to the exact telemetry.
Validation status (honest)
Validated against live, self-hosted SigNoz v0.134.0 (not SigNoz Cloud), deployed
by Foundry — full detail and evidence in docs/validation.md
and docs/live-evidence/.
✅ Foundry installs SigNoz + its MCP server (
spec.mcp.spec.enabled: true→ forgedsignoz-mcp); stack healthy, ran 11h+.✅ Real ingestion from the demo —
checkout-service/payment-servicewith 100% error rate, real 502 error logs and traces (root spansPOST /checkout~1.25s).✅ TraceDelta ↔ live SigNoz (REST adapter, v0.134) — full flow on real data:
start_investigation(100% error rate, p95 5.9× baseline) → reuse → delta →verify_claim(supported) →drill_down(live trace + deep link) → savings (30.6× context compression, 6 duplicate queries avoided).✅ TraceDelta's own OTel in SigNoz —
tracedelta-mcpappears as a service withstart_investigation/refresh_capsulespans (the closed loop).✅ Official SigNoz MCP server completes an
initializehandshake at:8000/mcp.✅ Fixture tier — 24 unit tests;
make demo(25.5× compression); image builds.✅ Screenshots (headless Chromium, real) — SigNoz Services + Traces of the live incident, and the TraceDelta capsule / delta / evidence-drawer / savings surfaces. See
docs/live-evidence/screenshots/.
The default FixtureSigNoz backend reproduces the incident shape so the demo/tests
run with no backend — the blueprint-sanctioned adapter fallback (§15).
Related MCP server: context-diamond
The 30-second proof
make install # uv venv + deps (Python 3.12)
make test # 24 tests: matching, versioning, delta, redaction, evidence links
make demo # two agents investigate one incident, end-to-end
make web # http://127.0.0.1:8700 — inspect the capsule visuallymake demo shows: Agent A opens a capsule → Agent B reuses it (no re-query) →
refresh returns a delta (retries increased, no new signature) → verify_claim
routes to source evidence → drill_down returns a redacted raw trace →
report_savings reports duplicate queries avoided and ~20×+ context compression.
MCP tools
Tool | What it does | Safety |
| Begin or reuse a bounded investigation → capsule | read-only |
| Candidates for a scope | never auto-merges |
| Situation, typed claims, evidence, freshness, consumers | respects policy |
| Change-only delta + new version | read-only |
| Supporting + contradicting source evidence | shows query context |
| Bounded raw evidence | redaction + field allow-list |
| Structured version diff | no causal inference |
| Reuse / avoided queries / compression | estimates labelled |
Connect Claude Code with the shipped .mcp.json (/mcp → tracedelta), or over
HTTP with make mcp-http. See docs/mcp-config.md.
Architecture
Full diagram and request flow in docs/architecture.md.
AI clients / humans ─► TraceDelta MCP server ─► SigNoz (OTel: traces·logs·metrics·alerts)
│ resolver (deterministic canonical key)
│ evidence compiler (refs → typed claims)
│ delta engine · policy+redaction · savings ledger
└ SQLite (capsules · claims · evidence · deltas)
TraceDelta also emits its OWN OpenTelemetry back into SigNoz (the closed loop)Deterministic matching — a human-inspectable canonical key (
backend | org | env | service-set | time-window | symptom-kind | signature | intent), not an LLM guess. Related-but-not-identical investigations are surfaced, never merged.Object model — Investigation 1─N Capsule versions, Capsule 1─N Claims, Claim N─N Evidence, Capsule 1─N Deltas, Capsule 1─1 Policy.
Persistence — SQLite (local-first, inspectable), full version history.
SigNoz integration (and the Foundry deployment)
The final deployment target is self-hosted SigNoz (not SigNoz Cloud), installed
by Foundry. casting.yaml enables the MCP component, so foundryctl installs
and runs both SigNoz and the official SigNoz MCP server (signoz-mcp on
signoz-network:8000):
spec:
deployment: { flavor: compose, mode: docker }
mcp:
spec:
enabled: true # Foundry installs signoz/signoz-mcp-server alongside SigNozTraceDelta consumes SigNoz through documented SigNoz REST APIs behind a clean
adapter (blueprint §15); the Foundry-managed signoz-mcp is available for agents
to call directly at http://localhost:8000/mcp. Both live behind one
SigNozClient interface, and a deterministic FixtureSigNoz implements the same
interface so the demo/tests need no running backend.
make gauge # foundryctl gauge — validate tools
make signoz-up # foundryctl forge (→ casting.yaml.lock + pours/) + docker compose up (SigNoz + MCP)
make stack-up # overlay: demo app + TraceDelta MCP + web (wired to self-hosted SigNoz)casting.yaml and casting.yaml.lock are committed; pours/ (the generated
compose stack + configs) is regenerable with make forge. Full-stack endpoints and
the incident load generator are documented in DEMO.md.
Demo incident
checkout-service → payment-service → simulated external stripe provider
(demo/). The load generator runs baseline traffic, emits a deploy marker
(checkout-service@v2.4.1), then flips the provider into timeout mode: checkout
502s rise, retries climb, timeout spans dominate. TraceDelta correctly reports the
deploy as correlation, not causation, and names the safe next verification step.
Security & trust
Read-only MVP — no writes to production systems.
Redaction before storage/display — emails, bearer tokens, API keys, JWTs, card- and secret-like values are stripped before they reach SQLite; trace/span ids are preserved as references.
Evidence-backed — every material claim carries ≥1 source reference.
Honest gaps — missing evidence or an unreachable backend is stated plainly; TraceDelta never invents a root cause.
Typed uncertainty — facts, correlations, hypotheses, and unknowns stay distinct.
Tests
make testCovers deterministic matching, capsule versioning, delta generation, redaction
(incl. that raw secrets never reach the store), and claim↔evidence links. A sample
capsule is in docs/sample_capsule.json.
Project layout
tracedelta/ core: identity · redaction · models · db · resolver · compiler
· delta · savings · service · mcp_server · web · otel
signoz/ SigNozClient: base · fixture (deterministic) · api (real REST)
demo/ checkout-service · payment-service · loadgen (OTel-instrumented)
scripts/ demo.py (end-to-end) · gen_sample.py
tests/ matching · versioning · delta · redaction · evidence links
deploy/ tracedelta.compose.yaml (overlay onto Foundry's signoz-network)
casting.yaml(.lock) SigNoz deployment via Foundry
docs/ architecture.md · mcp-config.md · validation.md · live-evidence/The product blueprint that guided this build (vision, security model, spec) is kept private and is not part of this repository.
Limitations (MVP, by design)
Deferred per blueprint §11: universal semantic matching of arbitrary questions, autonomous remediation/writes, multi-tenant sharing, exact provider-billing reconciliation, and automatic root-cause claims. The real SigNoz REST adapter is best-effort and version-sensitive; the fixture backend is the guaranteed demo path.
AI-assistance disclosure
See DISCLOSURE.md.
Available Tools
8 toolscompare_capsulesC
Structured difference between two capsule versions. Does not infer causality.
| Name | Required | Description | Default |
|---|---|---|---|
| capsule_a | Yes | ||
| capsule_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add one useful constraint ('does not infer causality'), which is genuinely informative about output interpretation. However, it doesn't explain what the structured difference contains, whether this is a read-only operation, what format the comparison takes, or any side effects—leaving the agent with limited behavioral understanding for a comparison tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief at one short sentence, which is genuinely concise. However, it is under-specified rather than efficiently complete—this teeters between concise and insufficient. The fact that it contains no redundant filler earns some credit, but the brevity comes at the cost of essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 string parameters at 0% schema coverage, no annotations, and no output schema, the description provides almost no context. The agent cannot determine what input format to supply, what the comparison output looks like, or how this differs from inspecting capsules individually. Among seven siblings with varied investigative functions, this level of description is severely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate entirely. Neither parameter (capsule_a, capsule_b) is explained in the description beyond the generic inference from their names and types. There is no note on what format the capsule identifiers take (ID string, path, URL?), whether order matters, or whether they refer to specific version tags. Two fully undocumented parameters at 0% coverage require substantial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Structured difference between two capsule versions' which clarifies the verb (compare) and resource (capsules), but it reads more like a restatement of the tool name 'compare_capsules' rather than adding new specificity. It's not entirely tautological, but it adds minimal differentiation from siblings like find_related_capsules or drill_down.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives. The single sentence provides no context about which scenarios call for comparing capsule versions, no mention of prerequisites, and no exclusions. The phrase 'does not infer causality' hints at one limitation but doesn't explain when it WOULD be the right choice among the prominent sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
drill_downC
Retrieve the bounded raw evidence behind a reference (redacted, field-limited). This is the explicit cost path; the response reports estimated source bytes examined.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | ||
| consumer | No | ||
| capsule_id | Yes | ||
| evidence_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that results are redacted and field-limited, and that the response reports estimated source bytes examined (cost transparency). However, it doesn't mention auth needs, rate limits, or what happens on failure. The description adds meaningful value but leaves gaps for a cost-path tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, compact and front-loaded with the core purpose first. The second sentence about cost-path reporting is relevant. No wasted words, though the dense jargon ('bounded raw evidence', 'capsule') hurts accessibility slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 0% schema coverage, no annotations, no output schema, and 4 parameters (2 undocumented by any prose and only structurally named in schema), the description is too thin. It doesn't explain return format, how fields filtering works, or resolution mechanics. The cost-path framing is useful but insufficient for reliable tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It gives zero parameter information beyond the schema: fields, consumer, capsule_id, evidence_id are all unexplained in prose. The description doesn't clarify what 'fields' restricts, what a 'consumer' represents, or relationship between capsule_id and evidence_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it retrieves 'bounded raw evidence behind a reference (redacted, field-limited)', giving a specific verb+resource. However, the term 'reference' and 'capsule' are domain jargon not defined, and it doesn't clearly differentiate from get_capsule or find_related_capsules siblings. It does add the distinguishing cost-path detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'explicit cost path' implies it should be used when cost matters, but no explicit when-to-use or when-not-to-use guidance is given. It doesn't mention alternatives or exclusions. The guidance is implied rather than stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capsuleC
Fetch a capsule: situation, typed claims (facts / comparisons / correlations / hypotheses / known-unknowns / action-candidates), evidence references, freshness, and consumers. Respects the capsule's redaction policy.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary | |
| consumer | No | ||
| capsule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It adds two useful behavioral notes: the tool respects redaction policy, and it returns a bundle of elements (claims, evidence, freshness, consumers). However, it doesn't disclose what happens with the 'detail' parameter (summary vs full), how pagination/limits work, or whether it's a read-only operation. The redaction-policy mention is a notable positive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the action and key deliverable. The content list is slightly verbose (five claim types enumerated) but that enumeration is genuinely useful. No wasted words overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters with 0% schema coverage and no annotations or output schema, yet the description fails to document the 'detail' and 'consumer' parameters. These likely control output verbosity and redaction context respectively—both critically relevant to an agent choosing invocation arguments. The redaction-policy mention signals this but doesn't explain how the agent should set parameters to control it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters, but it only explains capsule_id implicitly via the subject of the fetch. The 'detail' parameter (default 'summary') and 'consumer' parameter are not described at all—no note on what detail levels exist or what 'consumer' means for redaction/context. This is a gap since the description itself references a redaction policy that is likely tied to the consumer parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a capsule and enumerates its contents (situation, typed claims, evidence references, freshness, consumers). It uses a specific verb-plus-resource pattern ('Fetch a capsule'). However, it doesn't explicitly distinguish itself from sibling tools like find_related_capsules or compare_capsules, though the detailed content list does implicitly differentiate it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention that this fetches a single capsule by ID (which distinguishes get vs find/compare), nor does it warn against using it when a related-capsule or comparison workflow is needed. The context ('Respects the capsule's redaction policy') is informative but not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_capsuleC
Return only what CHANGED since the latest capsule version (a delta), not a reprint. Re-queries the backend for the minimum needed and creates a new version.
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | ||
| consumer | No | ||
| capsule_id | No | ||
| investigation_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that this re-queries the backend and creates a new version, which implies mutation (creating a version). However, it doesn't disclose side effects beyond versioning, whether re-querying has cost/latency implications, or how the delta is formatted. The 'creates a new version' hint partially compensates for missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loads the key behavior (return only what changed). The instruction-like phrasing is efficient. It's concise without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that mutates state (creates a new version), has 4 undocumented parameters, and lacks an output schema, the description is underspecified. It doesn't explain what the delta format looks like, what triggers re-querying, or whether parameters are mutually required (e.g., capsule_id vs investigation_id). Compare_capsules sibling suggests comparison could be relevant, adding ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all 4 parameters have empty defaults. The description adds no meaning to focus, consumer, capsule_id, or investigation_id. With 0% coverage, the description should help clarify which parameters matter for the delta behavior, but it says nothing about them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a delta (only what changed since the latest version) and creates a new version by re-querying. This is a specific verb+resource (refresh capsule) with clear scope, though it doesn't explicitly distinguish from siblings like compare_capsules which could be confused for diff functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. get_capsule or compare_capsules. The delta behavior is described but there's no statement of when a user would need a refresh versus retrieving or comparing. With siblings like compare_capsules and get_capsule, explicit usage boundaries would help significantly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_savingsC
Estimated avoided work: capsule reuse, duplicate source queries avoided, source bytes vs response bytes (context compression), and a labelled token-savings estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| team | No | ||
| since | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. The description reads like a list of metrics presented, suggesting a read/report operation, but it doesn't disclose whether this is a mutation, whether it requires prior investigation state, how it computes the estimates, or what the output format looks like. For a tool with zero annotation coverage, this is insufficient behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact single sentence listing the report's contents. It's brief and gets to the point, but it's structurally a fragment describing metrics rather than a proper explanation. No waste, but also minimal substance—on the under-specification side rather than the concise-and-complete side.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no output schema, no annotations, and 0% schema coverage, the description should do substantial explanatory work. Instead it lists four metric categories and stops. It doesn't explain the two parameters, what the report format is, when it's meaningful to call it, or what the relationship to sibling tools (find_related_capsules, compare_capsules) is. Given the context richness of sibling names, more is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 2 parameters (team, since) with no documentation in the schema. The description doesn't mention either parameter at all, leaving the agent to guess what 'team' and 'since' mean—though they are inferable (team name, time window). With zero schema coverage and no param info in the description, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes what the report contains (avoided work estimates including capsule reuse, duplicate query avoidance, context compression, and token savings), but never states the tool's verb or action clearly. It's unclear whether this tool generates, fetches, or compiles these savings. The name 'report_savings' implies a reporting action, but the description only lists report contents without a clear verb, and doesn't distinguish it from sibling tools like drill_down or verify_claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is essentially no guidance on when to use this tool versus the siblings. It doesn't say things like 'use after investigation' or 'call to summarize savings.' The semantic content of the savings (capsule reuse, duplicate queries, context compression) gives some implicit context about usage, but there's no explicit when/when-not guidance or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_investigationA
Begin (or reuse) a bounded production investigation.
Returns a compact, source-linked evidence capsule. If a matching investigation
already exists it is REUSED (no re-query) and flagged; if a related-but-not-
identical one exists, candidates are returned for you to choose — never merged
silently. `symptom_signature` is the error signature, e.g. "HTTP_502:checkout".
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| consumer | No | ||
| question | Yes | ||
| services | Yes | ||
| force_new | No | ||
| environment | No | production | |
| symptom_kind | No | error-rate | |
| window_minutes | No | ||
| symptom_signature | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It does disclose important side effects: reuse without re-query, flagging, candidate return, and the 'never merged silently' guarantee. However, it does not disclose potential costs (e.g., whether this launches long-running queries, whether it has side effects beyond a read, or what the compaction/linking entails). For a tool that starts work on production systems, more disclosure would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph plus a code example. It is reasonably concise and front-loads the core purpose and key reuse behavior early. The inclusion of an inline example for `symptom_signature` is valuable. It could be trimmed slightly, but the content density is good and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters with 0% schema coverage and no output schema or annotations, the description does substantial work but leaves gaps. It explains the reuse/merge semantics and the signature format, but does not clarify what each parameter controls (especially start/end/window_minutes interplay, environment scope, symptom_kind options). For a tool managing production investigations, the agent needs more parameter grounding to invoke correctly, though the core question/services/signature trio is well handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain `symptom_signature` with a concrete example format ('HTTP_502:checkout'), and implies the meaning of several parameters like `force_new`, `window_minutes`, `environment`, `consumer`, and `services` through context. However, several parameters (start, end, symptom_kind, consumer) are only hinted at or left implicit, meaning a single broad sentence carries much of the burden across 10 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Begin or reuse') and the resource ('bounded production investigation'). It specifies the primary output (a 'compact, source-linked evidence capsule') and distinguishes itself from siblings by describing its unique behavior around reusing existing investigations and handling related-but-not-identical matches. This is specific and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when reuse happens: identical investigations are reused and flagged, while related-but-not-identical candidates are returned for the agent to choose ('never merged silently'). It also explains the `force_new` semantic implication by contrasting against reuse behavior, indicating when a new investigation would be forced. This is strong behavioral guidance for a tool that could otherwise silently behave unexpectedly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_claimA
Show the supporting and contradicting source evidence for one claim, with the exact query fingerprint, source time range, and deep link. Use to challenge an answer.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | ||
| consumer | No | ||
| capsule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It properly discloses this is a read/verification operation returning evidence, which is useful. However, it doesn't disclose behavioral traits like whether it requires pre-existing capsule state, mutability implications, or any rate-limit/auth constraints, leaving some gaps for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The first sentence delivers the core purpose and listed outputs; the second sentence states the use case trigger. Every element earns its place with clean line wrapping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read/verification tool with 3 simple params and no output schema, the description covers the essential purpose, scope (single claim), what evidence it returns, and the use case trigger. The description is largely adequate; minor gap is the undefined 'consumer' parameter and lack of clarification on relationship between the two required IDs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the parameters. The three parameters (capsule_id, claim_id, consumer) are not individually explained semantics-wise in the description beyond the implicit 'one claim' context. The description adds the conceptual link between claim and capsule but doesn't clarify what 'consumer' means or how capsule_id vs claim_id relate specifically.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Show') with a clear resource ('supporting and contradicting source evidence') and explicitly scopes it to 'one claim'. It distinguishes itself by naming specific outputs (query fingerprint, time range, deep link) not mentioned by any sibling tools. The final sentence 'Use to challenge an answer' reinforces its distinct use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool ('Use to challenge an answer') and conveys its verification/doubt-checking purpose, which distinguishes it from siblings like drill_down or get_capsule. However, it doesn't explicitly name alternative tools or state when NOT to use it, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.1.0- First observed
compare_capsules - First observed
drill_down - First observed
find_related_capsules - First observed
get_capsule - First observed
refresh_capsule - First observed
report_savings - First observed
start_investigation - First observed
verify_claim
TDQS
Each tool targets a distinct operation in the investigation workflow: starting an investigation, finding related capsules, fetching a capsule, diffing versions, computing deltas, verifying a claim, drilling into raw evidence, and reporting savings. The purposes are clearly separable with no meaningful overlap.
Names use a consistent verb_noun convention (start_investigation, get_capsule, compare_capsules, verify_claim, report_savings). Slight variation exists (drill_down is verb_adverb, refresh_capsule/report_savings are slightly different patterns), but overall the style is coherent and predictable.
Eight tools is well within the ideal range and each earns its place by covering a distinct phase of the investigation lifecycle: creation, discovery, retrieval, comparison, refresh, verification, detail, and reporting. No filler or redundant tools.
The surface covers the full epistemological loop: start an investigation, find existing related work, retrieve details, compare versions, refresh for changes, verify claims with raw evidence, drill down into source references, and report on savings. There are no dead ends or obvious missing operations for the stated domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- SuperlogOAuthsh.superlog
Open-source agent that observes and fixes your application. Query logs, traces, metrics, incidents.
Verified memory for AI agents. Signed assertions, billing attestation, session continuity.
AI agent run monitoring with incident replay and SLA receipts.
Versioned agent memory in your own Postgres: portable context, permissioned, audit trail.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to investigate backend incidents by executing runbooks that gather evidence from observability and storage systems.59MIT
- AlicenseBqualityBmaintenanceEnables LLM agents to compress handoffs into structured, auditable context capsules, preserving goals, constraints, decisions, and risks without external API calls.320MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query runtime debugging facts (stack traces, logs, function arguments) captured by Syncause, allowing them to fix root causes with evidence instead of guessing.241-
- AlicenseNot gradedqualityCmaintenanceEnables step-debugging, deterministic replay, and signed audit evidence for AI agents, compliant with EU AI Act.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/swaroop2005/TraceDelta'
If you have feedback or need assistance with the MCP directory API, please join our Discord server