silicon_truth_bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STB_BACKEND | No | Default backend. Set to 'verdi' for real Verdi NPI access. | fake |
| STB_LAUNCHER | No | Worker launcher. V1 only implements local. | local |
| STB_DEV_TOOLS | No | Set to 'true' to register admin_* development tools. | false |
| STB_VERDI_HOME | No | Verdi installation path; required when STB_BACKEND=verdi. Defaults to $VERDI_HOME if set. | $VERDI_HOME |
| STB_ALLOWED_ROOTS | No | Colon-separated list of root directories that the server is allowed to access (design DB, source, FSDB, artifacts). | current directory |
| STB_ARTIFACT_ROOT | No | Directory where artifact files are written. | .stb/artifacts |
| STB_VERDI_RELEASE | No | Explicit Verdi release declaration for custom installation layouts. | auto-detect |
| STB_WORKER_PYTHON | No | Python interpreter used to start the NPI worker. | MCP server current Python |
| STB_HARD_TIMEOUT_SEC | No | Supervisor hard timeout in seconds. | 300 |
| STB_MAX_ARTIFACT_BYTES | No | Maximum size in bytes for a single artifact. | 1073741824 |
| STB_MAX_OBJECT_HANDLES | No | Maximum number of language object handles to retain. | 100000 |
| STB_DEFAULT_TIMEOUT_SEC | No | Soft deadline for worker requests in seconds. | 120 |
| STB_HARD_RESPONSE_BYTES | No | Hard response size limit in bytes. | 16777216 |
| STB_MAX_ACTIVE_CONTEXTS | No | Maximum number of active worker/contexts. | 4 |
| STB_NORMAL_RESPONSE_BYTES | No | Normal response size limit in bytes. | 4194304 |
| STB_ALLOW_UNVERIFIED_VERDI | No | Set to 'true' to allow unverified Verdi releases to run after capability probe. | false |
| STB_MAX_ARTIFACT_TOTAL_BYTES | No | Maximum total bytes for all artifacts. | 21474836480 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| context_manageC | Open, reload, close, list, get status, or release context objects. |
| wave_manageC | Attach, reload, detach, list, or get status for waveform resources. |
| catalogC | Discover context-specific models, properties, relations, and operators. |
| object_resolveC | Resolve an exact object. For waveform signals set model='waveform', wave_id, and name; netlist is the default model. |
| object_getA | Read properties for exact ObjectRef entries returned by resolve or query. |
| object_queryB | Run a bounded declarative object query. Set model, scope, npi_types or semantic_classes; waveform queries also require wave_id. |
| object_traverseC | Traverse a cataloged relation from ObjectRef roots with bounded depth. |
| connectivity_directA | Return one-hop driver or load evidence for exact design signal names. |
| traceB | Return a bounded driver, load, path, fanin, or fanout evidence graph. |
| trace_active_driverB | Evaluate active and feasible driver branches for signals at a wave time. |
| trace_value_originC | Trace sampled value origin across state boundaries at a wave time. |
| wave_valueA | Read typed waveform values. Request requires signals and unit-bearing times such as ['200ns']; set wave_id when multiple waves are attached. |
| wave_changesC | Read bounded waveform transitions. Request requires signals, start, and end. |
| wave_computeC | Run a typed bounded waveform operation such as sample, statistics, compare, period, pulse, xz, or first_divergence. |
| source_contextC | Read bounded source context anchored to an exact ObjectRef. |
| mappingC | Resolve, validate, or explain deterministic design-to-wave mappings. |
| artifactD | Manage bounded evidence artifacts and asynchronous jobs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools are clearly distinct, especially with object_* and wave_* prefixes. The only potential overlap is between trace and connectivity_direct, but the descriptions differentiate a general graph from a one-hop direct query. Specialized trace tools like trace_active_driver and trace_value_origin have specific purposes, reducing ambiguity.
Snake_case is used consistently, but the verb/noun arrangement is mixed: some are verb-first (trace, catalog), some are noun-verb (context_manage, object_resolve), and some are noun-noun (wave_value, source_context). There is structure via prefixes like object_ and wave_, but no uniform pattern across all tools.
The 17 tools are slightly above the ideal range but each addresses a distinct aspect of hardware design analysis, such as context lifecycle, object querying, tracing, waveform data access, and mapping. The count is justified by the breadth of the domain and does not feel bloated.
The toolset provides strong coverage for a read-only analysis bridge: lifecycle management for contexts and waveforms, object resolution/query/traversal, multiple trace types, waveform value/changes/compute, source context, and mapping. Minor gaps like an explicit list-scopes tool are likely covered by catalog, but overall the surface is comprehensive.