Skip to main content
Glama

register_repo

Registers a local repository in the cross-repo registry, enabling it to appear in fleet-wide snapshots. Use once per repository during multi-service Veris setup.

Instructions

Adds a local repository to the user-level cross-repo registry at ~/.veris/registry.json. Subsequent calls to cross_repo_snapshot will include this repo in the fleet view. Setup-time call, typically run once per repo when bootstrapping a multi-service Veris environment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable repo name. Shown in cross-repo snapshots.
pathYesAbsolute filesystem path to the repository root.
tagsNoOptional tags for grouping (e.g. ['frontend','prod','checkout-flow']).

Implementation Reference

  • handleRegisterRepo handler: instantiates a CrossRepoRegistry, calls reg.register(name, path, tags), and returns the resulting entry as text.
    private handleRegisterRepo(args: any) {
        const reg = new CrossRepoRegistry();
        const entry = reg.register(args.name, args.path, args.tags);
        return this.text(entry);
    }
  • Case registration in the tool dispatch switch: maps 'register_repo' to handleRegisterRepo(args).
    case "register_repo": return this.handleRegisterRepo(args);
  • Tool definition for register_repo: requires 'name' (string) and 'path' (string), optional 'tags' (string array). Description explains it adds a repo to ~/.veris/registry.json.
    { name: "register_repo",
      description: "Adds a local repository to the user-level cross-repo registry at ~/.veris/registry.json. Subsequent calls to cross_repo_snapshot will include this repo in the fleet view. Setup-time call, typically run once per repo when bootstrapping a multi-service Veris environment.",
      inputSchema: { type: "object", properties: { name: { type: "string", description: "Human-readable repo name. Shown in cross-repo snapshots." }, path: { type: "string", description: "Absolute filesystem path to the repository root." }, tags: { type: "array", items: { type: "string" }, description: "Optional tags for grouping (e.g. ['frontend','prod','checkout-flow'])." } }, required: ["name", "path"] } }
  • CrossRepoRegistry.register(): resolves the path, checks for existing entry (updates it) or creates a new RepoEntry, persists to ~/.veris/registry.json.
    public register(name: string, repoPath: string, tags?: string[]): RepoEntry {
        const abs = path.resolve(repoPath);
        const existing = this.data.repos.find(r => r.path === abs);
        if (existing) {
            existing.name = name;
            existing.tags = tags || existing.tags;
            this.persist();
            return existing;
        }
        const entry: RepoEntry = { name, path: abs, addedAt: new Date().toISOString(), tags };
        this.data.repos.push(entry);
        this.persist();
        return entry;
    }
  • RepoEntry interface: shape of a registered repository with name, path, addedAt, and optional tags.
    export interface RepoEntry {
        name: string;
        path: string;
        addedAt: string;
        tags?: string[];
    }
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the tool modifies a user-level file and affects future cross-repo snapshots. However, it does not mention whether duplicates are overwritten, permissions needed, or error behavior, leaving some gaps.

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 three sentences long, front-loads the core action and target, and provides necessary context without waste. Every sentence adds value.

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?

For a simple registration tool with three parameters and no output schema, the description covers the registry location, the effect on cross-repo-snapshot, and typical usage. It could additionally clarify idempotency or whether it overwrites existing entries, but is largely sufficient.

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 100%, so the schema already documents each parameter. The description adds a little extra context (e.g., 'name is shown in snapshots', 'path is absolute'), but not enough to significantly exceed the baseline score of 3.

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 that register_repo adds a local repository to a specific registry file (~/.veris/registry.json) and explains how it feeds into cross_repo_snapshot. This distinguishes it from sibling tools like allocate_budget or what_if_revert.

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 specifies that it is a setup-time call, typically run once per repo during bootstrapping of a multi-service environment. It does not explicitly mention when not to use it or provide alternatives, but the context strongly implies its role.

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

Install Server

Other Tools

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/vighriday/Veris'

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