kassi-CLI
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| stepA | Advance the FSM by one transition. Actions (entry: select_mode):
Transitions:
|
| reset_sessionA | Reset this session's FSM to its entrypoint. |
| fork_atA | Rewind the session to the state captured after history[seq=N]. |
| fork_from_pastA | Resume a past Burr run by loading persisted state. |
| list_resourcesA | List all available resources and resource templates. Returns JSON with resource metadata. Static resources have a 'uri' field, while templates have a 'uri_template' field with placeholders like {name}. |
| read_resourceA | Read a resource by its URI. For static resources, provide the exact URI. For templated resources, provide the URI with template parameters filled in. Returns the resource content as a string. Binary content is base64-encoded. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _graph_resource | Static description of the Application's FSM topology. Read once per session. The graph doesn't change after mount; a model that has this resource doesn't need to keep polling ``theodosia://next`` to plan ahead. Each tool response already carries the current state and the valid next actions, so runtime polling is only useful for forensic inspection of an already-running session. Shape: { "name": "<server name>", "entrypoint": "<starting action>", "actions": [ {"name", "description", "reads", "writes", "required_inputs", "optional_inputs"}, ... ], "transitions": [ {"from", "to", "condition": "<expr or null>"}, ... ] } |
| _state_resource | Current Application state as JSON. Internal Burr keys (``__PRIOR_STEP``, ``__SEQUENCE_ID``) are filtered. Non-JSON-representable values are coerced to strings, with the affected keys listed under ``_theodosia.coerced_keys`` so the client knows the round-trip is lossy. |
| _next_resource | Action names reachable from the current state. For non-branching graphs this is one name. For branching graphs, all conditionally-reachable next actions are listed. After a terminal action this is an empty list, meaning the FSM is done. |
| _history_resource | Timeline of every action attempted in this session. The payload is a JSON array (no wrapper object) of entries each carrying ``seq``, ``ts``, ``action``, ``inputs``, ``state_after``, ``valid_next_actions``, ``refused``, and ``refusal_reason``. Both successful steps and refused attempts (invalid transitions, unknown actions) appear. In factory-mode deployments each session sees only its own history; in shared-app deployments each session sees the timeline of its own calls against the shared FSM. |
| _subruns_resource | Index of sub-Application runs spawned in this session. Each entry has ``id``, ``uri``, ``label``, ``started_ts``, ``ended_ts``, and the ``parent_action`` that spawned it. The ``uri`` field is the fully-rendered ``theodosia://subruns/{id}`` address, ready to read without constructing it from a template. Empty list if no actions in this session called ``spawn_subapp``. |
| _trace_resource | Burr's on-disk LocalTrackingClient log for this session's Application. Returns the JSONL records Burr writes for every action step (action enter/exit, state diff, timing). The Application must have been built with ``.with_tracker(LocalTrackingClient(...))`` for this resource to return data; otherwise the response is ``{"error": "no_tracker", "message": "..."}``. Responses are capped at the most recent 1000 records to keep the wire payload bounded. For full traces, read the log file directly off disk at the path Burr's tracker writes to. This is the cross-reference between theodosia's in-memory ``theodosia://history`` (one entry per attempted action, including refusals) and Burr's own structured trace format (one entry per state transition, full Burr replay shape). |
| _session_resource | Tracker coordinates for the current MCP session's Application. Returns ``{project, app_id, app_dir, partition_key}`` so a client (or the agent itself) can locate this session's tracker data on disk without guessing. Useful for terminal tooling like ``theodosia watch <project>`` that tails the LocalTrackingClient JSONL, and for any out-of-band inspection of ``~/.burr/<project>/<app-id>/log.jsonl``. ``project`` and ``app_dir`` are null when no ``LocalTrackingClient`` is attached; ``app_id`` and ``partition_key`` are always populated because they live on the Application directly. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vision-Stack20/Kassi-CLI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server