NestDaddy

Attest

io.github.dev-prathap/attest · v0.1.0

Decide by policy, gate behind a human, verify by read-back, record a hash-chained ledger.

Connect Runs on your machine

Terminal
claude mcp add attest -e ATTEST_POLICY=<ATTEST_POLICY> -e ATTEST_LEDGER=<ATTEST_LEDGER> -e ATTEST_AUTO_APPROVE=<ATTEST_AUTO_APPROVE> -e ATTEST_CONFIRM_TIMEOUT=<ATTEST_CONFIRM_TIMEOUT> -e GMAIL_TOKEN=<GMAIL_TOKEN> -e GOOGLE_TOKEN=<GOOGLE_TOKEN> -e SLACK_BOT_TOKEN=<SLACK_BOT_TOKEN> -e HUBSPOT_TOKEN=<HUBSPOT_TOKEN> -e NOTION_TOKEN=<NOTION_TOKEN> -e LINEAR_API_KEY=<LINEAR_API_KEY> -e GRAPH_TOKEN=<GRAPH_TOKEN> -- uvx attestlayer==0.1.0
claude_desktop_config.json
{
  "mcpServers": {
    "attest": {
      "command": "uvx",
      "args": [
        "attestlayer==0.1.0"
      ],
      "env": {
        "ATTEST_POLICY": "<ATTEST_POLICY>",
        "ATTEST_LEDGER": "<ATTEST_LEDGER>",
        "ATTEST_AUTO_APPROVE": "<ATTEST_AUTO_APPROVE>",
        "ATTEST_CONFIRM_TIMEOUT": "<ATTEST_CONFIRM_TIMEOUT>",
        "GMAIL_TOKEN": "<GMAIL_TOKEN>",
        "GOOGLE_TOKEN": "<GOOGLE_TOKEN>",
        "SLACK_BOT_TOKEN": "<SLACK_BOT_TOKEN>",
        "HUBSPOT_TOKEN": "<HUBSPOT_TOKEN>",
        "NOTION_TOKEN": "<NOTION_TOKEN>",
        "LINEAR_API_KEY": "<LINEAR_API_KEY>",
        "GRAPH_TOKEN": "<GRAPH_TOKEN>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "attest": {
      "command": "uvx",
      "args": [
        "attestlayer==0.1.0"
      ],
      "env": {
        "ATTEST_POLICY": "<ATTEST_POLICY>",
        "ATTEST_LEDGER": "<ATTEST_LEDGER>",
        "ATTEST_AUTO_APPROVE": "<ATTEST_AUTO_APPROVE>",
        "ATTEST_CONFIRM_TIMEOUT": "<ATTEST_CONFIRM_TIMEOUT>",
        "GMAIL_TOKEN": "<GMAIL_TOKEN>",
        "GOOGLE_TOKEN": "<GOOGLE_TOKEN>",
        "SLACK_BOT_TOKEN": "<SLACK_BOT_TOKEN>",
        "HUBSPOT_TOKEN": "<HUBSPOT_TOKEN>",
        "NOTION_TOKEN": "<NOTION_TOKEN>",
        "LINEAR_API_KEY": "<LINEAR_API_KEY>",
        "GRAPH_TOKEN": "<GRAPH_TOKEN>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "attest": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "attestlayer==0.1.0"
      ],
      "env": {
        "ATTEST_POLICY": "<ATTEST_POLICY>",
        "ATTEST_LEDGER": "<ATTEST_LEDGER>",
        "ATTEST_AUTO_APPROVE": "<ATTEST_AUTO_APPROVE>",
        "ATTEST_CONFIRM_TIMEOUT": "<ATTEST_CONFIRM_TIMEOUT>",
        "GMAIL_TOKEN": "<GMAIL_TOKEN>",
        "GOOGLE_TOKEN": "<GOOGLE_TOKEN>",
        "SLACK_BOT_TOKEN": "<SLACK_BOT_TOKEN>",
        "HUBSPOT_TOKEN": "<HUBSPOT_TOKEN>",
        "NOTION_TOKEN": "<NOTION_TOKEN>",
        "LINEAR_API_KEY": "<LINEAR_API_KEY>",
        "GRAPH_TOKEN": "<GRAPH_TOKEN>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
ATTEST_POLICY
Optional
Path to a policy YAML (defaults to ./attest.yaml or the built-in default)
ATTEST_LEDGER
Optional
Ledger SQLite path (default .attest/ledger.sqlite)
ATTEST_AUTO_APPROVE
Optional
Set to 1 to approve every confirm request (development only)
ATTEST_CONFIRM_TIMEOUT
Optional
Seconds attest_confirm waits for a human (default 900)
GMAIL_TOKEN
Optional, secret
Google OAuth access token with gmail.readonly — enables Gmail read-back
GOOGLE_TOKEN
Optional, secret
Google OAuth access token — enables Calendar / Drive / Docs / Sheets read-back
SLACK_BOT_TOKEN
Optional, secret
Slack bot token (xoxb-…) with channels:history, channels:read — enables Slack read-back
HUBSPOT_TOKEN
Optional, secret
HubSpot private-app token — enables HubSpot read-back
NOTION_TOKEN
Optional, secret
Notion integration token — enables Notion read-back
LINEAR_API_KEY
Optional, secret
Linear API key — enables Linear read-back
GRAPH_TOKEN
Optional, secret
Microsoft Graph token — enables Outlook / Teams read-back

Details

Package[email protected] (PYPI, stdio)
First published19 Sep 2026
Last updated19 Sep 2026
Registry nameio.github.dev-prathap/attest

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.