overseer-nvim-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVIM | Yes | The Neovim RPC socket path. This is typically set automatically when the MCP client runs inside a Neovim terminal buffer. Some clients require this to be explicitly passed in the env configuration. |
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
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| overseer_list_tasksA | List running and completed overseer.nvim tasks (id, name, status), newest first. |
| overseer_list_templatesA | List task templates overseer discovers in a directory (npm scripts, go-task, make, just, VS Code tasks, etc). An empty list is normal (many repos declare nothing runnable); use overseer_run with a raw cmd instead. Each entry has |
| overseer_tailA | Return a task's live output, preceded by a status line. |
| overseer_runA | Start a long-running command as an overseer task, so it appears in the user's task list, can be stopped from it, and inherits proper process-group teardown. Use for commands that DO NOT exit on their own: dev servers, file watchers, --watch test runs, log tails. For short commands that terminate by themselves, use Bash instead: you need their output in-band, and round-tripping a fast build through start-then-poll is worse. Pass exactly one of |
| overseer_restartA | Restart a task by id or name substring (stops it first if running). A name matching more than one task is an error listing the candidates; pass a numeric id instead. Running tasks the user started are refused unless |
| overseer_stopA | Stop a running task by id or name substring. Overseer stops the underlying nvim job, so the task's process tree is torn down rather than left orphaned. A name matching more than one task is an error listing the candidates. Running tasks the user started are refused unless |
| overseer_disposeA | Stop (if running) and remove a task from the list by id or name substring. Disposing a finished task is unguarded; a running one the user started is refused unless |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| directory_local_task | Define a persistent task for this project without any task runner: no npm script, Makefile or Taskfile. Uses overseer's own register_template via a .nvim.lua that stays out of version control if you want it to. |
| diagnose | Work out why overseer is not showing the tasks you expect, or why a task's output looks empty. Reports what each provider actually tried and why it found nothing. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| tasks | Every overseer task with its status, exit code, command and origin. Attach it to give the conversation the current state of the task list without a tool call. |
TDQS
Scored across 7 tools
Each tool targets a distinct operation: listing tasks, listing templates, running, tailing output, restarting, stopping, and disposing. The descriptions reinforce the boundaries, e.g., tail's status line makes it unnecessary to call list_tasks just to check liveness.
All tools share the overseer_ prefix and follow a snake_case verb-first pattern. The two list tools include their noun (tasks/templates), while the task lifecycle operations use clear verbs (run, tail, restart, stop, dispose), which is consistent and predictable.
Seven tools is well-scoped for a task-runner server: discovery (list templates), listing (list tasks), execution (run), observation (tail), and lifecycle control (restart, stop, dispose). Every tool earns its place with no redundant overlap.
The surface covers the full task lifecycle: create/start (run), read/list (list_tasks, list_templates, tail), and delete/cleanup (dispose), plus control operations (restart, stop). The descriptions also explicitly account for short-lived commands being handled outside the server, so there are no obvious dead ends.