{"serverId":"mcp-registry/io.github.ariffazil/arifosmcp","tools":[{"name":"arif_init","fixed":{"name":"arif_init","description":"KERNEL 000 · Ignite a governed kernel session: binds actor identity, constitutional floors F1–F13, and the audit chain. Returns the session_id + session_token that every other arif_* verb requires. Use mode=preflight to inspect an existing session without re-igniting, mode=resume to continue one. Modes: init, preflight, resume, validate, canary, triage, epoch_open, epoch_seal, light, opt_out.Auth: the only verb needing no session — it mints the session_id + session_token every other verb require","inputSchema":{"type":"object","required":["intent"],"properties":{"mode":{"enum":["init","light","resume","validate","canary","preflight","triage","epoch_open","epoch_seal","opt_out","opt_out_profiling"],"type":"string","default":"init","description":"What to do: 'init' (default) starts a new governed session; 'preflight' checks an existing session's state without creating one; 'resume' re-attaches to the session in session_id; 'validate' re-checks credentials; 'canary' is a transport probe; 'triage' reads session state; 'epoch_open'/'epoch_seal' bracket a long working window; 'light' is a minimal session; 'opt_out' records a privacy opt-out."},"nonce":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"One-time random string (e.g. a UUID) making this request unique; protects against replay of the same call."},"intent":{"type":"string","minLength":1,"description":"Required. Plain-language statement of what this session is for, e.g. 'repair the failing MCP tests'. A session without a stated purpose is refused (F1 Amanah). Recorded for audit."},"context":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null,"description":"JSON object of background facts to bind into the session, e.g. {\"repo\": \"arifOS\", \"task\": \"fix-tests\"}."},"payload":{"title":"Payload","default":null,"description":"Extra mode-specific data as a JSON object; the mode's response tells you which fields it expects.","type":"string"},"tooling":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null,"description":"JSON list of the tools you can use, e.g. [\"Bash\", \"Read\"] — lets the kernel scope what it will permit you. Also accepts an object like {\"requested_capabilities\": [...]}."},"verbose":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Legacy on/off verbosity ('true'/'false'); prefer verbosity."},"actor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Your agent identity, e.g. 'kimi-code/FI-008' or 'claude/sonnet'. Recorded in the audit log so this action is attributed to you."},"epoch_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional id grouping related sessions into one long-running epoch, e.g. '2026-H2-ops'."},"evidence":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},{"type":"null"}],"default":null,"description":"JSON list of facts you have already verified, e.g. [{\"fact\": \"pytest 299 passed\", \"source\": \"CI run\"}] — carried into the session record. Also accepts a single object."},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Correlation id of your choosing (e.g. 'req-8f3a') — lets you find this call later across kernel logs and organ systems."},"verbosity":{"enum":["minimal","standard","full"],"type":"string","default":"minimal","description":"How detailed responses should be: 'minimal' (default), 'standard', or 'full'."},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Session id returned by arif_init (looks like 'sess-…'). Pass it on every call after init so the action is attributed to your governed session."},"agent_policy":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null,"description":"JSON constraints on your own behavior, e.g. {\"autonomy\": \"reversible_only\", \"forbidden\": [\"git push\"]}."},"auth_context":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null,"description":"JSON carrying external authentication material, e.g. {\"token_class\": \"bearer\", \"issuer\": \"github\"} — used for gating."},"counterparty":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null,"description":"JSON describing the other party in a two-agent exchange, e.g. {\"agent_id\": \"hermes/1\", \"role\": \"verifier\"}."},"sovereign_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Identifier of the human principal you act for, when acting under their explicit delegation."},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Session Continuity Token (SCT) — the credential string arif_init returned alongside session_id. Pass it back on follow-up calls to prove the session is yours; without it the kernel treats you as unauthenticated."},"actor_signature":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Cryptographic signature over the request, if your agent holds a key — proves the call genuinely came from actor_id. Omit if you have no key."},"caller_actor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"If you are calling on behalf of another agent, that agent's id — builds a delegation chain for the audit log."},"delegation_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Contract governing delegated calls, e.g. 'read_only' or 'governed'."},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Client-chosen key (e.g. 'job-42-attempt-1'). Retrying with the same key will not repeat the effect — safe retries on flaky networks."},"ack_irreversible":{"type":"boolean","default":false,"description":"Set true to acknowledge that session records are permanent audit artifacts and cannot be deleted afterwards."},"executor_actor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Id of the agent that will actually carry out work under this session's permissions, if different from actor_id."},"declared_model_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The model you run on, e.g. 'zai-coding-plan/glm-5.3'. Informational only — the kernel records but never trusts it."},"client_capabilities":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null,"description":"JSON declaring what your client supports, e.g. {\"transports\": [\"http\"], \"protocol\": \"2025-11-25\"}."},"requested_authority":{"type":"string","default":"OBSERVE_ONLY","description":"The highest class of action you may take: 'OBSERVE_ONLY' (read-only, default) or a higher governed class granted by your policy."},"previous_session_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Hash string returned when your previous session closed; supplying it chains this session to that one, proving continuity."}},"additionalProperties":false},"annotations":{"title":"000 Init · Kernel Session","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"title":"000 Init · Kernel Session"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: payload. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":2003,"tokensAfter":2008},{"name":"arif_report","fixed":{"name":"arif_report","description":"AGENT REPORT LANE · File or read reports between agents without involving the human. Use when your work is done, when you are blocked by another agent, or when you need to tell peers a fact. modes: report (file), inbox (read peers), ack, flush, stats. kind=fyi|peer|done|claim stay in the peer lane; ONLY kind=decision or kind=blocked reach the sovereign, and only in one coalesced message. Reports are SELF_REPORTED — probe before relying on one.","inputSchema":{"type":"object","properties":{"body":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"kind":{"type":"string","default":"fyi"},"mode":{"type":"string","default":"report"},"force":{"type":"boolean","default":false},"limit":{"type":"integer","default":20},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"dry_run":{"type":"boolean","default":false},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"actor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"evidence":{"title":"Evidence","default":null,"type":"string"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"_envelope":{"title":"Envelope","default":null,"type":"string"},"mark_read":{"type":"boolean","default":false},"report_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"needs_human":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false},"title":"Arif Report"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: evidence, _envelope. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":476,"tokensAfter":485}],"toolsChanged":2,"tokensSaved":0,"todo":[{"tool":"arif_report","params":["body","kind","mode","force","limit","since","sender","dry_run","subject","actor_id","evidence","platform","_envelope","mark_read","report_id","thread_id","session_id","needs_human","session_token"]},{"tool":"arif_think","params":["context","evidence"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}