MCPLow riskUnclaimed

Attest

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

dev-prathapdev-prathap/attest★ 1Updated Sep 19, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.dev-prathap/attest",
  "description": "Decide by policy, gate behind a human, verify by read-back, record a hash-chained ledger.",
  "title": "Attest",
  "repository": {
    "url": "https://github.com/dev-prathap/ATTEST",
    "source": "github"
  },
  "version": "0.1.0",
  "websiteUrl": "https://dev-prathap.github.io/ATTEST/",
  "packages": [
    {
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "identifier": "attestlayer",
      "version": "0.1.0",
      "runtimeHint": "uvx",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Path to a policy YAML (defaults to ./attest.yaml or the built-in default)",
          "format": "filepath",
          "name": "ATTEST_POLICY"
        },
        {
          "description": "Ledger SQLite path (default .attest/ledger.sqlite)",
          "format": "filepath",
          "default": ".attest/ledger.sqlite",
          "name": "ATTEST_LEDGER"
        },
        {
          "description": "Set to 1 to approve every confirm request (development only)",
          "format": "boolean",
          "name": "ATTEST_AUTO_APPROVE"
        },
        {
          "description": "Seconds attest_confirm waits for a human (default 900)",
          "format": "number",
          "default": "900",
          "name": "ATTEST_CONFIRM_TIMEOUT"
        },
        {
          "description": "Google OAuth access token with gmail.readonly — enables Gmail read-back",
          "isSecret": true,
          "name": "GMAIL_TOKEN"
        },
        {
          "description": "Google OAuth access token — enables Calendar / Drive / Docs / Sheets read-back",
          "isSecret": true,
          "name": "GOOGLE_TOKEN"
        },
        {
          "description": "Slack bot token (xoxb-…) with channels:history, channels:read — enables Slack read-back",
          "isSecret": true,
          "name": "SLACK_BOT_TOKEN"
        },
        {
          "description": "HubSpot private-app token — enables HubSpot read-back",
          "isSecret": true,
          "name": "HUBSPOT_TOKEN"
        },
        {
          "description": "Notion integration token — enables Notion read-back",
          "isSecret": true,
          "name": "NOTION_TOKEN"
        },
        {
          "description": "Linear API key — enables Linear read-back",
          "isSecret": true,
          "name": "LINEAR_API_KEY"
        },
        {
          "description": "Microsoft Graph token — enables Outlook / Teams read-back",
          "isSecret": true,
          "name": "GRAPH_TOKEN"
        }
      ]
    }
  ],
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "skill": "https://github.com/dev-prathap/ATTEST/blob/main/skills/verified-actions/SKILL.md",
      "tools": [
        "attest_decide",
        "attest_confirm",
        "attest_confirm_status",
        "attest_record",
        "attest_verify",
        "attest_ledger"
      ]
    }
  }
}

Permissions

DeclaredDetected
Runs code—python
Installs—pypi:attestlayer@0.1.0
Runs install scripts—None
NetworkNoneNone
Needs credentialsGMAIL_TOKENGOOGLE_TOKENGRAPH_TOKENHUBSPOT_TOKENLINEAR_API_KEYNOTION_TOKENSLACK_BOT_TOKENGMAIL_TOKENGOOGLE_TOKENGRAPH_TOKENHUBSPOT_TOKENLINEAR_API_KEYNOTION_TOKENSLACK_BOT_TOKEN
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #10.1.0latestOct 7, 2026