mcpbeat Sign in

Plumbline — a trust layer for LLM answers MCP Server

by lattice-sys-plumbline Your server? Claim it
answering

Plumbline — a trust layer for LLM answers is answering right now. Last checked 3 min ago. It exposes 18 tools.

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

Uptime history 26 days of history · worst day 99%
26 days agonow
100.0%
Uptime 24h
92 of 92 checks
18
Tools
read from the server
602 ms
Response time
average over 24h
open, no key
Access
streamable-http

Nothing serious here today

Today is the operative word: we check Plumbline — a trust layer for LLM answers every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 3 min ago.

run in your terminal
claude mcp add mcp --transport http https://plumbline.lattice-sys.com/mcp/demo
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://plumbline.lattice-sys.com/mcp/demo"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://plumbline.lattice-sys.com/mcp/demo"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://plumbline.lattice-sys.com/mcp/demo"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://plumbline.lattice-sys.com/mcp/demo"
    }
  }
}

Available tools 18

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

ask
ask_prepare
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.
ask_result
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.
ask_submit_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.
act
get_ai_act_transparency
Return the Art. 13 transparency descriptor: intended purpose, capabilities, limitations, human oversight, logging mechanism, and article mapping.
answer
get_answer_queries
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.
code
run_code
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.
compare
compare_departments
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.
cross
cross_check
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.
describe
describe_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.
docs
search_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.
employee
search_employee
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.
evidence
get_evidence_document
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.
fact
query_fact
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.
manager
get_manager_chain
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.
payroll
find_payroll_anomalies
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.
sql
run_sql
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.
summarize
summarize_benefits
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.
trust
trust_finalize
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.

Endpoints

URLTransportStateLatencyChecked
https://plumbline.lattice-sys.com/mcp/demo streamable-http answering 590 ms 3 min ago

Alternatives to Plumbline — a trust layer for LLM answers

same job, measured the same way
ImmyBot MCP
by servosity

Every ImmyBot endpoint typed, plus a local SQLite mirror that answers the cross-tenant questions

local only
sql-steward
by pawansingh3889

The agent never writes SQL: queries compile from a semantic layer you control, PII refused first.

70 installs/wk local only
Domotz MCP
by servosity

Every Domotz endpoint, plus a local SQLite fleet mirror that answers cross-site questions.

local only
Autotask MCP
by servosity

Every Autotask entity at the command line, plus a local SQLite mirror that answers ticket-aging

local only
Shrike
by shrike-security

Governs what AI agents do: tool calls, SQL, commands, files checked against policy before they run.

82 installs/wk local only
KnowBe4 MCP
by servosity

Every KnowBe4 KMSAT reporting feature plus a local SQLite store that answers the cross-client

local only
MCP Sqlite
by rosch100

MCP server for SQLCipher 4 encrypted SQLite databases with full CRUD operations and query support

local only
PostgreSQL (hardened, read-only)
by eszetael

Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction.

159 installs/wk local only

Plumbline — a trust layer for LLM answers — questions

Answers built from our own checks of this server.

What can Plumbline — a trust layer for LLM answers do?
It exposes 18 tools, read directly from the server on our last check. Among them: ask_prepare, ask_result, ask_submit_draft, compare_departments, cross_check, describe_fact_capabilities and 12 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Plumbline — a trust layer for LLM answers working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 602 ms. The bar chart above shows every period we have measured.
How do I connect Plumbline — a trust layer for LLM answers?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Plumbline — a trust layer for LLM answers need an API key?
No. Plumbline — a trust layer for LLM answers completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 18 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Plumbline — a trust layer for LLM answers?
It answers our handshake in 602 ms on average, which is faster than 21% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.