Plumbline — a trust layer for LLM answers

com.lattice-sys.plumblinePublished by plumbline.lattice-sys.comOfficial publisherv0.1.0Updated Oct 24, 2026

Every figure re-checked against SQL-computed facts; unsupported questions refused with the reason.

VerifiedStreamable HTTPWeb executableDatabasesSecurity & MonitoringData & Analytics

Overview

AI-generated overview

A remote trust layer that verifies LLM answers against SQL-computed facts, refusing unsupported questions and grading each answer's confidence.

What you can do
Prepare a business question and get a composed prompt plus a single-use handoff key, then submit your draft for verification against server-side SQL facts and receive a published trust envelope or a refusal with reasons. Run registered, versioned read-only fact queries and cross-check figures you obtained elsewhere against the verified fact store. Explore the fact catalog and inspect the SQL, evidence documents and correlation IDs behind answers already received. Run your own read-only SQL or sandboxed JavaScript against the snapshot, with results explicitly marked unverified. Query employment data such as employee search, manager chains, payroll anomalies, benefits summaries and department/
When to use it
Use it when answers about the pinned dataset must be grounded and auditable, for example HR or payroll reporting where every figure needs a SQL-backed receipt and unsupported questions should be refused rather than guessed. Also useful when you want to inspect the queries and evidence behind an answer or grade a session's trust tier.
Requirements
Remote streamable HTTP endpoint; no packages, environment variables or headers declared. Some tools depend on the client supporting MCP sampling to draft answers; without it they return an explicit refusal and you should use the prepare/submit flow instead.
Before you install
The server holds employment, compensation and benefits data; queries and evidence documents expose that data to the connected assistant. run_sql and run_code bypass the planner and grounding gate, so their results are unverified and should not be presented as trusted. Several tools write drafts and publish verdicts server-side, and prepare keys are single-use handoff tokens that must be echoed back verbatim.

Installation

In SourceWeft

  1. Open Plumbline — a trust layer for LLM answers in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.lattice-sys.plumbline%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "plumbline-a-trust-layer-for-llm-answers": {
      "type": "http",
      "url": "https://plumbline.lattice-sys.com/mcp/demo"
    }
  }
}

Tools

18

ask_prepare

BYO: Prepare Grounded Prompt

BYO step 1 of 2: run the server-side trust plane for a business question (plan, SQL-verified facts, evidence retrieval, answerability gate, prompt composition) and return the composed prompt plus a single-use prepare_key (a signed handoff token; echo it back VERBATIM and in full, or use the short ask_id alias; in prose always say the ask_id, never the token). Read-only: prepare holds no server state and is safe to run without confirmation — the receipt is minted only at ask_submit_draft. Pass the user's question VERBATIM: do not expand, narrow, or reword it — the server plans coverage itself, and an unrequested rewrite misleads the user about what was asked. If you must revise it (e.g. to fold in essential conversation context), you MUST also pass the user's exact wording in original_question so the panel can disclose the revision. YOU (the connected model) then write the draft answer from that prompt and submit it with ask_submit_draft — generation happens on your side, so no LLM credential ever reaches this server. An unanswerable question still receives a prompt for reference; its draft is force-refused at submit and can never earn a verified verdict. Only a policy refusal stops at prepare. Recommended drafting path on this deployment.

Parametershistoryquestionrequiredoriginal_question

ask_result

BYO: Fetch Published Verdict

Fetch the published verdict for an ask_prepare session (status: pending, published, or unknown). This is the app panel's polling surface, so the verified answer renders inside the panel that prepared the question. As the connected model you normally never need it: write your draft and call ask_submit_draft. Exception: if you are asked to submit for a session whose composed prompt is no longer in your context, call this with include_prompt true to receive that session's exact prompt again, then draft and submit.

Parametersprepare_keyrequiredinclude_prompt

ask_submit_draft

BYO: Verify Client Draft

BYO step 2 of 2: verify the draft you wrote for an ask_prepare prompt. The server runs the SAME post-answer guards the strict path uses (facts presence, tagged claims, concept binding, earner-name grounding) against its own SQL facts and publishes the trust envelope; a draft that fails any guard is refused. Pass the prepare_key token back VERBATIM and in full. Handoffs are single-use per verdict and expire.

Parametersmodelraw_answerprepare_keyrequireddecline_reason

compare_departments

Compare Departments (Verified)

Compare two departments by headcount and compensation. NOTE: internal drafting is disabled on this deployment. If your client supports MCP sampling, this tool asks YOUR model to draft in the same call (verified server-side); otherwise it returns an explicit refusal, and you should use ask_prepare then ask_submit_draft to draft with your own model.

Parametersarequiredbrequired

cross_check

Cross-Check a Figure

Corroborate a figure you obtained (e.g. from run_sql) against the verified fact store: it re-derives the named value_key from the same SQL the verified pipeline uses and compares. AGREE lifts an otherwise-unverified session to 'corroborated'; DISAGREE marks a CONFLICT (worse than unverified). This is the only way a raw figure earns trust back, and it can only ever agree with a number the fact store itself computed. Resolvable keys cover the single-snapshot fact concepts plus temporal and per-department growth keys (e.g. indexed_people.<dept>); per-question keys (a named department's median, one person's direct-report count) return unmapped.

Parametersvaluerequiredvalue_keyrequired

describe_fact_capabilities

Discover Fact Capabilities

List safe metadata for the registered fact queries available on the server-pinned dataset: IDs, labels, parameters, and result shapes, never SQL. Use this when a question appears relevant but a selected route produced no facts; a route miss is not evidence that the underlying records are absent.

Takes no parameters.

find_payroll_anomalies

Payroll Anomalies (Verified)

Surface payroll and deduction anomalies in the latest snapshot. NOTE: internal drafting is disabled on this deployment. If your client supports MCP sampling, this tool asks YOUR model to draft in the same call (verified server-side); otherwise it returns an explicit refusal, and you should use ask_prepare then ask_submit_draft to draft with your own model.

Takes no parameters.

get_ai_act_transparency

EU AI Act Transparency Descriptor

Return the Art. 13 transparency descriptor: intended purpose, capabilities, limitations, human oversight, logging mechanism, and article mapping.

Takes no parameters.

get_answer_queries

Show the SQL Behind an Answer

Show the SQL behind one answer you already received, addressed by its correlation_id. Returns only the recorded fact queries (id, version, label, SQL, parameters, result schema, dataset version) for that answer: no rows, no evidence text, no answer text, no envelope, and no way to list the catalog. Recorded SQL has its arguments inlined as literals, so a query that filters on a specific value discloses that value; the built-in workforce queries inline only snapshot ids. Requires the persisted compliance log and the same session that produced the answer. Absent from the no-auth public demo.

Parameterscorrelation_idrequired

get_evidence_document

Show an Evidence Document Behind an Answer

Show ONE retrieved evidence document behind an answer you already received, addressed by that answer's correlation_id plus a document_id from its evidence_documents references. Returns the full stored document (title, body, metadata, embedding_text) with the retrieval rank and scores the answer recorded; never the raw embedding vector. Only documents the addressed answer actually recorded resolve: there is no fetch-by-id in general and no way to browse the store. Requires the persisted compliance log and the same session that produced the answer. Absent from the no-auth public demo.

Parametersdocument_idrequiredcorrelation_idrequired

get_manager_chain

Manager & Reporting Chain (Verified)

Return the management/reporting chain for an employee. NOTE: internal drafting is disabled on this deployment. If your client supports MCP sampling, this tool asks YOUR model to draft in the same call (verified server-side); otherwise it returns an explicit refusal, and you should use ask_prepare then ask_submit_draft to draft with your own model.

Parametersemployeerequired

query_fact

Run Registered Fact Query

Execute a registered, versioned read-only fact query against the server-pinned dataset. Provide query_id and version only: SQL is approved by the domain pack, never caller-supplied. Returns normalized rows plus a reproducible trust receipt containing the dataset and query versions.

Parametersversionrequiredquery_idrequiredparameters

run_code

Run Sandboxed JavaScript (Unverified)

Run YOUR OWN JavaScript in the in-tenant coderunner sandbox with the read-only, snapshot-scoped plumb.query() SDK. No filesystem, environment, or general network access. Read plumbline://sandbox-api.d.ts before writing code. The raw-SQL server opt-in is enabled, but results still bypass the trust path and are UNVERIFIED. Returns stdout/stderr plus metadata-only host-call trace evidence.

Parameterscoderequiredconceptsacknowledge_unverified

run_sql

Run Read-Only SQL (Unverified)

Run YOUR OWN single read-only SELECT/WITH over the virtual snapshot_* relations. The query is statically verified against an allowlist, rewritten to the active snapshot, and run read-only. This BYPASSES the planner, grounding gate, and answer-facts reconciliation, so results are UNVERIFIED and labelled as such. Deployments may refuse the FIRST raw call of a session pending acknowledge_unverified: true (the refusal says how to proceed). Optionally declare `concepts` to learn which figures the fact store could corroborate via cross_check.

Parameterssqlrequiredconceptsacknowledge_unverified

search_docs

Search Plumbline Docs

Search Plumbline's own product and architecture documentation (how the verification, refusal, and trust layer itself works). Returns ranked, citable doc passages; does NOT touch employment data, and returns an empty result set honestly when nothing matches.

Parameterslimitqueryrequired

search_employee

Search Employee (Verified)

Search the employment fact store for a person and return a grounded, verified answer. NOTE: internal drafting is disabled on this deployment. If your client supports MCP sampling, this tool asks YOUR model to draft in the same call (verified server-side); otherwise it returns an explicit refusal, and you should use ask_prepare then ask_submit_draft to draft with your own model.

Parametersqueryrequired

summarize_benefits

Benefits Summary (Verified)

Summarize benefit enrollments, optionally scoped (e.g. a department or plan). NOTE: internal drafting is disabled on this deployment. If your client supports MCP sampling, this tool asks YOUR model to draft in the same call (verified server-side); otherwise it returns an explicit refusal, and you should use ask_prepare then ask_submit_draft to draft with your own model.

Parametersscope

trust_finalize

Finalize Trust Verdict

Return the session's graded trust verdict: the tier (verified / registered-query / generated-sql / corroborated / unverified / conflict / refused), which trusted steps were skipped across the session, the deterministic confidence (k of n figures store-verified, weakest figure tier, conflicts), the per-figure provenance, the per-call ledger, and the at-your-own-risk disclaimer.

Takes no parameters.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.