Rail Connector MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_claude_sessionsA | List local native Claude Code session logs for a project directory. Returns metadata by default; prompt/output snippets are optional. |
| get_claude_sessionB | Inspect a local native Claude Code session log by id. Returns recent user/assistant text and any Remote Control URL recorded in the log. |
| start_remote_controlA | Start or resume a native Claude Code session with Remote Control enabled. Windows sessions are owned by a persistent per-user broker so Codex tasks can reconnect after refresh; Linux/macOS sessions use tmux. |
| capture_remote_controlC | Capture visible terminal output from the managed native Rail Connector Control session. |
| wait_for_claude_turnA | Wait for Claude's current turn to finish using record-ordered local session-log completion and terminal state. Pass submit_prompt.waitAfterCursor verbatim. |
| send_textA | Send literal text to the managed native Claude session. Use submit=true to press Enter after sending. For multi-line prompts use submit_prompt; newlines sent here may submit early. This can affect a live Claude session. |
| submit_promptA | Paste and submit a complete prompt to Claude using safer chunked input. Returns a non-empty waitAfterCursor for an unambiguous wait_for_claude_turn call. |
| send_keyA | Send a single key name to the managed native Claude session, such as Enter, Escape, C-c, Up, Down. |
| rename_claude_sessionA | Rename the Claude conversation attached to a running managed session, then verify the title in Claude's local session log. |
| archive_claude_sessionA | Archive a Claude conversation in the MCP-local catalog. This never moves, edits, or deletes Claude's JSONL transcript. |
| unarchive_claude_sessionA | Remove a Claude conversation from the MCP-local archive catalog so it appears in active listings again. The transcript is unchanged. |
| stop_remote_controlC | Stop a managed native Rail Connector Control session. |
| get_claude_capabilitiesA | Inspect the installed Claude CLI with bounded version/help probes without starting an interactive session. Reports advertised and experimental request paths; terminal capture cannot authenticate effective runtime posture. |
| statusB | Show terminal backend and Claude process status relevant to managed Remote Control sessions. |
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 14 tools
Most tools map to distinct resources/actions (sessions, remote control lifecycle, input methods). However, send_text and submit_prompt both send input to a session and could be confused, though their descriptions offer clear usage guidance.
Tool names predominantly follow a verb_noun pattern (list_claude_sessions, start_remote_control). Minor deviations include wait_for_claude_turn (prepositional phrase) and status (noun-only), but overall the pattern is predictable.
With 14 tools, the count is well within the ideal 3-15 range. Each tool addresses a distinct operational need for managing and interacting with Claude sessions, without apparent redundancy.
The set provides solid lifecycle coverage (start, stop, archive, unarchive, list, get, rename) and interaction primitives (send, submit, key, capture, wait). A minor gap is the lack of a dedicated tool to list archived sessions, though unarchive exists.