Attest MCP Server
by dev-prathapio.github.dev-prathap/attestv0.1.0
Zero-code proxy: policy, human gate, read-back and a hash-chained ledger for any MCP server.
context tax
queued
security
queued
cold start
queued
freshness
Active15d ago
Install Attest MCP server
Install in Claude Code
claude mcp add attestlayer -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 attestlayerInstall in Cursor
{
"mcpServers": {
"attestlayer": {
"command": "uvx",
"args": [
"attestlayer"
],
"env": {
"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>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"attestlayer": {
"command": "uvx",
"args": [
"attestlayer"
],
"env": {
"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>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"attestlayer": {
"type": "stdio",
"command": "uvx",
"args": [
"attestlayer"
],
"env": {
"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>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"attestlayer": {
"command": "uvx",
"args": [
"attestlayer"
],
"env": {
"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>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| ATTEST_POLICY | — | — | Path to a policy YAML (defaults to ./attest.yaml or the built-in default) |
| ATTEST_LEDGER | — | — | Ledger SQLite path (default .attest/ledger.sqlite) |
| ATTEST_AUTO_APPROVE | — | — | Set to 1 to approve every confirm request (development only) |
| ATTEST_CONFIRM_TIMEOUT | — | — | Seconds attest_confirm waits for a human (default 900) |
| GMAIL_TOKEN | — | yes | Google OAuth access token with gmail.readonly — enables Gmail read-back |
| GOOGLE_TOKEN | — | yes | Google OAuth access token — enables Calendar / Drive / Docs / Sheets read-back |
| SLACK_BOT_TOKEN | — | yes | Slack bot token (xoxb-…) with channels:history, channels:read — enables Slack read-back |
| HUBSPOT_TOKEN | — | yes | HubSpot private-app token — enables HubSpot read-back |
| NOTION_TOKEN | — | yes | Notion integration token — enables Notion read-back |
| LINEAR_API_KEY | — | yes | Linear API key — enables Linear read-back |
| GRAPH_TOKEN | — | yes | Microsoft Graph token — enables Outlook / Teams read-back |
Freshness
Active — last maintenance signal 15d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-24 · 15d ago · GitHub
Latest release
2026-09-19 · 21d ago · GitHub · v0.1.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-19 · 21d ago · official registry · v0.1.0
FAQ
›How do I install the Attest MCP server in Claude Code?
Run: claude mcp add attestlayer -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. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Attest require an API key?
Yes. It expects GMAIL_TOKEN, GOOGLE_TOKEN, SLACK_BOT_TOKEN, HUBSPOT_TOKEN, NOTION_TOKEN, LINEAR_API_KEY, GRAPH_TOKEN, of which 7 are secrets.
›Can I use Attest as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Attest in the official MCP registry?
Yes, as io.github.dev-prathap/attest.