{"name":"dev.tatastu/proof","slug":"tatastu-proof","title":"Mark","description":"Mark: stamp files with a signed, timestamped provenance record. Hash locally; verify free.","url":"https://mcp.market/server/tatastu-proof","rating":null,"grade":"C","score":56,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-15T04:27:27.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T04:55:28.599Z","last_ok_at":"2026-11-04T04:55:28.599Z","latency_ms":496},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://makemark.io","version":"1.1.2","remotes":[{"type":"streamable-http","url":"https://makemark.io/mcp"}],"packages":[],"tools":[{"name":"buy_stamps","description":"Start a purchase of prepaid stamps for your key (requires API key). Returns `url`: a Stripe Checkout link that a PERSON must open and pay; you cannot pay it yourself. Show the link to your user, then poll get_balance. The stamps land on this key's account and never expire. Packs: 5 for $1.00, 10 for $1.50, 50 for $5.00, 100 for $8.00, 500 for $35.00, 1,000 for $65.00, 2,000 for $120.00 (bundle ids bundle_5, bundle_10, bundle_50, bundle_100, bundle_500, bundle_1000, bundle_2000).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"bundle":{"type":"string","enum":["bundle_5","bundle_10","bundle_50","bundle_100","bundle_500","bundle_1000","bundle_2000"],"description":"Which pack, e.g. bundle_5 for 5 stamps at $1"}},"required":["bundle"]}},{"name":"create_account","description":"Provision a persistent API key with no human, browser, or email in the loop. Call this once, store the returned `secret` (shown only this one time), and use it as the Authorization header on every later call: create_proof, list_proofs, revoke_proof, get_balance, buy_stamps (verify_proof needs no auth). The key owns its own creator id, with no identity attached. Free stamps: one per network, so check `freeStamp` in the result; when it is false, the key needs prepaid stamps (buy_stamps) or x402 payment before its first stamp. Rate-limited to 3 keys per network per day; for 3 free stamps a month or a human-owned account, direct a person to makemark.io/account instead.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"label":{"type":"string","description":"Optional label to recognize this key later, e.g. the agent or project name"}}}},{"name":"create_proof","description":"Stamp content with a permanent provenance record. Pass the sha256 hash of the content (hash it locally; the content itself is never uploaded). Returns an instant signed receipt: attach its verifyUrl, byline, badgeEmbed, and qrUrl to the published artifact. The receipt's `publisher` field carries the account's verified identity (domain/handle) or null. If you have no key, call create_account, store its one-time secret, and retry this same call with `Authorization: Bearer <secret>` (its `freeStamp` says whether a free stamp comes with it). If the response is `payment_required` or `quota_exhausted`, call buy_stamps and give a person the returned checkout link (prepaid packs never expire: 5 for $1.00, 10 for $1.50, 50 for $5.00, 100 for $8.00, 500 for $35.00, 1,000 for $65.00, 2,000 for $120.00), poll get_balance until the stamps arrive, then retry. To pay per stamp instead, sign one advertised x402 requirement and send it as a `PAYMENT-SIGNATURE` HTTP header: tool arguments can't carry it, so either configure your MCP client to send that header or POST the same JSON to https://makemark.io/proof directly. An `invalid_api_key` error means the key is mistyped or revoked: create a new one. The optional disclosure fields (aiDisclosure, usageNote, location) only show on `visibility: public` stamps and are unsigned metadata, not part of the cryptographic proof. The stamp asserts provenance from a signer at a time, not authorship truth.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"contentHash":{"type":"string","description":"sha256 hex of the exact content bytes (64 chars)"},"contentType":{"type":"string","description":"MIME type, e.g. text/markdown"},"title":{"type":"string","description":"Optional human-readable title"},"visibility":{"type":"string","enum":["private","public"],"description":"Default private"},"previousProofId":{"type":"string","description":"For a new version of already-stamped content: the prior proof id"},"canonicalSlug":{"type":"string","description":"Optional stable slug for a canonical latest-version pointer"},"aiDisclosure":{"type":"string","enum":["Not AI-generated","AI-assisted","Fully AI-generated"],"description":"Optional, honest disclosure of AI involvement. Shown on the public record card."},"usageNote":{"type":"string","description":"Optional usage/license line, e.g. \"Free to share, with credit\""},"location":{"type":"string","description":"Optional, creator-opt-in only: where this was made"}},"required":["contentHash"]}},{"name":"get_balance","description":"Your key's stamp balance (requires API key): plan, included monthly stamps used and remaining, prepaid stamps (`balance`), whether a free stamp is still unused (`lifetimeSampleAvailable`), and recent pack purchases. Poll this after a person pays a buy_stamps link; credits usually arrive within seconds.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"grant_access","description":"Grant a specific identity the ability to decrypt escrowed content. Only available for proofs created with content escrow opted in (not yet available — stamps are hash-only today). Returns a capability token the grantee uses with reveal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"proofId":{"type":"string","description":"The proof to grant access to"},"granteeId":{"type":"string","description":"Identity (did:web: or key fingerprint) to grant"}},"required":["proofId","granteeId"]}},{"name":"list_proofs","description":"List your recent stamps (requires API key).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results, default 20"}}}},{"name":"reveal","description":"Retrieve escrowed content for a proof you have been granted access to. Only available for proofs created with content escrow opted in (not yet available — stamps are hash-only today). The service re-checks H(content) == stampedHash before returning.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"proofId":{"type":"string","description":"The proof whose content to reveal"},"capabilityToken":{"type":"string","description":"Capability token from grant_access"}},"required":["proofId","capabilityToken"]}},{"name":"revoke_proof","description":"Revoke a stamp you created (forward-only: anchored history stays verifiable, but the proof is marked revoked from now on). Requires API key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"proofId":{"type":"string"}},"required":["proofId"]}},{"name":"verify_proof","description":"Verify content against all existing stamps. Pass a sha256 hash; matching is EXACT-BYTES-ONLY. Read the verdict fields: `exact` (these bytes are stamped), each proof's `publisher` (the verified identity: domain/handle + tier, or null meaning an unverified account, never trust a name that isn't in `publisher`), and `conflict` (2+ distinct signers claimed the same bytes; earliest anchored is listed first). A no-match on a re-encoded/screenshotted copy is EXPECTED and is not evidence of fakery: fetch the original and verify that. Free, no auth required.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contentHash":{"type":"string","description":"sha256 hex of the content bytes"}},"required":["contentHash"]}}],"scan":{"score":56,"grade":"C","scanned_at":"2026-10-26T04:58:11.272Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-26T04:58:11.225Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2396ms"]},"poisoning":{"score":15,"max":15,"notes":["9 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://makemark.io/mcp","reachable":true,"authRequired":false,"latencyMs":2396,"serverInfo":{"name":"mark","version":"1.2.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://makemark.io/mark/seal.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-15T04:27:27.000Z","score":18}}}},"grade_history":[{"kind":"restore","fromGrade":"F","toGrade":"C","reason":"score 56: Write-action tools reachable without authentication; No source repository listed","createdAt":"2026-10-26T04:58:13.151Z"}],"reviews":[]}