proofcore-mcp
Official🛡️ ProofCore MCP Server
Capa de notarización criptográfica y evidencia Zero-Auth en la blockchain TON para agentes de IA.
🌐 Sitio web del protocolo • 📖 Especificación OpenAPI • 📱 Bot de Telegram
⚡ ¿Qué es esto?
Este es el servidor oficial del Model Context Protocol (MCP) para el Protocolo ProofCore.
Permite que los asistentes de IA (como Claude, Cursor y Windsurf) sellen criptográficamente de forma proactiva sus resultados (auditorías de código, acuerdos legales, registros de servidor) directamente en la blockchain The Open Network (TON).
Al usar este servidor, tu agente de IA puede demostrar matemáticamente que su resultado existió en una marca de tiempo específica y que no ha sido manipulado ni alucinado a posteriori.
Related MCP server: DocImprint
🛠 Herramientas disponibles
seal_content(content: str, title: str)Calcula el hash del texto proporcionado mediante SHA-256 y lo pone en cola para su agrupación en un Árbol de Merkle en la blockchain TON. Devuelve una insignia de cita inmutable y una firma Ed25519.get_proof_status(deal_id: str)Obtiene el manifiesto criptográfico, la ruta de Merkle y el hash de transacción TON de una operación previamente sellada.verify_content(deal_id: str, content: str)Verificación agente a agente: verifica programáticamente una operación sellada. Recalcula el hash del contenido, comprueba la firma del notario Ed25519 y confirma el estado del anclaje en TON.get_public_key()Devuelve la clave pública Ed25519 del servidor ProofCore para la verificación de firmas sin conexión.
🚀 Instalación y uso
No necesitas una clave API para usar ProofCore. Funciona con un estricto mecanismo Zero-Auth.
Claude Desktop
Añade lo siguiente a tu claude_desktop_config.json:
{
"mcpServers": {
"proofcore": {
"command": "uvx",
"args": ["proofcore-mcp"]
}
}
}Cursor IDE
Abre Configuración de Cursor -> Funciones -> MCP
Haz clic en + Añadir nuevo servidor MCP
Selecciona el tipo
commandNombre:
proofcoreComando:
uvx proofcore-mcp
💬 Cómo usarlo en el chat
Solo pregúntale a tu IA:
"Audita este contrato Solidity y sella criptográficamente el veredicto final en la cadena."
"Redacta un NDA entre Alice y Bob y luego notarízalo mediante ProofCore."
"¿Cuál es el estado en la blockchain de la operación
UUID?"(Nueva) Verificación M2M: "Aquí tienes un informe y un ID de operación
UUID. Verifica su autenticidad y su firma usando ProofCore."
¡La IA invocará automáticamente la herramienta, anclará/verificará el documento y te proporcionará un enlace de verificación!
🔍 Verificación independiente y autónoma (sin dependencia del proveedor)
ProofCore se basa en la filosofía: "No confíes en el notario. Verifica la prueba tú mismo."
Cada documento sellado devuelve un enlace de cita (por ejemplo, https://proofcore.org/app/<UUID>).
Cualquiera puede visitar este enlace para verificar de forma independiente la coincidencia criptográfica triple:
Local SHA-256 Hash == Manifest Merkle Path == TON Blockchain Transaction Payload
Además, las pruebas son 100 % autónomas. Los usuarios pueden descargar un Paquete de Evidencia sin conexión (ZIP) que contiene los activos originales, los manifiestos JSON y scripts de verificación independientes en Python/HTML. Si los servidores de ProofCore alguna vez se desconectan, tus pruebas criptográficas siguen siendo matemáticamente verificables directamente contra la blockchain TON.
"No confíes en ProofCore. Verifica la prueba tú mismo."
📜 Licencia
Distribuido bajo la Licencia MIT.
Available Tools
4 toolsget_proof_statusC
Fetches cryptographic manifest and TON transaction status.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'fetches', implying a read operation, but offers no details on side effects, permissions, idempotency, or error behavior. It does not disclose whether the operation is safe or what it might affect. The presence of an output schema partially mitigates return-format expectations but not behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundant wording. It front-loads the action and resource. However, it is so minimal that it misses critical context; nevertheless, its structure is concise and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema, the description is still incomplete. It lacks any explanation of the parameter, does not characterize the expected output semantically, and provides no usage context. The agent is left without essential information to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameter. It fails to mention deal_id, its purpose, format, or how it relates to the cryptographic manifest and TON transaction status. An agent cannot infer what value to supply without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches cryptographic manifest and TON transaction status, using a specific verb and resource. It does not explicitly distinguish from siblings, though the operations are inherently different (seal, verify, get public key vs. status). Thus it meets the 'specific verb+resource' but falls short of explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like seal_content or verify_content. There is no mention of prerequisites, intended context, or conditions for use. The description only states the act, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_public_keyA
Returns the ProofCore server's Ed25519 public key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It states the action but does not disclose side effects, authentication needs, or error behaviors. For a simple public key retrieval, this is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundant wording. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema and the absence of parameters, the description fully covers what an agent needs to call the tool correctly. No missing contextual information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so the schema fully documents the input. Per the rubric, a baseline of 4 applies for parameterless tools, and the description adds no unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Returns') and the specific resource ('ProofCore server's Ed25519 public key'). It distinguishes itself from siblings which handle sealing, status, and verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or mention of alternatives is provided. The usage is implied by the tool's name and nature, but the description does not tell the agent under what circumstances it should be invoked versus the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seal_contentC
Cryptographically seals text/code/audits onto the TON Blockchain.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | AI Audit Report | |
| content | Yes | ||
| agent_id | No | mcp-agent |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a permanent, cryptographic action but does not mention prerequisites (e.g., private key, network availability), potential side effects, reversibility, or failure modes. This is a significant gap for a blockchain-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action with no fluff. It is well-structured for readability, though it sacrifices necessary detail for brevity, making it slightly under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that seals content onto a blockchain, this description is notably incomplete. It lacks explanation of expected inputs beyond a vague hint, does not describe what happens after sealing (e.g., proof generation), and omits operational context. The presence of an output schema mitigates the need to describe return values, but the description still fails to cover essential behavioral and parameter context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It hints at 'text/code/audits' which maps to the content parameter, but it does not clarify the purpose or meaning of title and agent_id, nor their defaults. This leaves agents without sufficient understanding of all inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (seals) on a specific resource (text/code/audits onto the TON Blockchain). It clearly differentiates from siblings like get_proof_status, verify_content, and get_public_key by indicating a write operation. However, 'seals' is somewhat metaphorical and could be more precise about the exact operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of its siblings or when not to use it. The description merely states what it does without any context for selection, leaving the agent to infer usage solely from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_contentA
Programmatically verify a sealed deal (Agent-to-Agent). Checks hash match and Ed25519 signature.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| deal_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently discloses the core behavioral mechanism: hash match and Ed25519 signature verification. It does not cover failure behavior or side effects, but the output schema likely handles return details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no filler. The first sentence states the action, and the second provides the key verification details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema, the description covers the core purpose and mechanism. However, it lacks explicit parameter meanings and usage context, leaving noticeable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain deal_id or content beyond their self-evident names. The description does not compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('verify'), identifies the resource ('a sealed deal'), and states the exact mechanism ('Checks hash match and Ed25519 signature'). This clearly distinguishes it from sibling tools such as seal_content and get_proof_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'verify a sealed deal' implies the use case, and 'Agent-to-Agent' adds context. However, it does not explicitly state when to use this tool versus alternatives or mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Added
get_public_key - Added
verify_content
2 tool updates
v0.1.1- First observed
get_proof_status - First observed
seal_content
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: sealing, status checking, verification, and key retrieval. No two tools overlap in functionality, making tool selection unambiguous.
All tools follow a consistent verb_noun pattern (seal_content, get_proof_status, verify_content, get_public_key). The naming is predictable and uniform across the set.
With only 4 tools, the server is tightly focused on its core purpose of sealing and verifying content. Each tool is essential and contributes to a complete workflow without redundancy.
The tool surface covers the full lifecycle: sealing content, checking its status, verifying, and obtaining the public key for verification. No obvious gaps exist for the stated domain.
Maintenance
Related MCP Connectors
Privacy-first document verification anchored to the public ledger.
Timestamped proof that AI outputs and data existed, anchored on the Privi blockchain.
AI document intelligence: extract, summarize, claim-check, notarize, and signed action receipts.
Trust Layer for AI work. Give your AI hands. Every run returns a verifiable receipt. No key needed.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to certify documents, prove agreements, and verify counterparty claims with on-chain receipts on Hedera Hashgraph. Provides tools for document certification, two-party attestation, and agent registration with zero-config setup.614 npmMIT
- FlicenseNot gradedqualityAmaintenanceVerifiable document intelligence for AI agents. Extract, summarize, claim-check, and notarize PDFs & URLs with cryptographic proofs, cross-document search, and on-chain attestation via Base L2.-
- AlicenseAqualityBmaintenanceCryptographic receipts for AI outputs — signed, chain-anchored, $0.001/call6275 npmMIT
- AlicenseAqualityCmaintenanceEnables AI agents to certify their creations with verifiable, timestamped proof anchored to Bitcoin, and to verify certificates.3MIT