Skip to main content
Glama
README.md
# legitify-mcp

MCP server for Legitify (LegitimizeAI.com) — Human Attestation (Approval Receipts) for AI actions.

## What this is
This server exposes MCP tools that let an agent:
- submit an attestation request
- check status
- fetch policy/templates

## Tools
- `legitify.submit_attestation_request`
- `legitify.get_attestation_status`
- `legitify.get_policy`
- `legitify.list_pending_requests`
- `legitify.get_pending_request_details`
- `legitify.review_request`

## Quickstart (local)
```bash
cd projects/legitify-mcp
npm i
npm run dev
```

### Configure in mcporter / OpenClaw
Add to your mcporter config (example):
```json
{
  "mcpServers": {
    "legitify": {
      "command": "node /ABS/PATH/legitify-mcp/src/server.js"
    }
  }
}
```

### Example calls
```bash
mcporter call --server legitify --tool "legitify.get_policy" --output json

mcporter call --server legitify --tool "legitify.submit_attestation_request" \
  --args '{"kind":"deploy","title":"Deploy v1.2.3","summary":"Ship release","risk_level":"medium","links":["https://example.com/pr/123"]}' \
  --output json

mcporter call --server legitify --tool "legitify.list_pending_requests" --args '{"limit":10}' --output json

mcporter call --server legitify --tool "legitify.review_request" \
  --args '{"attestation_request_id":"attreq_...","decision":"approved","scope":"deploy_release","notes":"staging verified","reviewed_by":"neely"}' \
  --output json

mcporter call --server legitify --tool "legitify.get_attestation_status" \
  --args '{"attestation_request_id":"attreq_..."}' \
  --output json
```

## Config
Set environment variables:
- `LEGITIFY_BASE_URL` (optional) — API base (future)
- `LEGITIFY_API_KEY` (optional)

## Notes
MVP can run without a remote API by writing requests to a local queue (JSONL) and returning `needs_info` / `pending`.

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have clear boundaries: submit, review, list, and policy are distinct. get_attestation_status and get_pending_request_details both retrieve information by id, but the descriptions separate status lookup from full details reasonably well.

Naming Consistency4/5

All tool names use a lowercase snake_case verb_noun pattern, which is consistent. Minor inconsistency exists between attestation_request, pending_request, and request as object names, but the verb pattern keeps the set predictable.

Tool Count5/5

Six tools is well-scoped for an attestation workflow. Each tool maps to a meaningful step in the request lifecycle without unnecessary duplication.

Completeness4/5

The core submit, review, status, list, and detail flows are covered. Missing capabilities like canceling a request or resubmitting after needs_info are notable but not fatal, since the main workflow is fully represented.

Maintenance

ActivityInactive
ResponsivenessNo issues