Background AI Chat MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BAC_HOST | No | HTTP/SSE bind address | 127.0.0.1 |
| BAC_PORT | No | HTTP/SSE port | 3456 |
| BAC_AUTH_KEY | No | Bearer token for HTTP/SSE mode | |
| BAC_DATA_DIR | No | Root data directory | ~/.bagidea |
| BAC_TRANSPORT | No | Transport mode (stdio or http-sse) | stdio |
| BAC_REDACT_PII | No | Opt-in PII redaction | false |
| BAC_SAKANA_URL | No | Sakana chat URL | https://chat.sakana.ai/ |
| BAC_MAX_SESSIONS | No | Max concurrent sessions | 5 |
| BAC_IDLE_TIMEOUT_MS | No | Idle timeout before auto-close (15 min) | 900000 |
| BAC_BROWSER_HEADLESS | No | Run Chrome headless | true |
| BAC_ALLOWED_USE_CASES | No | Comma-separated use cases | personal,internal |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| session_openA | Open a persistent Sakana chat session backed by headless Chrome. First call requires tosAccepted:true (machine-wide ack thereafter). Returns sessionId + rate limit. Anonymous mode only in P1. |
| session_closeA | Close a Sakana chat session and release its browser context. keepHistory:true (default) retains state.json + cookies for reuse. |
| session_listA | List all known Sakana chat sessions (active and idle). |
| chat_sendA | Send a message to an open Sakana chat session and receive the streamed reply. Incremental tokens are emitted as MCP logging notifications; the tool result carries the final answer. Pass signal:"abort" to interrupt. |
| chat_interruptA | Interrupt an in-flight Sakana chat send. Clicks the page stop button and returns partial text. The stream also terminates via the AbortSignal on the original chat_send call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct purpose: chat_interrupt interrupts a send, chat_send sends a message, session_close closes a session, session_list lists sessions, and session_open opens a session. No overlapping functionality.
All tool names follow a consistent verb_noun pattern using snake_case, with 'chat_' and 'session_' prefixes clearly grouping related operations.
Five tools cover the essential operations for managing chat sessions and messages, making the surface well-scoped without unnecessary redundancy.
The tool set provides complete CRUD-like lifecycle for sessions (open, close, list) and chat interactions (send, interrupt), leaving no obvious gaps for the intended domain.