Redeal
by redeal.dev · remote · no sign-in to list tools · v0.7.0 · published by dev.redeal
Neutral fairness computation for agents: fair division, verifiable random, Shapley shares.
12 tools: 6 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http redeal https://api.redeal.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Infoget_certificate
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
- Infoget_deal
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
- Infoget_entropy
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
The description mentions "credential".
What this check looks forMatched text
description: "...ion check, reported per check. Free, no credential required, always."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Changes things 6Claude Code: ask
commit_inputCommit your sealed input as a hash (sealed mode).No findings
Why it is in this group
- The name "commit_input" says "commit": a word for a change.
Description, as the server wrote it Commit your sealed input as a hash (sealed mode). Nobody — including redeal — can see your input until all parties have committed. After the last commitment the deal opens for reveals immediately.
compute_commitment_toolCompute a commitment string for (input, salt): sha256(JCS(input) ++ salt_bytes), prefixed 'sha256:'.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Compute a commitment string for (input, salt): sha256(JCS(input) ++ salt_bytes), prefixed 'sha256:'. Convenience only — the rule is public and you can compute it yourself.
create_dealCreate a fairness deal.No findings
Why it is in this group
- The name "create_deal" says "create": a word for a change.
Description, as the server wrote it Create a fairness deal. You are party 0 (initiator). Returns a deal id and one invite token per party — give each counterparty their own token. Sealed mode: everyone commits a hash, then reveals; certificate is issued automatically when the deal computes or goes VOID.
create_keyGet a free redeal API key.No findings
Why it is in this group
- The name "create_key" says "create": a word for a change.
Description, as the server wrote it Get a free redeal API key. No signup, no email — this is the entire onboarding. The key is shown once; store it. Use it as api_key in create_deal.
reveal_inputReveal your committed input.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Reveal your committed input. It must hash to your earlier commitment. When the last party reveals, the deal computes and the fairness certificate is issued automatically — fetch it with get_certificate.
verify_certificateVerify a redeal certificate by id: signature check (current or published legacy key) + transparency-log inclusion check, reported per check.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...ion check, reported per check. Free, no credential required, always."
Description, as the server wrote it Verify a redeal certificate by id: signature check (current or published legacy key) + transparency-log inclusion check, reported per check. Free, no credential required, always.
Only reads 6Claude Code: allow
get_certificateFetch the signed fairness certificate for a finished deal (state CERTIFIED).1 finding
Why it is in this group
- The name "get_certificate" says "get": a word for reading.
Findings
- Info
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
Description, as the server wrote it Fetch the signed fairness certificate for a finished deal (state CERTIFIED). Includes the labelled signature (es256 or ed25519) and transparency-log inclusion proof. Verify it with verify_certificate.
get_dealRead a deal's public state: protocol state (OPEN/COMMITTING/REVEALING/CERTIFIED/VOID/EXPIRED), who has committed/revealed, deadlines, result, and certificate_id once issued.1 finding
Why it is in this group
- The name "get_deal" says "get": a word for reading.
Findings
- Info
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
Description, as the server wrote it Read a deal's public state: protocol state (OPEN/COMMITTING/REVEALING/CERTIFIED/VOID/EXPIRED), who has committed/revealed, deadlines, result, and certificate_id once issued. Inputs of other parties are never exposed.
get_entropyFinish a random.v1 deal once every party has revealed: redeal fetches the deal's pre-declared drand round from the public League of Entropy beacon (fixed at creation, publicly cros…1 finding
Why it is in this group
- The name "get_entropy" says "get": a word for reading.
Findings
- Info
The input schema at required[0] mentions "credential".
What this check looks forMatched text
inputSchema.required[0]: "credential"
Description, as the server wrote it Finish a random.v1 deal once every party has revealed: redeal fetches the deal's pre-declared drand round from the public League of Entropy beacon (fixed at creation, publicly cross-checkable), computes the draw, and issues the certificate. Call this after the last reveal_input; the deal rests in REVEALING until you do. Idempotent — safe to retry.
get_public_certificateFetch a certificate's full JSON (outcome included) by id.No findings
Why it is in this group
- The name "get_public_certificate" says "get": a word for reading.
Description, as the server wrote it Fetch a certificate's full JSON (outcome included) by id. Works for public deals (the default). Parties-only deals and unknown ids both return NOT_FOUND. To re-verify the computation itself, use verify_certificate (checks) or the CLI re-runner with the parties' inputs.
list_algorithmsList redeal's algorithms (split.v1 fixed-budget fair division, random.v1 verifiable random selection, shapley.v1 Shapley shares, auction.v1 sealed-bid second-price auctions) with t…No findings
Why it is in this group
- The name "list_algorithms" says "list": a word for reading.
Description, as the server wrote it List redeal's algorithms (split.v1 fixed-budget fair division, random.v1 verifiable random selection, shapley.v1 Shapley shares, auction.v1 sealed-bid second-price auctions) with their input contracts and the published test vectors (served inline — the same fixtures the engine test suite runs). Read this before creating a deal.
validate_inputValidate your algorithm input against the deal's contract BEFORE you commit.No findings
Why it is in this group
- The name "validate_input" says "validate": a word for reading.
Description, as the server wrote it Validate your algorithm input against the deal's contract BEFORE you commit. A commitment binds the exact input bytes — a contract-violating input (e.g. split.v1 valuations not summing to exactly 1000) can never be corrected afterwards and the deal will VOID at the reveal deadline. Always validate first, then compute_commitment_tool, then commit_input. Read-only: nothing is stored or changed.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.7.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http redeal https://api.redeal.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__redeal__get_certificate",
"mcp__redeal__get_deal",
"mcp__redeal__get_entropy",
"mcp__redeal__get_public_certificate",
"mcp__redeal__list_algorithms",
"mcp__redeal__validate_input"
],
"ask": [
"mcp__redeal__commit_input",
"mcp__redeal__compute_commitment_tool",
"mcp__redeal__create_deal",
"mcp__redeal__create_key",
"mcp__redeal__reveal_input",
"mcp__redeal__verify_certificate"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as redeal. Review it before you use it.