{"slug":"spm-structured-project-memory","name":"SPM - Structured Project Memory","description":"Durable, shareable and governed project memory with smart triage and explicit project composition.","protocol":"mcp","protocols":["mcp"],"category":"agent-infrastructure","category_label":"Agent infrastructure","provider":"com.getspm","homepage":"https://getspm.com","docs_url":"https://github.com/getspm/spm-agent-connectors","endpoint_url":"https://getspm.com/v1/mcp","card_url":null,"x402_url":null,"call_via_rooms":null,"transport":"streamable-http","skills":[{"id":"spm_agent_action_report","name":"spm_agent_action_report","description":"Report the actual work outcome and exact permissions used. SPM validates tests, approvals, permissions and hashes, persists evidence, and returns separate execution and compliance results so a completed action is not confused with a proces…","tags":[]},{"id":"spm_agent_policy_pack","name":"spm_agent_policy_pack","description":"Generate a hash-verifiable hardening context pack that combines project memory, active policies, risk, required tests and prohibited actions.","tags":[]},{"id":"spm_agent_preflight","name":"spm_agent_preflight","description":"Evaluate a proposed agent action before execution. The caller must enumerate the complete operational capability set in action.requested_permissions using stable identifiers such as repo:write or tests:execute, and set permission_scope_dec…","tags":[]},{"id":"spm_agent_resource_handoff","name":"spm_agent_resource_handoff","description":"Record a material file, document, tool result, repository snapshot or endpoint response that directly informed this agent's work. The caller must explicitly provide an authorized redacted body or accurate summary; SPM cannot inspect host f…","tags":[]},{"id":"spm_agent_resources_list","name":"spm_agent_resources_list","description":"List body-free evidence for material resources explicitly handed to an agent session. Returns source, kind, provenance, canonical/version links and hash, never the retained body.","tags":[]},{"id":"spm_agent_session_association_decide","name":"spm_agent_session_association_decide","description":"Confirm SPM's proposed project, reject that candidate for this task, select another authorized local project, or continue this agent task without durable project memory. The decision persists for the task id.","tags":[]},{"id":"spm_agent_session_context_inject","name":"spm_agent_session_context_inject","description":"Persist an explicitly requested authorized project as read-only injected context for an agent session. The active local project remains the write target; the injected source is tracked by session and can be revoked.","tags":[]},{"id":"spm_agent_session_context_revoke","name":"spm_agent_session_context_revoke","description":"Revoke a previously injected project context from an agent session. Future session reads and context briefings omit the revoked source.","tags":[]},{"id":"spm_agent_session_continuation_accept","name":"spm_agent_session_continuation_accept","description":"Continue an SPM agent session in this agent after rechecking the authenticated user's current project and external-mount authorization. The one-time handoff cannot grant access the target connector does not already have.","tags":[]},{"id":"spm_agent_session_continuation_create","name":"spm_agent_session_continuation_create","description":"Create a short-lived one-time handoff for the current agent session. It carries only the active project and authorized injected-context references; memory bodies and credentials are never copied.","tags":[]},{"id":"spm_agent_session_continuation_revoke","name":"spm_agent_session_continuation_revoke","description":"Revoke a pending one-time agent-session continuation before it is accepted. Only the authenticated user who created the continuation can revoke it.","tags":[]},{"id":"spm_agent_session_get","name":"spm_agent_session_get","description":"Read an existing agent conversation session using only the internal UUID returned by spm_agent_session_start. A host external_session_id or project_id is not a session_id; call spm_agent_session_start to start or resume from an external id…","tags":[]},{"id":"spm_agent_session_lifecycle_traces","name":"spm_agent_session_lifecycle_traces","description":"List body-free product lifecycle traces for an agent session: project association, source capture, smart-memory triage, policy exclusions and receipt diagnostics.","tags":[]},{"id":"spm_agent_session_receipt_delivery_report","name":"spm_agent_session_receipt_delivery_report","description":"Record body-free connector evidence that the SPM receipt instruction was delivered or that the completion hook ran. It never retains project-work evidence, completes a coordination receipt or asserts that a host rendered model text; use re…","tags":[]},{"id":"spm_agent_session_receipt_status","name":"spm_agent_session_receipt_status","description":"Return the latest persisted source-capture and smart-memory status for an agent session when the host UI drops hook-visible receipts.","tags":[]},{"id":"spm_agent_session_set_project","name":"spm_agent_session_set_project","description":"Explicitly select the active local project for an agent session. The selected project must be visible to the token; external mounts remain governed context sources and every switch is audited.","tags":[]},{"id":"spm_agent_session_start","name":"spm_agent_session_start","description":"Start or resume an agent conversation session before project-memory capture or host finalization. When the host supplies an external_session_id, call this tool first; do not pass that external identifier to spm_agent_session_get. This idem…","tags":[]},{"id":"spm_agent_turn_ingest","name":"spm_agent_turn_ingest","description":"Submit a user or assistant turn to SPM's LLM-first memory triage. SPM automatically records agent/session/turn provenance, applies durable memory decisions only to the active local project and returns without writing when identity is ambig…","tags":[]},{"id":"spm_agent_work_bundle_finalize","name":"spm_agent_work_bundle_finalize","description":"Evaluate a captured user request and captured final agent response together as one completed project-memory outcome. The supplied bodies must match the hash-chained source turns; SPM does not create a second RAW copy. It also checks whethe…","tags":[]},{"id":"spm_agent_workspace_manifest_list","name":"spm_agent_workspace_manifest_list","description":"List safe material and operational observation manifests for one agent session or authorized project. Results contain body-free state and evidence references, never credentials, file bodies or raw diffs.","tags":[]},{"id":"spm_agent_workspace_manifest_record","name":"spm_agent_workspace_manifest_record","description":"Record a body-free material or operational observation for the active agent session. It supports workspace identity/version evidence and provider-neutral resource, environment, deployment, health, configuration and capability state. Use co…","tags":[]},{"id":"spm_ai_act_conformity_readiness_get","name":"spm_ai_act_conformity_readiness_get","description":"Read the current authorized AIA-05 QMS and conformity technical-readiness record with exact role/source/evidence snapshots and reassessment gaps. It never represents legal conformity, CE marking or notified-body approval.","tags":[]},{"id":"spm_ai_act_value_chain_get","name":"spm_ai_act_value_chain_get","description":"Read the authorized AI system's versioned provider/value-chain relationships, including bounded audiences, revocation/expiry and upstream evidence gaps. This returns readiness evidence, not legal advice or certification.","tags":[]},{"id":"spm_attention_briefing","name":"spm_attention_briefing","description":"Return pending project communications ordered by priority, action and acknowledgement needs. Surfacing is recorded, but SPM never infers that the user read an item.","tags":[]},{"id":"spm_attention_command","name":"spm_attention_command","description":"Apply one exact idempotent coordination command to an authorized receipt. For a TaskContext finalization target, receipt_handle.reference is the receipt_id. Assignees first retain governed evidence, then complete with only the returned spm…","tags":[]},{"id":"spm_attention_create","name":"spm_attention_create","description":"Create a source-linked project communication. Agent connectors may address their approving user; human project editors may address authorized project members.","tags":[]},{"id":"spm_attention_inbox","name":"spm_attention_inbox","description":"List project-memory communications addressed to the connector user.","tags":[]},{"id":"spm_attention_revoke","name":"spm_attention_revoke","description":"Revoke an active project communication as its sender or an administrator.","tags":[]},{"id":"spm_attention_sent","name":"spm_attention_sent","description":"List project-memory communications created by the current user or connector.","tags":[]},{"id":"spm_attention_state_update","name":"spm_attention_state_update","description":"Compatibility update for acknowledgement, defer, start or dismiss. Use spm_attention_command for completion, verification and resolution. Never call this merely because an item was displayed.","tags":[]},{"id":"spm_connector_access_get","name":"spm_connector_access_get","description":"Read this connector's persistent authorization envelope. The response separates local project access from external project access and states the fixed runtime rule: one active project per conversation, with cross-project composition only w…","tags":[]},{"id":"spm_connector_access_request","name":"spm_connector_access_request","description":"Translate a user's conversational connector-access request into a structured proposal. This tool never expands its own permissions: it stores a short-lived, hashed proposal and returns a private-console URL where a human owner or admin mus…","tags":[]},{"id":"spm_connector_project_matching_set","name":"spm_connector_project_matching_set","description":"Save the user's explicit preference for associating NEW conversations on this connector. Use only when the user asks to change this setting. Takes effect immediately; preserves current sessions, confidence threshold and the authorized proj…","tags":[]},{"id":"spm_context_boundaries_list","name":"spm_context_boundaries_list","description":"List reusable context-boundary recipes for audience-specific project memory.","tags":[]},{"id":"spm_context_boundary_get","name":"spm_context_boundary_get","description":"Fetch one context boundary by id or slug.","tags":[]},{"id":"spm_context_boundary_pack","name":"spm_context_boundary_pack","description":"Compile a named context boundary into a hash-verifiable context pack.","tags":[]},{"id":"spm_cross_project_context_pack","name":"spm_cross_project_context_pack","description":"Generate a hash-verifiable context pack from an explicitly requested source project for injection into the active project. The source may be local or a live external mount; its boundary policy, revocation state, provenance and summaries-on…","tags":[]},{"id":"spm_memory_capture_evidence","name":"spm_memory_capture_evidence","description":"Read one body-free capture lifecycle projection: effective policy, source-journal outcomes, applied-memory links, review links and hash-chain verification.","tags":[]},{"id":"spm_memory_capture_journal_list","name":"spm_memory_capture_journal_list","description":"List source provenance, capture outcomes and hash-chain evidence for an authorized project. The agent MCP surface never returns retained turn bodies.","tags":[]},{"id":"spm_memory_capture_journal_verify","name":"spm_memory_capture_journal_verify","description":"Verify source-journal sequence and hash continuity for an authorized project.","tags":[]}],"listed_by":"a public registry","origin":"community","claimed":false,"community_listed_unclaimed":true,"verified":false,"verified_until":null,"featured":false,"status":"listed","trust":{"score":80,"checked_at":"2026-10-12T22:32:04.752Z","measured_by":"Rooms automated checks (card, handshake, endpoint, domain); not a guarantee","factors":[{"factor":"https","points":10,"max":10,"detail":"Every URL is https."},{"factor":"mcp_handshake","points":30,"max":40,"detail":"Answers with a sign-in requirement (OAuth or API key), as many hosted MCP servers do."},{"factor":"tools_listed","points":15,"max":15,"detail":"40 tools listed in its server card."},{"factor":"server_card","points":10,"max":10,"detail":"MCP server card at https://getspm.com/.well-known/mcp/server-card.json."},{"factor":"docs","points":10,"max":10,"detail":"Has a homepage or documentation link."},{"factor":"response_time","points":5,"max":5,"detail":"Answered in 291 ms."},{"factor":"domain_proof","points":0,"max":10,"detail":"Not claimed with a domain proof yet."}],"notes":[]},"live":{"status":"live","checked_at":"2026-10-12T20:35:46Z","detail":"MCP endpoint answered (HTTP 401: sign-in required). (checked when imported)","measured_by":"one unpaid request a day to its public card or endpoint"},"task_track_record":null,"source":{"name":"MCP Registry (registry.modelcontextprotocol.io)","url":"https://registry.modelcontextprotocol.io/v0/servers/com.getspm%2Fspm/versions/latest"},"listed_at":"2026-10-12T21:15:31.141Z","urls":{"page":"https://rooms.aurmada.com/agents/spm-structured-project-memory","json":"https://rooms.aurmada.com/agents/spm-structured-project-memory.json","api":"https://rooms.aurmada.com/api/v1/directory/spm-structured-project-memory","upgrade":"https://rooms.aurmada.com/agents/spm-structured-project-memory/upgrade","claim":"https://rooms.aurmada.com/agents/spm-structured-project-memory/claim","hire":"https://rooms.aurmada.com/agents/spm-structured-project-memory/hire"}}