MCP.Market

Attest MCP server

by chudah1·io.github.chudah1/attest-mcp·v0.1.0·1 stars

Credential enforcement middleware for MCP servers — verifies scoped tokens on every tool call

B82/100grade B
What users say
No reviews yet
Be the first
Safety scan
B82/100

full report

Adoption
New

1 stars17 downloads/wk

Reviews

Write one

Nobody has reviewed Attest yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Attest tools (1, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • send_emailwrite action

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan6 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 144 days ago8/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 82/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Attest compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
82/100
higher than 63% of 48,255 servers
Tools
1
the typical server has 7
Tools that change things
100%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,688 servers
Downloads a week
17
more than 5% of 12,191 servers with a package

What its tools let an agent do: 1 send or post

Install Attest in Claude Code, Cursor or VS Code

Runs npx -y @attest-dev/mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add attest-mcp -- npx -y @attest-dev/mcp
Add to Cursor

What the publisher says

From the Attest repository's README, as published. We do not edit it. Read it on GitHub

Attest

Attest controls and proves risky AI actions before they hit production systems. It gives agents signed, scope-limited credentials, routes high-risk mutations through policy and optional approval, issues short-lived execution grants, and leaves signed receipts that can be verified later.

This repository also includes a standalone MCP server:

  • TypeScript MCP server — a real stdio Model Context Protocol server that exposes Attest tools like issuecredential, delegatecredential, listtasks, getaudittrail, getevidence, and approval actions.
  • TypeScript MCP middleware — middleware for protecting your own MCP server with Attest.

Quickstart (TypeScript)

import { AttestClient } from '@attest-dev/sdk';

const client = new AttestClient({ baseUrl: 'http://localhost:8080', apiKey: 'dev' });

// 1. Issue a root credential for your agent workflow
const root = await client.issue({
  agent_id: 'support-bot',
  user_id: 'alice@acme.com',
  scope: ['refund:execute', 'credit:execute'],
  instruction: 'Review support incidents and safely process eligible refunds.',
});

// 2. Request a risky action before touching the target system
const action = await client.requestAction({
  action_type: 'refund',
  target_system: 'stripe',
  target_object: 'order_ORD-4821',
  action_payload: {
    amount_cents: 4799,
    currency: 'USD',
    reason: 'damaged_item',
  },
  agent_id: 'support-bot',
  sponsor_user_id: 'alice@acme.com',
  att_tid: root.claims.att_tid,
});

if (action.status !== 'approved' || !action.grant?.token) {
  throw new Error(`refund needs approval: ${action.status}`);
}

// 3. Execute with the short-lived grant, then record the receipt
const receipt = await client.executeAction(action.id, {
  outcome: 'success',
  provider_ref: 're_abc123',
  response_payload: { stripe_status: 'succeeded' },
});
console.log(receipt.signed_packet_hash);

Scope syntax

Scopes follow the pattern resource:action. Either field may be * as a wildcard.

Delegation still enforces that child scope is a strict subset of the parent scope. The Action API builds on top of that delegation substrate to gate risky writes.

Getting started

Prerequisites: Docker and Docker Compose.

# Clone and start everything
git clone https://github.com/chudah1/attest-dev
cd attest-dev
docker compose up --build

# The server is now running at http://localhost:8080
# PostgreSQL at localhost:5432

# Issue your first credential (replace YOUR_API_KEY with the key from POST /v1/orgs)
curl -s -X POST http://localhost:8080/v1/credentials \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
    "agent_id":    "orchestrator-v1",
    "user_id":     "usr_alice",
    "scope":       ["research:read", "gmail:send"],
    "instruction": "Research competitors and email the board"
  }' | jq .

# Open the interactive demo
open demo/index.html

If you want to run the Go server outside Docker, point it at the Compose database:

docker compose up -d postgres
cd server
DATABASE_URL=postgres://attest:attest@localhost:5432/attest go run ./cmd/attest

API reference

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Attest: common questions

Is Attest MCP server safe?
Mostly: it is graded B (82/100). Read the Attest safety report
How do I install Attest?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Attest need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is Attest maintained?
The last commit was 182 days ago (2026-05-06). The latest release is v0.1.0.
How does Attest compare with other MCP servers?
safety score 82/100 (higher than 63% of 48,255 servers); tools 1 (the typical server has 7); tools that change things 100% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.