Skip to main content
Glama
impossiblecode

overseer-nvim-mcp

Server Quality Checklist

100%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.3

  • Disambiguation5/5

    Each tool targets a distinct operation: listing tasks, listing templates, tailing output, running, restarting, stopping, and disposing. The lifecycle tools (restart/stop/dispose) have clear boundaries: restart stops then starts, stop just stops, dispose removes entirely. Descriptions eliminate confusion, such as noting that name substrings can match multiple tasks and require an id.

    Naming Consistency4/5

    All tools share the 'overseer_' prefix, and the actions are clear verbs: list, tail, run, restart, stop, dispose. The pattern is mostly consistent: 'overseer_list_tasks' and 'overseer_list_templates' use verb_noun, while the others use verb alone (implied 'task'). This is a minor deviation but predictable and readable.

    Tool Count5/5

    Seven tools is well within the ideal 3-15 range for a task manager. Each tool covers an essential operation with no redundancy or excess. The scope matches the domain of managing Neovim overseer tasks.

    Completeness5/5

    The toolset covers the full task lifecycle: create (run), read (list_tasks, list_templates, tail), update (restart), stop (stop), and delete (dispose). Tail also provides status and exit codes, so no separate status tool is needed. The description notes that short commands should use Bash instead, indicating deliberate design rather than an omission.

  • Average 4.8/5 across 7 of 7 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 18 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • Tools from this server were used 8 times in the last 30 days.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true, and the description adds meaningful behavioral context: the ordering is newest first, the origin field distinguishes agent-started vs user-started tasks, and it explicitly warns to clean up only your own tasks. No contradiction exists between the description and annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two concise sentences that front-load the core purpose ('List running and completed overseer.nvim tasks') and immediately provide ordering and fields. The second sentence adds essential origin semantics without any filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter list operation with a read-only annotation, the description is fully sufficient. It names the returned fields, ordering, origin semantics, and cleanup guidance, covering what an agent needs to use the tool correctly despite the lack of an output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters and the schema description coverage is 100%, so the description is not required to explain parameters. It correctly focuses on behavior rather than parameter details, meeting the baseline for no-parameter tools.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists running and completed overseer.nvim tasks with id, name, and status, newest first. This specific verb+resource combination distinguishes it from sibling tools like overseer_run, overseer_stop, and overseer_list_templates.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use this tool: to inspect tasks and determine which ones the agent owns before cleanup, as indicated by 'only clean up your own.' It gives useful context about origin values but does not explicitly name alternative tools or state when not to use it, so it falls short of a 5.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond the readOnlyHint annotation, the description explains non-obvious behaviors: null 'desc' means the provider doesn't give descriptions (not withheld), entries with descriptions are listed first, and 'running_task_id' signals an already-running task to avoid duplicates. These are valuable behavioral details not captured in annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is intentionally dense but every sentence adds value: purpose, empty-list caveat, field semantics, ordering, and filter guidance. It avoids repeating schema content and is well-structured, though slightly long; it earns its length.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With no output schema, the description carries the burden of explaining return values. It covers the key fields (provider, desc, params, running_task_id) and their meanings, plus ordering and edge cases. It doesn't enumerate every possible field, but it gives the agent enough to understand the response and decide next steps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema documents cwd but leaves 'filter' undescribed. The description compensates by explaining that 'filter' matches a substring against name and desc and is useful for narrowing large result sets, adding meaning beyond the schema. It doesn't add detail for cwd, but that's already covered well.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with 'List task templates overseer discovers in a directory' which clearly states the verb, resource, and scope. It distinguishes itself from siblings by focusing on templates (not tasks) and explicitly mentions overseer_run as an alternative for raw commands.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It provides explicit when-to-use guidance: 'An empty list is normal... use overseer_run with a raw cmd instead.' It also advises using the 'filter' parameter in large monorepos to handle results exceeding eighty entries, giving clear context for when to apply the filter.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond the annotations (idempotent, destructive), the description discloses important behaviors: it refuses to dispose a running user-started task unless force is set, treats name ambiguity as an error, and notes that disposing a finished task is unguarded. This provides critical safety and edge-case context that could affect invocation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, front-loaded with the main action, and no redundant phrasing. Every sentence contributes new information (operation, guard behavior, error case), making it efficient and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description is self-contained for a destructive, idempotent operation. It covers the core action, parameter semantics, edge cases, and guard conditions. With no output schema, it still offers enough insight for an agent to decide and invoke correctly, especially given the sibling context and annotations.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description effectively explains both parameters: 'task' can be an id (integer) or name substring (string), and 'force' overrides the refusal for running tasks. It also clarifies that a name matching multiple tasks causes an error, which adds meaning beyond the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool stops and removes a task from the list, using the verb 'dispose' and specifying the resource (task) and operation (stop/remove). It distinguishes itself from sibling tools like overseer_stop (which only stops) and overseer_restart (which restarts) by focusing on removal.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides context for when to use the tool (to stop and remove a task) and implies a distinction from overseer_stop by including 'remove,' but it does not explicitly name alternatives or state when not to use it. The guard conditions (refusal for running user-started tasks without force) add useful situational guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond the destructiveHint annotation, the description discloses important behaviors: automatic stop-before-restart, ambiguous-name error listing candidates, and refusal of user-started running tasks unless force is set. This significantly enriches the agent's understanding of side effects and restrictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three concise sentences, each carrying essential information without redundancy. Front-loaded with the primary action and followed by necessary caveats and error behavior.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description is complete for a restart operation: it covers input selection, error conditions, and safety restrictions. No output schema is present, but return values are not critical for this destructive action, and the description provides enough context for correct invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Despite zero schema description coverage, the description explains both parameters: task can be a numeric id or name substring, and force overrides the refusal of running user-started tasks. This fully compensates for the schema's lack of descriptive text.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool restarts a task by id or name substring, using a specific verb and resource. It distinguishes itself from sibling tools like overseer_stop by explicitly noting it stops the task first if running.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives practical usage guidance: use a numeric id when a name matches multiple tasks, and set force to override refusal of user-started running tasks. It does not explicitly contrast with alternatives but provides clear contextual usage rules.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond the annotations (idempotentHint, destructiveHint), the description explains that stopping a task tears down the underlying process tree, that ambiguous names result in an error listing candidates, and that user-owned tasks are refused without force. This adds significant behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three dense sentences with no filler; each provides distinct information about the tool's operation.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple 2-parameter tool with no output schema, the description covers the action, matching behavior, underlying process implications, error handling, and force flag, making it self-contained.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has no descriptions (0% coverage), but the description clarifies that 'task' accepts an id or name substring, and 'force' overrides refusal for user-started tasks. This fully compensates for the schema gap.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Stop' and identifies the resource as 'a running task' with the method 'by id or name substring'. It clearly differentiates from sibling tools like overseer_run (start) and overseer_restart (restart).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides conditions: multiple matches cause an error, and stopping tasks started by others requires force. However, it does not explicitly reference alternative tools for starting/restarting tasks, so it lacks explicit vs-alternative guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses many behavioral traits beyond the minimal annotations: the task appears in the task list, can be stopped, inherits teardown, `cmd` bypasses the shell, the call blocks until output/exit up to `settle_ms`, startup failures are reported, and missing required template params return an error. This is rich context not present in the annotation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Although the description is long, it is densely packed with necessary information and each sentence addresses a distinct concern: use case, alternative, parameter selection, persistence, shell behavior, return behavior, and error handling. It is front-loaded with purpose and usage, and there is no filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (6 parameters, nested objects, template vs cmd alternatives, no output schema), the description is complete enough for an agent to select and invoke it correctly. It covers prerequisites, side effects, return semantics, failure handling, and persistence, leaving no significant operational gap.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is only 33%, but the description compensates by explaining the key parameters: `template` vs `cmd` exclusivity, `cmd` as an argv array not through a shell, `params` as a name-to-value object for templates, and `settle_ms` default and zero behavior. It also clarifies `cwd` resolution for templates beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific verb and resource ('Start a long-running command as an overseer task') and clearly differentiates the tool from siblings by stating what it does that others don't: appear in the user's task list, be stoppable, and get proper process-group teardown. It also contrasts with Bash for short commands, which removes ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicit guidance is given on when to use this tool vs alternatives: use for commands that do not exit on their own, use Bash for short terminating commands. It further instructs when to prefer `template` over `cmd`, how to handle shell features with `sh -c`, and warns about `cmd` being a one-off, with an alternative for persistence.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond the readOnlyHint annotation, the description discloses rich behavioral details: the status line contents (status, exit_code, total), the behavior of `since`/`from` for incremental output and detecting scroll-past, the blocking behavior of `wait_for`, timeout defaults and max, and the `waited` field distinguishing match/exit/timeout. This fully discloses the tool's runtime behavior without contradicting annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is front-loaded with the core purpose and then systematically covers each parameter and behavioral nuance. Every sentence adds value, and the structure flows logically: purpose, task selection, status line, incremental reading, wait_for behavior, and timeout semantics. Despite its length, it is tightly written with no filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With no output schema and low schema parameter coverage, the description carries the full burden for explaining inputs and outputs. It explains return values (status line, `from`, `waited`), parameter behavior, and edge cases (scroll-past detection). The tool is complex, and the description is complete enough for an agent to invoke it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is only 20% (only `lines` has a description), but the tool description compensates thoroughly: it explains `task` (numeric id or case-insensitive name substring, omit for most recent), `since` (pass previous total to get new lines), `wait_for` (regex to block until match), and `timeout_ms` (default 15000, max 120000). This adds substantial meaning beyond the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Return a task's live output, preceded by a status line.' This specifies the verb (return/tail), resource (task output), and distinguishes it from sibling tools like overseer_list_tasks or overseer_run. The differentiation is explicit: 'so you never need a separate overseer_list_tasks to find out whether what you are tailing is still alive.'

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives explicit when-to-use guidance: it tells you to use `wait_for` instead of repeated polling, and explicitly notes you don't need overseer_list_tasks for status. It also explains when to omit `task` (for the most recent task) and how to use `since` for incremental reads. This covers both alternatives and usage context clearly.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

overseer-nvim-mcp MCP server

Copy to your README.md:

Score Badge

overseer-nvim-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/impossiblecode/overseer-nvim-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server