Skip to content

Narnia

Narnia is a single ASP.NET Core app — both an MCP server and a local web UI — for browsing your GitHub Copilot CLI session history. It solves a real pain point: when Windows forces a restart (or any machine restarts), all active Copilot sessions disappear. Narnia lets you search, inspect, and resume sessions without losing context.

Use the star control in any session view to favorite important sessions. Favorite state is shared across the UI, can be filtered or sorted on the Sessions page, and has a dedicated Favorites page.

Table columns can be resized by dragging the separator at the right edge of a header or by focusing it and using the arrow keys. Widths are stored in the browser for each table; double-click a separator or press Escape to restore that column's default width.

The Files page searches raw paths recorded by session file activity, normalizing slash direction and casing for discovery. Selecting a stored path opens its exact normalized history across sessions.

The supported prebuilt release is Windows x64. Narnia's defining recovery, scheduling, autostart, and terminal-launch features integrate with Windows Terminal, WMI, and Windows Task Scheduler.

MCP Tools

Narnia exposes 16 tools over one shared HTTP endpoint (/mcp): eight for session history, eight for managing scheduled Copilot jobs.

Session History

Tool Description
list_recent_sessions List the most recently updated sessions
search_sessions Ranked full-text search across session content
get_session_details Get full metadata and statistics for a session
get_session_checkpoints Retrieve all checkpoints with structured content
get_session_turns Paginated conversation turn history
get_session_workspace Workspace metadata and session artifact files
list_sessions_by_repository Filter by exact effective remote repository
list_sessions_by_cwd Filter by exact working directory

Scheduled Jobs

Tool Description
list_schedules All cataloged scheduled jobs joined to live task status
get_schedule A single scheduled job's full catalog entry by id
get_schedule_log Read the latest run log and whether the task is still running
create_schedule Create a scheduled job and (by default) register its task
update_schedule Replace a scheduled job's definition and re-register it
set_schedule_enabled Enable/disable a scheduled job's task
run_schedule_now Start a scheduled job's task immediately
delete_schedule Remove a scheduled job's task, wrapper, and catalog entry

Why It Exists

Copilot CLI sessions accumulate rich context — checkpoints, conversation history, workspace artifacts, file change records. But a forced machine restart wipes all active sessions from memory. There was no built-in way to quickly answer "which session was I using for project X?" or "what was I doing yesterday in the macerus repo?"

Narnia indexes your local ~/.copilot/session-store.db and session-state folder, making that history searchable and browsable — both from the terminal (via MCP) and from a local web interface.

About

Built by Nick Cosentino — Dev Leader. Nick writes about .NET, C#, software design, and developer tooling at devleader.ca.