Skip to main content
Glama
N0moreher0
by N0moreher0

Self-install venira MCP

project_install_self
Idempotent

Adds the venira MCP server entry to a supported client config file with an atomic write and backup, enabling coding agents to connect to the locked workspace.

Instructions

Add the venira MCP entry to a target client's config (OpenCode/Claude/Cursor/Codex/Kimi/DeepSeek/Antigravity). Atomic + backup. Use when: a user asks to 'install venira into ' — add the MCP server block to that client's config file. Avoid when: the config path is unknown (run project_detect_harnesses first), or the user wants a dry-run (set dry_run=true). Speed: fast; one atomic write per config. Always backs up the original to .venira-bak. Output: install_self: {harness, config_path, status (installed|already_present|config_missing|error), needs_restart, error?}. Batch-safe: no

Input Schema

NameRequiredDescriptionDefault
dry_runNoWhen true, report what would happen without writing.
harnessYes
data_dirNoVENIRA_DATA_DIR value to write (default: <workspace>/data).
workspaceNoVENIRA_WORKSPACE value to write (default: process.cwd()).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.4

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say non-read-only, idempotent and non-destructive; the description goes further by disclosing that writes are atomic, that the original is backed up to <file>.venira-bak, and the exact status values (installed/already_present/config_missing/error) plus needs_restart. That is real behavior an agent needs before mutating a user's config.

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?

Front-loaded with the action, then labeled Use/Avoid/Speed/Output/Batch sections that scan quickly. Minor noise in 'Speed: fast' and the trailing cryptic 'Batch-safe: no', but nothing is bloated.

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, the description supplies the return shape (harness, config_path, status enum, needs_restart, error) and the prerequisite check for an unknown config path. An agent has everything needed to invoke and interpret this mutation correctly.

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

Parameters3/5

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

Schema coverage is 75% and the schema already documents dry_run, data_dir and workspace defaults. The description only reinforces the dry_run option and implies the harness values by listing clients, so it adds little beyond the schema — baseline 3 is appropriate.

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?

States a specific verb and resource ('Add the venira MCP entry to a target client's config') and enumerates the supported clients, which maps directly to the harness enum. It is clearly distinct from the config-writing siblings like project_write_file and from the discovery sibling project_detect_harnesses.

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 'Use when' with a trigger phrase and 'Avoid when' naming the alternative (run project_detect_harnesses first when the path is unknown) plus the dry_run escape hatch. The user is routed to the right sibling or option without inference.

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