Synapse Layer — Trust Infrastructure for AI Agents

MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
86%
Vollständigkeit des Schemas
93%
Qualität der Benennung
89%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

  • LOWTool 'save_to_synapse' description lacks action verbin save_to_synapse
  • LOWTool 'store_memory' description lacks action verbin store_memory
  • LOWTool 'neural_handover' description lacks action verbin neural_handover
  • LOWTool 'slo_report' description lacks action verbin slo_report

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,950Tokens (Tool-Definitionen)
~3.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.09% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "synapse-layer": {
      "url": "https://forge.synapselayer.org/api/mcp"
    }
  }
}

Remote-Endpunkte

https://forge.synapselayer.org/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (13)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢recall(query, reason, scope, agent_id, limit, ...)

Retrieve relevant persisted memory using semantic, temporal, priority, or hybrid routing. Governance: requires reason (10–200 chars). Rate limit: 20/min.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to recall — natural language query for memory retrieval."
    },
    "reason": {
      "type": "string",
      "description": "REQUIRED (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Human-readable justification for retrieving PLAINTEXT memory. Without this parameter the call WILL fail with code -32602. Example: \"User asked me to summarize last week decisions.\""
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ],
      "description": "Explicit memory scope. \"agent\" (default, fail-closed) = limits recall to the given agent_id (or the token agent). \"tenant\" = cross-agent recall within the authenticated tenant. If omitted with agent_id present, \"agent\" is inferred; if both omitted, the token agent is used (verified-token scope)."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier (canonical or alias). Used only when scope=\"agent\" or scope is inferred."
    },
    "limit": {
      "type": "number",
      "description": "Maximum memories to return (1–50, default: 10)."
    },
    "mode": {
      "type": "string",
      "enum": [
        "auto",
        "temporal",
        "semantic",
        "priority",
        "hybrid"
      ],
      "description": "Recall routing mode. \"temporal\" = pure chronological, \"semantic\" = FTS + TQ ranking, \"priority\" = critical/high-TQ first, \"hybrid\" = weighted blend, \"auto\" = detect from query (default)."
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "query",
    "reason"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memories": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "similarity": {
            "type": "number"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "count": {
      "type": "number"
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    }
  },
  "required": [
    "memories",
    "count",
    "scope"
  ]
}
🟡save_to_synapse(content, agent_id, project, type, importance, ...)

Persist memory with encryption at rest, sanitization, and deduplication controls.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "The memory content to store securely."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier for memory isolation. Defaults to \"default\"."
    },
    "project": {
      "type": "string",
      "description": "Project identifier (e.g., SYNAPSE_LAYER)."
    },
    "type": {
      "type": "string",
      "description": "Event type: [MILESTONE], [DECISION], [ALERT], [AUTO-STRAT], [AUTO-OP], [AUTO-INSIGHT], [AUTO-DECISION], [AUTO-CONTEXT], [MANUAL]."
    },
    "importance": {
      "type": "number",
      "description": "Accepted for compatibility; not enforced by the API."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags for categorization."
    },
    "force_intent": {
      "type": "string",
      "description": "MANUAL OVERRIDE ONLY — use apenas quando você (humano) quer forçar explicitamente a classificação de intenção. Valores reconhecidos: preference | fact | procedural | bio | critical | operational | strategic | compliance | security | system_directive | clinical | general | ephemeral. Se não tiver certeza, NÃO preencha este campo — o sistema classifica automaticamente. Valores não reconhecidos são ignorados silenciosamente e retornados em warnings."
    },
    "intent_reason": {
      "type": "string",
      "description": "Auditable reason for forcing intent classification. Max 500 characters. Ignored if force_intent is absent.",
      "maxLength": 500
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "content"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memory_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "trust_quotient": {
      "type": "number"
    }
  },
  "required": [
    "memory_id",
    "status"
  ]
}
🟢process_text(text, agent_id, project, source)

Extract candidate memories from free-form text with governance filters and sanitization.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Free-form text to scan for auto-save triggers."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier. Defaults to \"default\"."
    },
    "project": {
      "type": "string",
      "description": "Force a specific project (e.g., SYNAPSE_LAYER, OFFLY). Auto-detected if omitted."
    },
    "source": {
      "type": "string",
      "description": "Source identifier (default: mcp)."
    }
  },
  "required": [
    "text"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "extracted": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "storedCount": {
      "type": "number"
    }
  },
  "required": [
    "extracted",
    "storedCount"
  ]
}
🟢search(query, reason, scope, agent_id, limit, ...)

Search persisted memory across agent scopes using full-text matching. Governance: requires reason (10–200 chars) because results contain plaintext content.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query — natural language or keywords."
    },
    "reason": {
      "type": "string",
      "description": "REQUIRED (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Human-readable justification for retrieving PLAINTEXT memory. Without this parameter the call WILL fail with code -32602. Example: \"Checking prior migration decisions for the user.\""
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ],
      "description": "Explicit search scope. \"agent\" (default, fail-closed) = limits search to the given agent_id (or the token agent). \"tenant\" = cross-agent search within the authenticated tenant. If omitted with agent_id present, \"agent\" is inferred; if both omitted, the token agent is used (verified-token scope)."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier (canonical or alias). Used only when scope=\"agent\" or scope is inferred."
    },
    "limit": {
      "type": "number",
      "description": "Maximum results to return (1–50, default: 20)."
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "query",
    "reason"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "count": {
      "type": "number"
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    }
  },
  "required": [
    "results",
    "count",
    "scope"
  ]
}
🟢health_check

Check service availability, engine version, and storage health. Public method.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "dbLatencyMs": {
      "type": "number"
    }
  },
  "required": [
    "status",
    "version"
  ]
}
🟢initialize_context(detail, reason)

Initialize a persistent memory context for a conversation or agent session. Returns REDACTED metadata by default (detail="summary"). Use detail="full" with a reason (10–200 chars) to retrieve plaintext content under MEMORY_EXPORT_GOVERNANCE_V1.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Detail level. \"summary\" (default) = redacted metadata only, no plaintext. \"full\" = plaintext content; REQUIRES the reason parameter and is audit-logged."
    },
    "reason": {
      "type": "string",
      "description": "REQUIRED only when detail=\"full\" (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Human-readable justification for retrieving PLAINTEXT context. Without it, detail=\"full\" WILL fail with code -32602."
    }
  },
  "required": []
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memories": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    },
    "agent_id": {
      "type": "string"
    }
  },
  "required": [
    "scope"
  ]
}
🟡save_memory(content, agent_id, tags, force_intent, intent_reason, ...)

Save a memory entry to the persistent store. Alias of save_to_synapse.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "The memory content to store securely."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier for memory isolation."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags for categorization."
    },
    "force_intent": {
      "type": "string",
      "description": "MANUAL OVERRIDE ONLY — use apenas quando você (humano) quer forçar explicitamente a classificação de intenção. Valores reconhecidos: preference | fact | procedural | bio | critical | operational | strategic | compliance | security | system_directive | clinical | general | ephemeral. Se não tiver certeza, NÃO preencha este campo — o sistema classifica automaticamente. Valores não reconhecidos são ignorados silenciosamente e retornados em warnings."
    },
    "intent_reason": {
      "type": "string",
      "description": "Auditable reason for forcing intent classification. Max 500 characters. Ignored if force_intent is absent.",
      "maxLength": 500
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "content"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "stored": {
      "type": "boolean"
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    }
  },
  "required": [
    "id",
    "stored",
    "scope"
  ]
}
⚪store_memory(content, agent_id, tags, force_intent, intent_reason, ...)

Store structured memory with metadata and trust scoring.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "The memory content to store securely."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier for memory isolation. Defaults to \"default\"."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags for categorization."
    },
    "force_intent": {
      "type": "string",
      "description": "MANUAL OVERRIDE ONLY — use apenas quando você (humano) quer forçar explicitamente a classificação de intenção. Valores reconhecidos: preference | fact | procedural | bio | critical | operational | strategic | compliance | security | system_directive | clinical | general | ephemeral. Se não tiver certeza, NÃO preencha este campo — o sistema classifica automaticamente. Valores não reconhecidos são ignorados silenciosamente e retornados em warnings."
    },
    "intent_reason": {
      "type": "string",
      "description": "Auditable reason for forcing intent classification. Max 500 characters. Ignored if force_intent is absent.",
      "maxLength": 500
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "content"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "stored": {
      "type": "boolean"
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    }
  },
  "required": [
    "id",
    "stored",
    "scope"
  ]
}
🟢recall_memory(query, reason, scope, agent_id, limit, ...)

Recall persisted memory by query. Alias of recall.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to recall — natural language query for memory retrieval."
    },
    "reason": {
      "type": "string",
      "description": "REQUIRED (10–200 chars). Audit policy: MEMORY_EXPORT_GOVERNANCE_V1. Without this the call WILL fail with code -32602. Example: \"Checking user project status.\""
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ],
      "description": "Explicit memory scope. \"agent\" (default, fail-closed) = limits recall to the given agent_id (or the token agent). \"tenant\" = cross-agent recall within the authenticated tenant. If omitted with agent_id present, \"agent\" is inferred; if both omitted, the token agent is used (verified-token scope)."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier (canonical or alias). Used only when scope=\"agent\" or scope is inferred."
    },
    "limit": {
      "type": "number",
      "description": "Maximum memories to return (1–50, default: 10)."
    },
    "mode": {
      "type": "string",
      "enum": [
        "auto",
        "temporal",
        "semantic",
        "priority",
        "hybrid"
      ],
      "description": "Recall routing mode."
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  },
  "required": [
    "query",
    "reason"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memories": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "similarity": {
            "type": "number"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "count": {
      "type": "number"
    },
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ]
    }
  },
  "required": [
    "memories",
    "count",
    "scope"
  ]
}
🟢list_memories(scope, agent_id, limit, subject)

List memory metadata with pagination and governance limits.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "agent",
        "tenant"
      ],
      "description": "Explicit memory scope. \"agent\" (default, fail-closed) = lists memories for the given agent_id (or the token agent). \"tenant\" = lists memories across all agents of the authenticated tenant."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent identifier (canonical or alias). Used only when scope=\"agent\" or scope is inferred."
    },
    "limit": {
      "type": "number",
      "description": "Maximum memory metadata rows to return. Hard-capped: default 5, max 10. Values above 10 are silently reduced to 10."
    },
    "subject": {
      "type": "string",
      "description": "ESCOPO1 (optional): opaque 8-128 char token ([A-Za-z0-9._:-]) that isolates memory to a single person within a shared connect-token. Omit for token-scoped behavior. Never include PII/email."
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memories": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    }
  },
  "required": [
    "memories",
    "count"
  ]
}
🟡memory_feedback(memory_id, memoryId, signal, session_id, sessionId)

Submit feedback to adjust trust scoring for stored memories.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "memory_id": {
      "type": "string",
      "description": "ID of the memory to provide feedback on (canonical snake_case name)."
    },
    "memoryId": {
      "type": "string",
      "description": "Deprecated camelCase alias of memory_id — still accepted for backward compatibility."
    },
    "signal": {
      "type": "string",
      "enum": [
        "used",
        "ignored",
        "helpful",
        "irrelevant"
      ],
      "description": "Feedback signal: used (auto), helpful (positive), irrelevant (negative), ignored."
    },
    "session_id": {
      "type": "string",
      "description": "Optional session identifier for tracking (canonical snake_case name)."
    },
    "sessionId": {
      "type": "string",
      "description": "Deprecated camelCase alias of session_id — still accepted for backward compatibility."
    }
  },
  "required": [
    "signal"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "memoryId": {
      "type": "string"
    },
    "success": {
      "type": "boolean"
    },
    "signal": {
      "type": "string"
    }
  },
  "required": [
    "memoryId",
    "success"
  ]
}
⚪neural_handover(token, reason, consuming_agent)

Transfer contextual state between agents with continuity controls.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "The handover token (64 hex chars). Generated by the source agent/user in Forge UI."
    },
    "reason": {
      "type": "string",
      "description": "REQUIRED (10–200 chars). Human-readable justification for consuming this handover. Example: \"Receiving project context from Claude session.\""
    },
    "consuming_agent": {
      "type": "string",
      "description": "Agent identifier consuming the handover (defaults to token agent)."
    }
  },
  "required": [
    "token",
    "reason"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "handoverId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    }
  },
  "required": [
    "status"
  ]
}
🟢slo_report(admin_token, window_hours)

Return uptime and SLO metrics for the MCP service.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "admin_token": {
      "type": "string",
      "description": "Admin authentication token. Must match ADMIN_TOKEN environment variable."
    },
    "window_hours": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Time windows in hours for the report. Default: [24, 168] (24h + 7d)."
    }
  },
  "required": [
    "admin_token"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "window": {
      "type": "string"
    },
    "uptime": {
      "type": "number"
    },
    "p50": {
      "type": "number"
    },
    "p95": {
      "type": "number"
    },
    "errorRate": {
      "type": "number"
    }
  },
  "required": [
    "uptime"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet13 Tools
verifiziertVersion nicht aufgezeichnet13 Tools
verifiziertVersion nicht aufgezeichnet13 Tools