SERVIDOR MCP

Configuración

El servidor MCP le permite a Claude Desktop, Cursor, Windsurf, Hermes Agent, OpenClaw y cualquier cliente compatible con MCP usar ChainMemory como herramienta nativa.

Instalación

Agregá esta configuración a tu claude_desktop_config.json:

JSON
{
  "mcpServers": {
    "chainmemory": {
      "command": "npx",
      "args": ["-y", "chainmemory-mcp"],
      "env": {
        "CHAINMEMORY_API_KEY": "tu-api-key"
      }
    }
  }
}

Reiniciá el cliente después. Publicar una versión nueva en npm no actualiza a los clientes que ya están corriendo: el paquete se descarga cuando el cliente arranca.

Conseguir tu API Key En la extensión Chrome, click en "View key" para ver y copiar la clave completa. La pestaña Settings la muestra abreviada, sólo para identificarla.
Servicio externo ChainMemory es un protocolo independiente. No es parte de Claude, ChatGPT, Cursor ni de ningún proveedor de IA. Cualquier cliente compatible con MCP se conecta con una API key. Tus memorias son tuyas, no del proveedor de IA.

Herramientas disponibles

La versión actual expone 34 herramientas. Leer es gratis; las operaciones que cuestan AIC están marcadas. Ver Costos para la tabla completa.

Memoria

HerramientaQué haceCosto
chainmemory_rememberGuarda una memoria vinculada a un proyecto, con tags, categoría e importancia (1–10)0.001 AIC + almacenamiento
chainmemory_recallDevuelve tus memorias más recientes, de la más nueva a la más vieja. No busca: lista. Devuelve vistas previas de 80 caracteresgratis
search_memoriesBúsqueda semántica sobre tus memorias, devolviendo el texto completo de cada coincidenciagratis
get_memoryLee una memoria completa, descifrada desde la cadena, con verificación de integridad contra su hash ancladogratis
list_memories_filteredLista memorias por proyecto y estado de archivado. Devuelve vistas previas de 80 caracteresgratis
update_memory_tagsReemplaza los tags de una memoriagratis
archive_memory · unarchive_memoryOculta una memoria de listados e inyecciones, o la restaura. En los dos casos sigue en el registrogratis
chainmemory_sealSella una memoria de forma permanente on-chain para que ya no pueda modificarse. Requiere clave de wallet0.001 AIC

Verificación

HerramientaQué haceCosto
get_memory_proofLa prueba de anclaje compartible de una memoria: su event_hash y sus coordenadas on-chain. Un tercero la verifica sin tu API key, y el contenido nunca se exponegratis
verify_project_statePrueba pública y sin autenticación de un Project State: cada versión anclada con su state_hash, id de ancla, transacción y bloque, más cómo verificarlo vos mismo en el contratogratis
audit_memoryAuditoría forense de una memoria: recomputa su hash desde el contenido guardado y lo compara contra el anclado0.1 AIC — gratis con dry_run
audit_stateAuditoría completa de un Project State: recomputa el state_hash con el motor determinista y devuelve el ancla más el historial de versiones5 AIC — gratis con dry_run

Project State

HerramientaQué haceCosto
get_project_stateEl estado consolidado: visión, fase, foco actual, decisiones, riesgos, supuestos, preguntas abiertas, prioridades, constraints, métricas, vocabulario y entorno de trabajo — más su state_hash y su ancla on-chain. Con include_roles: false omite el texto de los contratos de rolgratis
update_project_statePropone operaciones de la gramática de 29 ops. El servidor valida, las aplica con el builder determinista, recomputa el hash y persiste0.05 AIC + 0.005 por op aplicada

Verifiable Role Contracts

HerramientaQué haceCosto
list_role_contractsLista los roles definidos en un proyecto con su versión y estado. Llamala primero: los ids de rol no se adivinangratis
get_role_contractLee el contrato de un rol: propósito, reglas con sus checks y severidad, protocolo de trabajo. Acepta version para auditar uno anteriorgratis
assume_roleAbre una sesión de rol auditada bajo un contrato activo. Fija el hash del contrato y el state_hash del Brain, y entrega el entorno de trabajo declarado por el dueño0.001 AIC
release_roleCierra una sesión con un resumen de lo hecho y lo pendiente. Las sesiones se auto-liberan a los 60 minutosgratis
list_role_sessions · get_role_sessionEl rastro de auditoría: quién asumió qué rol, cuándo, cómo cerró, y a qué hashes quedó atada la sesióngratis

Inyección

HerramientaQué haceCosto
quote_injectCotiza una inyección antes de pagarla: qué ids existen y cuáles no, total de caracteres, costo exacto con su reparto, y si tu saldo alcanzagratis
inject_memoriesInyecta hasta 50 memorias en la conversación actual. Optimista: el texto vuelve enseguida y el pago se confirma en segundo plano0.1 AIC por llamada
get_inject_balance · get_inject_historyTu saldo de AIC y para cuántas inyecciones alcanza; el historial de inyecciones con su costogratis
get_my_contextTu memoria reciente como contexto portable listo para inyectar, entre todas las plataformasgratis

Proyectos e identidad

HerramientaQué haceCosto
list_projects · create_project · delete_projectGestión de tus proyectos y sus palabras clave de auto-etiquetadogratis
list_project_templates · add_project_from_templatePlantillas incluidas: general, development, blockchain, business, personal, researchgratis
chainmemory_registerRegistra una identidad de IA en la cadena. Necesario una vez antes de escribir memoriasgratis
chainmemory_profile · chainmemory_statsEl perfil de tu identidad y las estadísticas de la redgratis

Consolidación autónoma

Cualquier cliente de IA puede consolidar el estado del proyecto de forma autónoma con update_project_state. Ésta es la arquitectura "el cliente consolida, la cadena verifica": el modelo propone, el servidor valida, y recién ahí se convierte en estado.

1

Leer el estado actual

Llamar a get_project_state para cargar el estado consolidado y su marca de agua consolidated_until_event.

2

Analizar lo nuevo

Con list_memories_filtered o search_memories, leer las memorias creadas después de la marca de agua para identificar qué cambió.

3

Proponer las operaciones

Armar un array de operaciones de la gramática de 29 ops y enviarlo por update_project_state.

4

El servidor valida y persiste

Cada operación se valida contra la gramática, se aplica con el builder determinista, se computa el nuevo state_hash (SHA3-256), se vincula la evidencia con árboles Merkle, y se persiste la versión. Las operaciones inválidas se rechazan individualmente — las válidas se aplican igual.

Gramática de operaciones (29 ops)

Cada operación tiene un tipo (op) y sus propios argumentos. Usá evidence_memory_ids — un array de números de memoria — para vincular la evidencia que la respalda; el servidor resuelve los event hashes automáticamente.

OperaciónCampos requeridosDescripción
add_decisiontitle, statementRegistra una decisión. Sin status se crea como proposed
set_decision_statusid, toCambia el estado (proposed / confirmed / superseded)
supersede_decisionid, by_idMarca una decisión como reemplazada por otra
add_milestonetitleRegistra un milestone
set_milestone_statusid, toActualiza su estado
add_risktitle, severityDocumenta un riesgo
set_risk_statusid, toCambia su estado (open / closed)
add_assumptionstatementRegistra un supuesto
invalidate_assumptionidMarca un supuesto como inválido
add_open_questionquestionRegistra una pregunta abierta
answer_open_questionid, answerLa responde
add_prioritytitle, priority_scoreAgrega un ítem priorizado
set_priority_statusid, toCambia su estado (active / done)
reorder_priorityid, priority_scoreCambia su score
set_focusvalueActualiza el foco actual
set_phasevalueActualiza la fase del proyecto
set_visionstatementActualiza la visión
add_vocabulary · update_vocabularyterm, definitionDefine o redefine un término
add_constraintstatementAgrega una restricción
remove_constraintidQuita una restricción
set_metricname, valueFija o actualiza una métrica. No acepta evidence_memory_ids
add_env_host · add_env_service · add_env_repo · add_env_rulevarían según el tipoDescriben dónde y cómo trabaja el dueño: hosts, servicios, repositorios y reglas operativas
set_env_status · verify_env · supersede_envidActualizan, confirman como vigente, o retiran un ítem del entorno
Los nombres de campo son exactos La causa más común de rechazo es un nombre de argumento equivocado. set_metric usa name, no key. supersede_decision usa by_id, no superseded_by. Y set_metric rechaza evidence_memory_ids, que el resto de las operaciones aditivas sí acepta. Como el fee tiene una base fija por llamada, mandar todo en una sola llamada sale más barato que descubrir firmas de a una.
Entorno: topología, nunca credenciales Las siete operaciones *_env_* describen dónde trabaja el dueño para que una IA lo sepa desde su primer mensaje. Guardan sólo topología: hosts, puertos, rutas, reglas. El servidor rechaza credenciales, claves y contraseñas.

Ejemplo

JSON — llamada a update_project_state
{
  "project": "mi-proyecto",
  "ops": [
    {
      "op": "add_decision",
      "title": "Migrar a PostgreSQL",
      "statement": "SQLite no soporta escrituras concurrentes a la escala actual",
      "evidence_memory_ids": [142, 145]
    },
    {
      "op": "set_metric",
      "name": "db_migration_status",
      "value": "planning"
    },
    {
      "op": "add_milestone",
      "title": "Migración a PostgreSQL aprobada por el equipo",
      "status": "done",
      "evidence_memory_ids": [145]
    }
  ],
  "consolidated_until_event": 150
}
Procesamiento resiliente Las operaciones se aplican de a una. Si una falla la validación, se rechaza y el resto se aplica igual. La respuesta incluye applied_count y el detalle de cada rechazo. Sólo se cobran las operaciones aplicadas, y si el estado resultante es idéntico al anterior, no se cobra nada.

Flujo de trabajo

El flujo típico con MCP:

1

Inicio de sesión

Pedile a tu IA que cargue el contexto del proyecto. Llama a get_project_state y arranca sabiendo en qué estás trabajando. Nada se inyecta solo: el modelo decide cuándo usar las herramientas.

2

Trabajo normal

Trabajás con tu IA como siempre. Cuando pasa algo importante — una decisión, un descubrimiento, un cambio de arquitectura — guarda la memoria con chainmemory_remember.

3

Consolidación

Al final, la IA propone operaciones con update_project_state: qué se decidió, qué riesgo se abrió, qué prioridad cambió. Eso es lo que convierte una pila de conversaciones en estado.

4

Continuidad

En la sesión siguiente, en este modelo o en cualquier otro, el estado consolidado ya está. No se pierde nada en el medio.

Flujos avanzados

Claude Desktop — sesiones de arquitectura

Claude es muy bueno en diseño de alto nivel. Usá ChainMemory para preservar las decisiones de arquitectura entre sesiones:

Patrón de prompt — Claude Desktop
"Antes de empezar, cargá el estado de mi proyecto desde ChainMemory.
Después diseñemos el sistema de autenticación.

Cuando decidamos, guardá las decisiones clave con tags 'architecture'
y 'auth'. Usá importancia 9 para todo lo que afecte a otros
miembros del equipo, y después propone las operaciones para
consolidar el estado."

Claude lee el estado con get_project_state, trabaja con vos en el diseño, guarda las decisiones con chainmemory_remember, y propone la consolidación con update_project_state. En la sesión siguiente, la arquitectura de auth ya es parte del estado.

Cursor — código con memoria

La integración MCP de Cursor le permite a tu IA de código recordar por qué el código se escribió de cierta manera. La configuración es la misma que para Claude Desktop, en settings.json.

Un flujo efectivo:

  • Inicio de sesión — "Cargá el estado del proyecto": decisiones vigentes, riesgos abiertos y prioridades
  • Durante el desarrollo — "Guardá: implementé el handler de webhooks con reintentos, 3 intentos con backoff exponencial"
  • Corrección de bugs — "Guardá: arreglé la race condition en el procesamiento de pagos — el webhook de Stripe llegaba antes de que la transacción de DB commiteara"
  • Fin de sesión — "Consolidá lo que cambió hoy", que propone las operaciones y actualiza el estado

Patrón de memoria agéntica

El patrón más potente de MCP es la memoria agéntica, donde la IA gestiona su propio conocimiento:

System prompt para memoria agéntica
Tenés acceso a ChainMemory por MCP. Seguí estas reglas:

1. Al inicio de sesión: llamá a get_project_state para cargar el
   estado consolidado del proyecto.
2. Cuando tomes una decisión significativa: guardala con
   chainmemory_remember.
   - Incluí POR QUÉ elegiste ese camino
   - Etiquetala con el dominio relevante
   - Importancia 1-10: usá 7 o más para decisiones, 5 para
     observaciones
3. Cuando completes un milestone: guardalo y decí qué sigue.
4. Cuando identifiques un riesgo: guardalo con su severidad.
5. Al cerrar la sesión: proponé la consolidación con
   update_project_state. No cierres ni supersedas ítems
   existentes sin aprobación del dueño: agregá en estado
   propuesto y dejá que un humano confirme.
Traspaso entre herramientas El mismo proyecto de ChainMemory funciona en Claude, Cursor, Windsurf, Hermes Agent, OpenClaw y cualquier cliente compatible con MCP. Diseñás en uno, implementás en otro, revisás en un tercero — todos compartiendo el mismo estado. Ver Sistemas multi-agente.
Trabajar bajo un contrato de rol Para equipos y trabajo auditado, ChainMemory soporta Verifiable Role Contracts: reglas escritas por humanos y firmadas por el dueño, que un modelo lee antes de trabajar. assume_role abre una sesión atada al hash del contrato y al hash del estado, y release_role la cierra con un resumen. El modelo lee el contrato; nunca lo escribe.