{"serverInfo":{"name":"spm-remote-mcp","version":"1.0.0"},"authentication":{"required":true,"schemes":["bearer"],"description":"Use an SPM API token as Authorization: Bearer <token>. Tokens may authorize one project, a selected set of local projects and external mounts, or the organization projects available to the approving principal."},"tools":[{"name":"spm_agent_action_report","description":"Report completed agent work to validate tests, approvals, permissions and hashes, then persist post-action evidence as project memory.","inputSchema":{"type":"object","required":["summary"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"action_id":{"type":["string","null"]},"preflight_id":{"type":["string","null"]},"outcome":{"type":"string","enum":["completed","failed","partial"],"default":"completed"},"summary":{"type":"string"},"source_ref":{"type":["string","null"],"description":"Optional adapter source; SPM derives an agent-action source when omitted."},"changed_files":{"type":"array","items":{"type":"string"}},"target_refs":{"type":"array","items":{"type":"string"}},"actual_changes":{"type":"object"},"executed_tests":{"type":"array","items":{"type":"object"}},"permissions_used":{"type":"array","items":{"type":"string"}},"decisions":{"type":"array","items":{"type":"object"}},"evidence_refs":{"type":"array","items":{"type":"string"}},"context_pack_hash":{"type":["string","null"]},"preflight_hash":{"type":["string","null"]},"evaluation_hash":{"type":["string","null"]},"create_temporal_event":{"type":"boolean","default":true},"completed_at":{"type":["string","null"]},"metadata":{"type":"object"}}},"annotations":{"access":"write","category":"agent_hardening","requiredScopes":["agent_hardening:write","objects:write"]}},{"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.","inputSchema":{"type":"object","required":["action"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"action":{"type":"object"},"temporal_context_request":{"type":["object","null"]},"include_temporal_context":{"type":"boolean","default":true},"require_temporal_verification":{"type":"boolean","default":true},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"agent_hardening","requiredScopes":["agent_hardening:read","objects:read"]}},{"name":"spm_agent_preflight","description":"Evaluate a proposed agent action before execution, returning allow/warn/requires_approval/block, required tests, approvals, checklist and hashes.","inputSchema":{"type":"object","required":["action"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"action":{"type":"object"},"temporal_context_request":{"type":["object","null"]},"include_hardening_context_pack":{"type":"boolean","default":true},"include_temporal_context":{"type":"boolean","default":true},"persist":{"type":"boolean","default":true},"expires_at":{"type":["string","null"]},"metadata":{"type":"object"}}},"annotations":{"access":"write","category":"agent_hardening","requiredScopes":["agent_hardening:write","objects:read"]}},{"name":"spm_agent_session_get","description":"Read the active project and authorized project catalog for an existing agent conversation session.","inputSchema":{"type":"object","required":["session_id"],"properties":{"session_id":{"type":"string","format":"uuid"},"include_projects":{"type":"boolean","default":true}}},"annotations":{"access":"read","category":"agent_memory_lifecycle","requiredScopes":["objects:read"]}},{"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.","inputSchema":{"type":"object","required":["session_id","reason"],"properties":{"session_id":{"type":"string","format":"uuid"},"project_id":{"type":["string","null"]},"project_ref":{"type":["string","null"]},"reason":{"type":"string","minLength":1,"maxLength":2048}}},"annotations":{"access":"write","category":"agent_memory_lifecycle","requiredScopes":["objects:write"]}},{"name":"spm_agent_session_start","description":"Start or resume an agent conversation session. SPM resolves an authorized active project, returns the projects visible to the token and refuses to guess when the project is ambiguous.","inputSchema":{"type":"object","required":["client_kind","external_session_id"],"properties":{"client_kind":{"type":"string","minLength":2,"maxLength":64},"external_session_id":{"type":"string","minLength":1,"maxLength":512},"workspace_hint":{"type":["string","null"]},"prompt":{"type":["string","null"]},"project_id":{"type":["string","null"]},"project_ref":{"type":["string","null"]},"include_projects":{"type":"boolean","default":true},"metadata":{"type":"object"}}},"annotations":{"access":"write","category":"agent_memory_lifecycle","requiredScopes":["objects:read"]}},{"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 ambiguous or resolves to an external mount.","inputSchema":{"type":"object","required":["session_id","external_turn_id","role","content"],"properties":{"session_id":{"type":"string","format":"uuid"},"external_turn_id":{"type":"string","minLength":1,"maxLength":512},"role":{"type":"string","enum":["user","assistant","combined"]},"content":{"type":"string","minLength":1,"maxLength":100000},"title":{"type":["string","null"]},"workspace_hint":{"type":["string","null"]},"project_id":{"type":["string","null"]},"project_ref":{"type":["string","null"]},"source_ref":{"type":["string","null"],"description":"Optional adapter source. If omitted, SPM creates an agent/session/turn source automatically."},"actor_ref":{"type":["string","null"]},"actor_role":{"type":["string","null"]},"authority_role":{"type":["string","null"]},"authority_scope":{"type":["string","null"]},"authority_weight":{"type":["number","null"],"minimum":0,"maximum":1},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"context_areas":{"type":"array","items":{"type":"string"}},"relevance_target":{"type":["string","null"]},"user_intent":{"type":["string","null"]},"apply":{"type":"boolean","default":true},"review_threshold":{"type":"number","minimum":0,"maximum":1,"default":0.62},"auto_apply_threshold":{"type":"number","minimum":0,"maximum":1,"default":0.78},"metadata":{"type":"object"}}},"annotations":{"access":"write","category":"agent_memory_lifecycle","requiredScopes":["objects:write"]}},{"name":"spm_context_boundaries_list","description":"List reusable context-boundary recipes for audience-specific project memory.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"include_archived":{"type":"boolean","default":false}}},"annotations":{"access":"read","category":"context_boundaries","requiredScopes":["objects:read"]}},{"name":"spm_context_boundary_get","description":"Fetch one context boundary by id or slug.","inputSchema":{"type":"object","required":["boundary"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"boundary":{"type":"string"}}},"annotations":{"access":"read","category":"context_boundaries","requiredScopes":["objects:read"]}},{"name":"spm_context_boundary_pack","description":"Compile a named context boundary into a hash-verifiable context pack.","inputSchema":{"type":"object","required":["boundary"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"boundary":{"type":"string"},"action_name":{"type":["string","null"]},"query":{"type":["string","null"]},"topic":{"type":["string","null"]},"topics":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"exclude_topics":{"type":"array","items":{"type":"string"}},"exclude_tags":{"type":"array","items":{"type":"string"}},"temporal_layers":{"type":"array","items":{"type":"string","enum":["original","history","working","current"]}},"max_events":{"type":["integer","null"],"minimum":1,"maximum":100},"max_history":{"type":["integer","null"],"minimum":0,"maximum":50},"require_alignment":{"type":["boolean","null"]},"validity_mode":{"type":["string","null"],"enum":["off","advisory","strict"]},"authority_mode":{"type":["string","null"],"enum":["off","advisory","strict"]},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"actor_role":{"type":["string","null"]},"authority_policy":{"type":"object"},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_boundaries","requiredScopes":["objects:read"]}},{"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-only contract remain enforced.","inputSchema":{"type":"object","required":["source_project_ref"],"properties":{"source_project_ref":{"type":"string"},"target_project_ref":{"type":["string","null"]},"prompt":{"type":["string","null"]},"action_name":{"type":"string","default":"cross_project_context_injection"},"query":{"type":["string","null"]},"topic":{"type":["string","null"]},"topics":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"temporal_layers":{"type":"array","items":{"type":"string","enum":["original","history","working","current"]}},"max_events":{"type":"integer","minimum":1,"maximum":100,"default":24},"max_history":{"type":"integer","minimum":0,"maximum":50,"default":10},"require_alignment":{"type":"boolean","default":true},"temporal_validity_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_injection","requiredScopes":["projects:read","objects:read"]}},{"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.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"limit":{"type":"integer","minimum":1,"maximum":500,"default":100}}},"annotations":{"access":"read","category":"agent_memory_lifecycle","requiredScopes":["objects:read"]}},{"name":"spm_memory_capture_journal_verify","description":"Verify source-journal sequence and hash continuity for an authorized project.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."}}},"annotations":{"access":"read","category":"agent_memory_lifecycle","requiredScopes":["objects:read"]}},{"name":"spm_memory_capture_policy_get","description":"Read the effective source-capture policy for an agent session. Capture controls whether turns are retained in full redacted form, selectively triaged, summarized only or hash-only; it does not make every captured turn eligible for context injection.","inputSchema":{"type":"object","required":["session_id"],"properties":{"session_id":{"type":"string","format":"uuid"}}},"annotations":{"access":"read","category":"agent_memory_lifecycle","requiredScopes":["objects:read"]}},{"name":"spm_memory_capture_policy_set","description":"Set the capture policy for the current agent session. Agent tokens cannot change project or organization defaults. Complete mode stores only a redacted encrypted source body.","inputSchema":{"type":"object","required":["session_id","capture_mode"],"properties":{"session_id":{"type":"string","format":"uuid"},"capture_mode":{"type":"string","enum":["selective","complete","summaries_only","metadata_only"]},"retention_days":{"type":["integer","null"],"minimum":1,"maximum":3650},"include_user_turns":{"type":"boolean","default":true},"include_assistant_turns":{"type":"boolean","default":true},"review_threshold":{"type":"number","minimum":0,"maximum":1,"default":0.62},"auto_apply_threshold":{"type":"number","minimum":0,"maximum":1,"default":0.78}}},"annotations":{"access":"write","category":"agent_memory_lifecycle","requiredScopes":["objects:write"]}},{"name":"spm_multi_project_context_pack","description":"Compose independently verifiable, summaries-only context packs from several explicitly requested authorized local projects or live external mounts. Source memories keep separate project ids, boundary decisions, hashes and provenance.","inputSchema":{"type":"object","required":["source_project_refs"],"properties":{"source_project_refs":{"type":"array","minItems":1,"maxItems":12,"items":{"type":"string"}},"target_project_ref":{"type":["string","null"]},"prompt":{"type":["string","null"]},"action_name":{"type":"string","default":"multi_project_context_composition"},"query":{"type":["string","null"]},"topic":{"type":["string","null"]},"topics":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"temporal_layers":{"type":"array","items":{"type":"string","enum":["original","history","working","current"]}},"max_events_per_project":{"type":"integer","minimum":1,"maximum":50,"default":16},"max_history_per_project":{"type":"integer","minimum":0,"maximum":25,"default":8},"require_alignment":{"type":"boolean","default":true},"temporal_validity_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_injection","requiredScopes":["projects:read","objects:read"]}},{"name":"spm_project_resolve","description":"Resolve which accessible project an agent request refers to. Ambiguous results require confirmation instead of silently mixing project memory. Local projects and governed external mounts use the same resolution contract.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"prompt":{"type":["string","null"]},"source_project_refs":{"type":"array","items":{"type":"string"}},"allow_cross_project":{"type":"boolean","default":false},"require_explicit_cross_project":{"type":"boolean","default":true},"confidence_threshold":{"type":"number","minimum":0,"maximum":1,"default":0.72},"max_candidates":{"type":"integer","minimum":1,"maximum":25,"default":5}}},"annotations":{"access":"read","category":"project_resolution","requiredScopes":[]}},{"name":"spm_projects_list","description":"List every local project and live external project mount this MCP token can access. Project tokens return one project, selected-set tokens return only approved projects/mounts, and organization tokens remain limited by user, organization and mount authorization.","inputSchema":{"type":"object","properties":{"include_policy":{"type":"boolean","default":true}}},"annotations":{"access":"read","category":"project_resolution","requiredScopes":[]}},{"name":"spm_temporal_context_pack","description":"Generate a scoped, hash-verifiable context pack for an agent task.","inputSchema":{"type":"object","required":["action_name"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"action_name":{"type":"string"},"query":{"type":["string","null"]},"topic":{"type":["string","null"]},"topics":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"exclude_topics":{"type":"array","items":{"type":"string"}},"exclude_tags":{"type":"array","items":{"type":"string"}},"tag_mode":{"type":"string","enum":["all","any"],"default":"all"},"temporal_layers":{"type":"array","items":{"type":"string","enum":["original","history","working","current"]}},"max_events":{"type":"integer","minimum":1,"maximum":100,"default":24},"max_history":{"type":"integer","minimum":0,"maximum":50,"default":10},"require_alignment":{"type":"boolean","default":true},"temporal_validity_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"off"},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"actor_role":{"type":["string","null"]},"authority_policy":{"type":"object"},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_injection","requiredScopes":["objects:read"]}},{"name":"spm_temporal_context_pack_verify","description":"Verify that an injected temporal context pack is still current before agent use.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"pack":{"type":"object"},"pack_hash":{"type":["string","null"]},"report_hash":{"type":["string","null"]},"latest_event_hash":{"type":["string","null"]},"selected_event_hashes":{"type":"array","items":{"type":"string"}},"hash_manifest":{"type":"object"},"action_name":{"type":["string","null"]},"query":{"type":["string","null"]},"topic":{"type":["string","null"]},"tags":{"type":"array","items":{"type":"string"}},"tag_mode":{"type":"string","enum":["all","any"]},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_injection","requiredScopes":["objects:read"]}},{"name":"spm_temporal_event_create","description":"Persist a durable project-memory event from an authorized agent. Raw bodies are stripped on the hosted remote MCP surface; use summaries, hashes and evidence refs.","inputSchema":{"type":"object","required":["event_type","title","summary","source_ref"],"properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"event_type":{"type":"string"},"temporal_layer":{"type":"string","enum":["original","history","working","current"],"default":"history"},"status":{"type":"string","default":"active"},"title":{"type":"string"},"summary":{"type":"string"},"source_ref":{"type":"string","description":"Required provenance for a deliberate temporal event."},"topic":{"type":["string","null"]},"topics":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"related_event_ids":{"type":"array","items":{"type":"string"}},"related_object_ids":{"type":"array","items":{"type":"string"}},"authority_role":{"type":["string","null"]},"authority_scope":{"type":["string","null"]},"authority_weight":{"type":["number","null"],"minimum":0,"maximum":1},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"actor_role":{"type":["string","null"]},"metadata":{"type":"object"}}},"annotations":{"access":"write","category":"temporal_memory","requiredScopes":["objects:write"]}},{"name":"spm_temporal_graph_query","description":"Query related project memory across temporal events, topics, tags and graph edges.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"query":{"type":["string","null"]},"seed_event_ids":{"type":"array","items":{"type":"string"}},"seed_topics":{"type":"array","items":{"type":"string"}},"seed_tags":{"type":"array","items":{"type":"string"}},"tag_mode":{"type":"string","enum":["all","any"],"default":"any"},"temporal_layers":{"type":"array","items":{"type":"string","enum":["original","history","working","current"]}},"max_depth":{"type":"integer","minimum":0,"maximum":5,"default":2},"max_events":{"type":"integer","minimum":1,"maximum":100,"default":40},"include_context_nodes":{"type":"boolean","default":true},"edge_types":{"type":"array","items":{"type":"string"}},"temporal_validity_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"off"},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"actor_role":{"type":["string","null"]},"metadata":{"type":"object"}}},"annotations":{"access":"read","category":"context_graph","requiredScopes":["objects:read"]}},{"name":"spm_temporal_state","description":"Read a project-scoped temporal state report with optional topic, tag, context-area, temporal-validity and authority weighting filters.","inputSchema":{"type":"object","properties":{"project_id":{"type":["string","null"],"description":"Explicit project id for org-scoped tokens. Project-scoped tokens may only pass their own id."},"project_ref":{"type":["string","null"],"description":"Project name, id or human reference to resolve before using project memory."},"current_project_id":{"type":["string","null"],"description":"Active workspace project id when the agent knows it."},"current_project_ref":{"type":["string","null"],"description":"Active workspace project name or hint supplied by the agent."},"workspace_hint":{"type":["string","null"],"description":"Optional repo, folder, workspace or tenant hint used only to resolve accessible projects."},"project_resolution_prompt":{"type":["string","null"],"description":"Natural-language project intent when the user asks for a project by description."},"topic":{"type":["string","null"]},"tags":{"type":"array","items":{"type":"string"}},"tag_mode":{"type":"string","enum":["all","any"],"default":"all"},"limit":{"type":"integer","minimum":1,"maximum":500,"default":100},"validity_mode":{"type":"string","enum":["off","advisory","strict"],"default":"advisory"},"authority_mode":{"type":"string","enum":["off","advisory","strict"],"default":"off"},"context_area":{"type":["string","null"]},"context_areas":{"type":"array","items":{"type":"string"}},"actor_role":{"type":["string","null"]}}},"annotations":{"access":"read","category":"temporal_memory","requiredScopes":["objects:read"]}},{"name":"spm_trust_remediation_plan","description":"Read the operator-grade remediation plan for trust blockers, including acceptance criteria, safe automation level and verification endpoint.","inputSchema":{"type":"object","properties":{"include_ready":{"type":"boolean","default":false},"max_actions":{"type":"integer","minimum":1,"maximum":50,"default":25}}},"annotations":{"access":"read","category":"trust","requiredScopes":["productization:read"]}},{"name":"spm_trust_status","description":"Read tenant trust posture before context injection: trust score, control status, high-severity gaps and latest audited activity.","inputSchema":{"type":"object","properties":{"include_controls":{"type":"boolean","default":true},"include_latest_activity":{"type":"boolean","default":true}}},"annotations":{"access":"read","category":"trust","requiredScopes":["productization:read"]}}],"resources":[],"prompts":[],"_meta":{"endpoint":"https://getspm.com/v1/mcp","transport":"http-json-rpc","protocolVersion":"2025-06-18","spm":{"tokenType":"spm_api_token","recommendedProfile":"agent-core","security":{"projectScoped":"supported","selectedProjectSet":"supported","orgScopedProjectResolution":true,"externalProjectMounts":"supported_with_live_boundary_enforcement","defaultProjectBehavior":"active_project_only","crossProjectBehavior":"explicit_request_required","eventBodies":"summaries_only","secretReturn":false,"billingToolsExposed":false,"checkoutToolsExposed":false,"destructiveAdminToolsExposed":false}}}}