Skip to main content
Glama
SanjoyDat1

trust-lattice

by SanjoyDat1

Trust Lattice

Evidence-weighted trust graph / reputation lattice for multi-agent systems. Nodes are agents, tools, and claim-sources. Edges carry time-decayed evidence (attestations, challenges, endorsements). High-risk actions are gated until trust thresholds and endorsement quorums are met.

Full MCP surface so orchestrators (Cursor, Claude Desktop, custom agents) can query trust before tool calls.

Features

  • Beta / Bayesian-ish trust updates with exponential evidence decay

  • Path-trust aggregation (noisy-OR of path products)

  • Sybil-resistance basics via identity verification stubs + influence caps

  • JSON policy DSL for risk tiers: read | write | irreversible

  • Explainable gate decisions (“why was this gated?”)

  • Export: JSON, Mermaid, Graphviz DOT

  • SQLite persistence, CLI, Vitest suite, optional Vite dashboard

See docs/ARCHITECTURE.md for the math and model.

Quick start

npm install
npm run build
npm run seed -- --force
npm test

MCP server (stdio)

npm run serve
# or after build:
node dist/index.js

Cursor MCP config

Add to your Cursor MCP settings (path may vary by OS):

{
  "mcpServers": {
    "trust-lattice": {
      "command": "node",
      "args": ["/ABS/PATH/TO/trust-lattice/dist/index.js"],
      "env": {
        "TRUST_LATTICE_DB": "/ABS/PATH/TO/trust-lattice/data/trust-lattice.db",
        "TRUST_LATTICE_ADMIN_TOKEN": "replace-with-a-long-random-secret"
      }
    }
  }
}

Or during development:

{
  "mcpServers": {
    "trust-lattice": {
      "command": "npx",
      "args": ["tsx", "/ABS/PATH/TO/trust-lattice/src/index.ts"],
      "env": {
        "TRUST_LATTICE_DB": "/ABS/PATH/TO/trust-lattice/data/trust-lattice.db",
        "TRUST_LATTICE_ADMIN_TOKEN": "replace-with-a-long-random-secret"
      }
    }
  }
}

Mutating tools (tl_register_node, tl_attest, tl_challenge, tl_endorse, tl_promote_identity, pubkey challenge tools) require an adminToken argument that matches TRUST_LATTICE_ADMIN_TOKEN (min 16 chars). Writes fail closed when the env token is unset.

CLI

npx tsx src/cli.ts seed --force
npx tsx src/cli.ts query agent:planner tool:web-search
npx tsx src/cli.ts gate agent:planner tool:shell write "run sandbox command"
npx tsx src/cli.ts export mermaid
npx tsx src/cli.ts promote agent:researcher email --issuer research@acme.test

Dashboard

npm run dev
# → http://127.0.0.1:5173

MCP tools

Tool

Description

tl_register_node

Register/update node (always unverified; needs adminToken)

tl_promote_identity

Operator promote verification level (adminToken)

tl_begin_pubkey_challenge / tl_complete_pubkey_challenge

Ed25519 proof → pubkey

tl_attest

Positive evidence on an edge (adminToken)

tl_challenge

Negative evidence on an edge (adminToken)

tl_endorse

Path-scaled endorsement (adminToken)

tl_query_trust

Decayed trust + paths (read)

tl_gate_action

Allow/deny with explanation (read; advisory)

tl_explain_path

Supporting paths (read)

tl_export_graph

json | mermaid | dot (read)

Policy

Default policy lives in policies/default.json. Override with TRUST_LATTICE_POLICY or --policy.

Security

  • Set TRUST_LATTICE_ADMIN_TOKEN (≥16 chars) for MCP writes; mutating tools fail closed without it.

  • Clients cannot set identity.verification via registerNode / tl_register_node — only operator promote / tl_promote_identity or a completed Ed25519 pubkey challenge.

  • Email/org verification remain operator stubs (no external IdP); pubkey requires a signature challenge.

  • Treat the SQLite DB as sensitive operational state.

  • MCP logs only to stderr (stdio transport).

  • Dashboard binds to 127.0.0.1 by default.

  • Gate decisions are advisory — orchestrators must enforce deny.

License

MIT

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/SanjoyDat1/trust-lattice'

If you have feedback or need assistance with the MCP directory API, please join our Discord server