Koskamo

Blankas MCP

Blankas enables AI agents to create, sign, and verify cryptographically verifiable agreements. It allows agents to issue numbered blank forms, co-sign terms, and verify signatures using Ed25519 keys, ensuring both parties have identical proof of what was agreed without revealing private keys.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Blankas MCP logo, by sirsinatoriai-pngCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by sirsinatoriai-png
MCP endpoint (Streamable HTTP)
https://pvl.app.n8n.cloud/mcp/blankas-mcp
Vendor documentation

What you can do with it

  • Issue a blank agreement form between two AI agents
  • Co-sign deal terms and exchange signatures
  • Verify the validity of a signed agreement document
  • Mark a deal hash with a signed timestamped receipt

Source and maintenance

Community listingRegistry 0.1.0

Protocol and capabilities

Server
Blankas_MCP 0.1.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Blankas issues numbered, issuer-signed blank forms for deals between two AI agents. Flow: 1) blankas_issue with both parties public keys; 2) both parties fill the same content (form agent-deal-v1, see blankas_spec) and each signs the deal hash with its own Ed25519 key on its own side; 3) blankas_verify the completed document. Optional: blankas_mark registers a timestamped mark that contains only the hash. To sign without writing code, run the local Blankas signer MCP server, which keeps keys on the agent's own machine: uvx --from git+https://github.com/sirsinatoriai-png/Blankas blankas-mcp. Blankas never holds money and never needs private keys.

Tools

6 advertised

blankas_marks
Advertised by the server during the last successful anonymous check.

Look up timestamped proofs (marks) of an agreement between AI agents by blank ID.

blankas_marks input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "blank_id"
  ],
  "properties": {
    "blank_id": {
      "type": "string",
      "description": "Blank ID, for example BLK-000001-7afb11"
    }
  },
  "additionalProperties": true
}
blankas_mark
Advertised by the server during the last successful anonymous check.

Timestamp proof that both AI agents signed an agreement: registers only the deal hash, never the terms. Kept 72 hours.

blankas_mark input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "blank",
    "deal_hash",
    "signatures"
  ],
  "properties": {
    "blank": {
      "description": "The issued blank object exactly as returned by blankas_issue"
    },
    "deal_hash": {
      "type": "string",
      "description": "Deal hash: 64-character lowercase hex SHA-256"
    },
    "signatures": {
      "description": "Object with Ed25519 signatures a and b over the deal hash, base64url"
    }
  },
  "additionalProperties": true
}
blankas_verify
Advertised by the server during the last successful anonymous check.

Verify a co-signed agreement between AI agents. The document parameter must be the complete JSON object {blank, content, deal_hash, signatures}, not text. Checks the issuer signature, the terms and both party signatures; use it as proof of agreement or dispute evidence. Free. To look up timestamped marks by blank ID, use blankas_marks instead.

blankas_verify input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "document"
  ],
  "properties": {
    "document": {
      "description": "The complete JSON object {blank, content, deal_hash, signatures}, not text"
    }
  },
  "additionalProperties": true
}
blankas_issue
Advertised by the server during the last successful anonymous check.

Start a verifiable agreement between two AI agents: issues a numbered, issuer-signed blank form for a deal, contract, order or service terms. Both parties then sign the same terms with their own keys, so each holds proof of agreement. Uses one free blank. Never send private keys.

blankas_issue input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "party_a",
    "party_b"
  ],
  "properties": {
    "party_a": {
      "description": "Public keys of party A: object with sign (Ed25519) and box (X25519), each 32 raw bytes as base64url without padding"
    },
    "party_b": {
      "description": "Public keys of party B in the same format as party_a, different from party A"
    }
  },
  "additionalProperties": true
}
blankas_spec
Advertised by the server during the last successful anonymous check.

How to make a verifiable, co-signed agreement (contract) between two AI agents with Blankas: form fields, canonical JSON, deal hash and Ed25519 signing rules.

blankas_spec input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {},
  "additionalProperties": true
}
blankas_info
Advertised by the server during the last successful anonymous check.

Status of Blankas, a free service for verifiable agreements between AI agents: issuer public key, free blanks left, links to the spec and to the local signer. Call this first.

blankas_info input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {},
  "additionalProperties": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1270 ms
95th percentile latency
1270 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1270 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http blankas-mcp https://pvl.app.n8n.cloud/mcp/blankas-mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add blankas-mcp --url https://pvl.app.n8n.cloud/mcp/blankas-mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable blankas-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "blankas-mcp": {
      "url": "https://pvl.app.n8n.cloud/mcp/blankas-mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "blankas-mcp": {
      "type": "streamableHttp",
      "url": "https://pvl.app.n8n.cloud/mcp/blankas-mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start blankas-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "blankas-mcp": {
      "type": "http",
      "url": "https://pvl.app.n8n.cloud/mcp/blankas-mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http blankas-mcp https://pvl.app.n8n.cloud/mcp/blankas-mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "blankas-mcp": {
      "url": "https://pvl.app.n8n.cloud/mcp/blankas-mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "blankas-mcp": {
      "serverUrl": "https://pvl.app.n8n.cloud/mcp/blankas-mcp"
    }
  }
}

Let your agent find its tools

Find servers like Blankas MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.