Skip to content

ligate-io/ligate-mcp

Repository files navigation

Ligate MCP Server

Model Context Protocol server for the Ligate Chain attestation surface. Plug an AI agent into a running Ligate Chain in one line of config: Claude Desktop, Cursor, LangGraph, OpenAI Agents SDK, anything that speaks MCP.

Status: v0 scaffold. The four tools below are stubs that return placeholder responses. The real implementation wraps @ligate-labs/sdk once the wrapper surface stabilises. Tracked in ligate-chain#23.

Tools

Four MCP tools, mapping 1:1 to the chain's attestation primitives:

Tool What it does
record(schema_id, payload) Submits an attestation. The payload is hashed + signed; the chain returns an lat1... id.
verify(attestation_id) Looks up an attestation, returns its payload + canonical signature status.
query(filter) Lists attestations by agent / schema / time range. Reads through the indexer.
schemas() Lists every schema registered on the chain, with metadata.

Why MCP

Every MCP-compatible agent framework integrates Ligate with a one-line config rather than a custom REST client per framework. The chain stays small (point-lookup REST); agents get a typed, ergonomic surface; Ligate stops re-inventing the wheel per agent ecosystem.

Full product story + business model: see ligate-docs/mcp/CONCEPT.md in the docs repo.

Quick start

pnpm install
pnpm build
pnpm start

Then point an MCP client at the stdio transport. For Claude Desktop, drop this into ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ligate": {
      "command": "node",
      "args": ["/path/to/ligate-mcp/dist/index.js"],
      "env": {
        "LIGATE_RPC": "https://rpc.ligate.io"
      }
    }
  }
}

Restart Claude Desktop. The four tools above will appear in any chat.

Configuration

Env var Default Purpose
LIGATE_RPC https://rpc.ligate.io Chain REST endpoint. Point at a local devnet (http://127.0.0.1:12346) for testing.
LIGATE_API https://api.ligate.io Indexer endpoint (powers query).
LIGATE_AGENT_KEY (none) Hex-encoded ed25519 private key used to sign record(...) calls. Required for write tools; absent = read-only mode.

Repo conventions

  • TypeScript, ESM, no transpile-time surprises ("type": "module" in package.json).
  • prettier --check + tsc --noEmit on every PR (.github/workflows/ci.yml).
  • CLA bot on every external PR (.github/workflows/cla.yml).
  • main is branch-protected: PRs only, status checks required, no force pushes.

Contributing

Sign the CLA on your first PR (the bot prompts you). Beyond that, the usual: open a PR, link the issue, request review.

License

Apache-2.0 OR MIT (dual). See LICENSE-APACHE + LICENSE-MIT.

About

Model Context Protocol server for the Ligate Chain attestation surface. AI agents plug in via Claude Desktop / Cursor / LangGraph / OpenAI Agents SDK.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors