Skip to main content
Glama

OVB3 — Oracle Visual Builder Bridge

OVB3 = Oracle Visual Builder + 3 (a nod to Thrishul — त्रिशूल, trident) + Bridge.

MCP server + CLI for driving Oracle Visual Builder Studio (VBS) / Visual Builder Cloud Service (VBCS) app development from Claude — reading/writing VBCS artifacts, running Oracle's build/audit tasks, and (once a live dev instance is available) driving VB Studio's CI/CD REST API.

This favors artifact/git-based automation (editing the JSON/JS files VB Studio projects are made of, then using git + Oracle's own grunt-vb-* tasks) over browser automation of the VB Studio design-time UI, which has no documented public API and is brittle to script.

The toolkit targets a whole VBS instance, not one hardcoded app: an instance hosts multiple VB Studio projects (each its own git repo), and each repo can hold multiple VBCS web apps under webApps/. Every tool takes the repo and app as arguments; nothing is wired to a single project.

Install

git clone https://github.com/vanamthrishul/ovb3-bridge.git
cd ovb3-bridge        # or whatever local folder name you cloned it into — that's cosmetic
npm install          # also compiles TypeScript into dist/ (via the "prepare" script)
npm run cli -- init   # guided setup — see below
npm test              # optional sanity check — should be all green

That's the whole install. There's no npm-registry package and deliberately no "one-line npx install" — this tool holds real per-machine state (your .env credentials, and local checkouts of VBS repos under VBS_WORKSPACE_DIR), so a stable clone is the right model, not an ephemeral npx run. Clone it once to wherever you keep dev tools, configure it there, and point any Claude Code project's .mcp.json at that one stable checkout (see below).

ovb3 init — guided setup

npm run cli -- init (or just ovb3 init once installed on your PATH) walks you through linking either a VB Studio project or a standalone VBCS instance, and writes the relevant non-secret fields into .env for you (creating it from .env.example first if it doesn't exist yet). This is the CLI-native equivalent of the /link slash command below — same rules, same fields, just usable without Claude Code. Like /link, it never asks for or writes credentials; those are always yours to fill into .env directly.

Using it in Claude Code

This repo already has .mcp.json + .claude/commands/vbs-*.md committed, so opening this folder in Claude Code and starting a new session picks up both automatically (MCP servers and commands are loaded at session start — restart/reload if you had a session open before installing).

Any other project: add an entry to that project's own .mcp.json pointing at this checkout's absolute path:

{
  "mcpServers": {
    "vbcs": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/ovb3-bridge/dist/server.js"]
    }
  }
}

Then copy .claude/commands/vbs-*.md from this repo into that project's .claude/commands/ if you want the /vbs-* shortcuts there too.

The MCP server key (vbcs) and the /vbs-* command prefix are left as-is after the OVB3 rename on purpose — they name the domain (VB Studio/VBCS), not the project brand, so they don't need to track whatever this repo is called.

Related MCP server: workday-studio-mcp

Using it — quick tour

Start with /link — a guided setup that asks whether you're connecting to a VB Studio project (git-backed) or a standalone VBCS instance (REST-only, no git remote), collects the details, and writes the relevant non-secret .env vars for you. Secrets (git tokens, IDCS password) are never asked for or written by /link — you fill those into .env yourself, as always. (Not using Claude Code? ovb3 init from a terminal does the same thing — see above.)

Once linked, use /vbs-* commands for a VB Studio-backed project, or /vbcs-* commands for a standalone VBCS instance:

Command

What it does

/vbs-help

Lists all /vbs-* commands with their arguments

/vbs-list-repos

Local VB Studio project checkouts under VBS_WORKSPACE_DIR

/vbs-list-apps <repo>

VBCS apps inside a repo (webApps/<name>)

/vbs-read <repo> <path>

Read an artifact file

/vbs-write <repo> <path> [file]

Write an artifact file

/vbs-list-artifacts <repo> <glob>

Find artifacts matching a pattern

/vbs-git-status <repo>

Git status

/vbs-git-commit <repo> <message>

Stage + commit

/vbs-git-pull <repo>

Pull

/vbs-git-push <repo>

Push

/vbs-run-build <repo> [app]

Run grunt-vb-build

/vbs-run-audit <repo> [app]

Run grunt-vb-audit

<repo> is either the exact folder name under VBS_WORKSPACE_DIR, an absolute path, or -/omitted to use the VBCS_REPO_PATH default.

For a standalone VBCS instance (no VB Studio project, no git remote — see /vbcs-help for the always-current, self-generated list):

Command

What it does

/vbcs-help

Lists all /vbcs-* commands with their arguments

/vbcs-list-apps

Applications on the linked VBCS instance

/vbcs-lock-app <branchId>

Lock a live application

/vbcs-unlock-app <branchId>

Unlock a live application

/vbcs-export-data <appName> <appVersion> <boName>

Export a business object's data records

These call the standalone VBCS REST API directly (VBCS_BASE_URL in .env), not a git repo — there's no /vbcs-read//vbcs-write equivalent because Oracle doesn't expose page/flow CRUD over REST for standalone instances, only the operations above plus data import (still stubbed — see Status).

Typical first run:

/vbs-list-repos                              # see what's checked out
/vbs-list-apps my-vbs-project                # see the apps inside it
/vbs-read my-vbs-project webApps/myApp/flows/main/main-flow.json

You don't have to use the slash commands — plain requests like "read the order-entry page flow in myApp" work too, since they resolve to the same underlying MCP tools. The commands just save you from typing that out every time.

.env

See .env.example for the full list. Key ones:

  • VBS_WORKSPACE_DIR — a local directory containing checkouts of one or more VB Studio project repos. list_repos / list_apps discover what's available under here.

  • VBCS_REPO_PATH / VBCS_APP_NAME — optional single-repo/app defaults, for when a tool call doesn't specify one explicitly.

  • VBSTUDIO_GIT_* — git remote + auth for commit/push/pull helpers.

  • IDCS_* / VBSTUDIO_API_BASE_URL — VB Studio's own REST API auth (builds, pipelines, issues). Leave blank for now; the vbstudio_* tools are stubs — no live VB Studio instance access has been confirmed for this API yet, so its endpoint shapes aren't wired up (see "Status" below).

  • VBCS_BASE_URL / VBCS_IDCS_USERNAME / VBCS_IDCS_PASSWORD — a standalone VBCS instance's own REST API (different product/auth from VB Studio's). VBCS_BASE_URL is normally set by /link; the two credential vars are always yours to fill in directly.

Checking out a VBS repo to work against

# clone target repos into the workspace dir (uses VBSTUDIO_GIT_TOKEN from .env)
git clone https://<username>@<your-vb-studio-host>/.../scm/<repo>.git workspace/<repo-name>

Then /vbs-list-repos / /vbs-list-apps will pick it up immediately — no toolkit restart needed, since discovery reads the filesystem live.

grunt-vb-build / grunt-vb-audit

These are Oracle-provided npm packages distributed via a private Oracle CDN tarball feed, not public npm. Install them into whichever VB Studio repo checkout you're building/auditing (not into this toolkit's own node_modules) — follow Oracle's own install steps for those packages in whichever VB Studio project you're working against. run_build / run_audit shell out to npx grunt vb-build / npx grunt vb-audit inside that repo — both task names confirmed correct against real installed package source. Both also need your org's Component Exchange URL (VB_BUILD_COMPONENT_EXCHANGE_URL in .env) to work on apps with shared/custom components (the normal case); without it, run_build fails with Oracle's own "Missing mandatory component exchange URL" error. run_audit additionally needs working connectivity to a live VB Studio backend/tenant service — unresolved as of now, see build.ts.

Running the MCP server or CLI directly

npm run build && npm start   # MCP server over stdio
npm run dev                  # MCP server, dev mode (tsx, no build step)
npm run cli -- init          # guided setup (see above)
npm run cli -- list-repos    # CLI, for manual testing without an MCP host
npm run cli -- list-apps <repo>
npm run cli -- read <repo> webApps/myApp/flows/main/main-flow.json
npm run cli -- run-build <repo> myApp
npm run cli -- vbcs-list-apps [filter]              # standalone VBCS instance (VBCS_BASE_URL)
npm run cli -- vbcs-lock-app <branchId>
npm run cli -- vbcs-unlock-app <branchId>
npm run cli -- vbcs-export-data <appName> <appVersion> <boName>

Every tool call — whether through MCP or the CLI — is logged to stderr: path/repo/app touched, git operations, and live-streamed stdout/stderr for build/audit runs. Nothing happens silently.

Status

Scaffolded and verified against a real cloned VBS project repo: discovery, artifact read, glob listing, and git status all confirmed working against live data.

Standalone VBCS REST API (/vbcs-* commands, src/tools/vbcs-api.ts): list applications, lock/unlock, and export business-object data are implemented against endpoint shapes confirmed from Oracle's published docs, and have been exercised and confirmed working against a real live instance — including the token response and applist response shapes. Import business-object data and credential management are deliberately left stubbed/unbuilt (unpublished request shapes / not needed yet).

VB Studio's own REST API (vbstudio_* tools — a separate product/integration from standalone VBCS above, different base URL and auth) is still fully stubbed: no live VB Studio instance access has been confirmed for it, so its endpoint shapes are deliberately not guessed at.

This folder is the ongoing development home for the toolkit — new tools and fixes land here and get pushed up, not maintained as a separate release artifact.

Available Tools

19 tools
git_cloneA

Clone a git remote into VBS_WORKSPACE_DIR so it's discoverable by list_repos. Used by /link's VBS setup flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
destNameYesDestination folder name under VBS_WORKSPACE_DIR
remoteUrlYesGit remote URL to clone

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the core behavior (cloning into VBS_WORKSPACE_DIR) and the side effect (discoverability by list_repos), but it does not address potential overwriting, failure modes, authentication requirements, or what happens if destName already exists.

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 with no filler. It front-loads the action and destination, then adds the purpose and usage context, making every word deliver 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?

Given the simplicity of a clone operation with two well-documented parameters and no output schema, the description adequately covers the purpose, destination, and integration with list_repos. It could mention error handling or prerequisites (e.g., network, credentials), but the essential context is present.

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?

The input schema has 100% description coverage for both parameters, so the baseline is 3. The description does not add any parameter-specific detail beyond what the schema already provides, only reaffirming the destination directory.

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 action ('Clone a git remote'), the target resource (git remote), and the destination (VBS_WORKSPACE_DIR), while also distinguishing it from siblings like git_pull and list_repos by noting its role in making repos discoverable via list_repos.

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 clear context for when this tool is used (to clone a remote into the workspace for discovery by list_repos, specifically in /link's VBS setup flow), but it does not explicitly mention when not to use it or name alternative tools for related operations like updating an existing repo.

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

git_commitC

Stage and commit changes in a repo checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
filesNoSpecific repo-relative files to stage; omit to stage all changes
messageYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the operation but does not disclose that the commit is local and not pushed, what happens to staged files, or whether authentication is needed. Side effects and response behavior are absent.

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 a single, front-loaded sentence with no waste. It is appropriately concise, but it lacks any auxiliary context that would make it more informative without becoming bloated, so it earns a 4 rather than a 5.

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

Completeness2/5

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

For a mutating git tool with no annotations and no output schema, the description is too sparse. It does not explain that the commit is local, does not mention return values, and does not relate to sibling git workflow tools like git_status or git_push, making it incomplete for an agent to invoke safely in context.

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?

The input schema already documents repo and files with helpful descriptions, covering 67% of parameters. The tool description itself adds no parameter-specific meaning, but it does not contradict the schema. Message is left with only its name/type, so the description does not compensate, but schema coverage is sufficient for a baseline 3.

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

Purpose4/5

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

The description 'Stage and commit changes in a repo checkout.' clearly identifies the action and target. It is specific enough to distinguish from siblings like git_status or git_pull, but it does not explicitly mention alternatives or edge cases, so it stops short of a top score.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as git_status, git_push, or git_clone. The description does not include prerequisites (e.g., existing checkout, clean status) or workflow context, leaving the agent to infer usage from the name.

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

git_pullC

Pull from the repo's remote.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
branchNo
remoteNo

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. 'Pull from the repo's remote' fails to mention that a pull fetches and merges changes, may cause merge conflicts, or modifies the local working directory—critical side effects for an agent to anticipate.

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

Conciseness3/5

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

The description is a single simple sentence, which is concise and front-loaded. However, it is under-specified rather than efficiently informative, omitting essential operational details while saying very little.

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

Completeness2/5

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

Given the tool has three optional parameters, no annotations, and no output schema, the description is too sparse. It doesn't address parameter usage, return values, or failure modes, leaving the agent without enough context to invoke the tool confidently.

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

Parameters2/5

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

Schema description coverage is only 33%, and the tool description adds little meaning for the branch and remote parameters beyond what their names imply. It doesn't explain defaults, behavior, or how they interact with the pull operation, so it fails to compensate for the schema's gaps.

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

Purpose4/5

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

The description uses the specific verb 'pull' and identifies the target as 'the repo's remote,' clearly conveying the core operation. However, it doesn't explicitly differentiate from git_clone or describe the effect on the current branch, so it stops short of full distinction.

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

Usage Guidelines2/5

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

No guidance is provided about when to use git_pull versus alternatives like git_clone or git_status. It doesn't mention typical scenarios (e.g., updating a checkout) or prerequisites such as having a configured remote or clean working tree.

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

git_pushC

Push to the repo's remote.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
branchNo
remoteNo

TDQS

C2.4/5.0
Behavior1/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 of behavioral disclosure. It only states the action without explaining possible side effects, failure conditions, authentication requirements, or whether it modifies the remote state. The description is purely a verb phrase with no 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.

Conciseness3/5

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

The description is a single sentence with no wasted words, but it is under-specified for a tool with three parameters and no annotations. It is appropriately concise but lacks necessary detail, making it merely adequate rather than exemplary.

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

Completeness1/5

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

Given the tool's complexity (3 params, no annotations, no output schema), the description is highly incomplete. It does not explain what happens on push (e.g., whether it pushes current branch vs other branches), return values, error scenarios, or any integration with sibling Git tools. The description is too minimal to support safe and correct use.

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

Parameters1/5

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

The description adds no information about the three parameters (repo, branch, remote). The schema covers only 'repo' with a description; 'branch' and 'remote' are left completely undocumented. The tool description does not compensate for this low schema coverage, leaving agents without guidance on how to correctly fill parameters.

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 'Push to the repo's remote' uses a specific verb ('push') and identifies the resource ('repo's remote'), clearly distinguishing it from sibling Git tools like git_commit (commit locally) and git_pull (pull from remote). It is immediately clear what operation this tool performs.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as git_commit or git_pull. There is no mention of prerequisites (e.g., having commited changes, needing to push a specific branch) or when not to use it. The usage context is only implied by the verb 'push'.

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

git_statusA

Show git status for a repo checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The verb 'show' implies a read-only operation, but the description doesn't explicitly disclose safety characteristics or any behavioral caveats such as whether it contacts the remote.

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?

A single sentence, front-loaded with the action and subject, with zero waste.

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 one-parameter read-only tool, the description is adequately complete. The schema covers parameter semantics, and the description states the purpose without needing elaborate context. It lacks the richer guidance of examples like get_calls, hence a 4.

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?

The input schema provides complete descriptions for the 'repo' parameter, including resolution semantics and a pointer to list_repos. The description adds no additional parameter context, so the baseline 3 applies.

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 a specific verb 'show' and resource 'git status' for a 'repo checkout', clearly distinguishing it from sibling git tools like git_commit, git_pull, and git_clone.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives. It doesn't mention that it's useful for inspecting state before committing, nor does it explain any exclusions or related tools.

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

list_appsA

List VBCS web app names (webApps/) present in a repo checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. The verb 'List' implies a read-only operation, and the description specifies the output format 'webApps/<name>', but it does not explicitly state that it does not modify anything or surface potential side effects. This is adequate but minimal.

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 a single, focused sentence that front-loads the action and resource. It contains no filler, repetition, or unnecessary details, making it highly efficient.

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?

This is a simple list tool with one optional parameter, and the description covers the core purpose and the output format 'webApps/<name>'. The schema handles parameter details, and no output schema exists, so the description adequately explains what to expect. It lacks mention of error cases or empty results, but that is not critical for this tool.

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?

The single parameter 'repo' is fully described in the input schema (100% coverage), so the description adds no additional parameter meaning. The schema already explains path resolution, defaults, and how to list available repos, so the description's omission of parameter details is acceptable.

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 states 'List VBCS web app names (webApps/<name>) present in a repo checkout', giving a specific verb (List), resource (VBCS web app names), and scope (repo checkout). The format 'webApps/<name>' distinguishes it from siblings like list_repos and list_artifacts.

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 the tool is for enumerating app names in a repo checkout, but it doesn't explicitly mention when to use this over alternatives like vbcs_list_applications. However, the context of 'repo checkout' provides clear situational guidance for when this tool applies.

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

list_artifactsA

List artifact files in a repo matching a glob pattern, e.g. 'webApps//flows/**/.json'.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
patternYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'List' implies a read-only operation, but no further behavioral traits are disclosed (e.g., recursion behavior, error handling, output format). This is a significant gap for a tool with zero annotation support.

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 a single, front-loaded sentence with no redundant information. It conveys the core purpose and an example without wasting words.

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

Completeness3/5

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

For a simple listing tool with no output schema and no annotations, the description is adequate but not complete. It does not state what the returned artifact list looks like or how repo is resolved without a schema-derived understanding. The example helps, but edge cases are unaddressed.

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?

The schema documents repo but not pattern (50% coverage). The description adds meaning to pattern by explaining it as a glob and giving an example, which partially compensates. It also ties both parameters together in context, but does not fully explain repo resolution beyond what the schema already states.

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 states a specific verb ('List') and resource ('artifact files') with scope ('in a repo matching a glob pattern') and provides a concrete example pattern. This clearly distinguishes it from sibling tools like list_repos and list_apps.

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

Usage Guidelines3/5

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

The intended use case is implied: use when you need to list artifact files matching a glob pattern. However, there is no explicit when-to-use or exclusions, and no alternatives are mentioned. The schema hints at using list_repos for repo discovery, but that guidance is not in the description.

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

list_reposA

List local VB Studio project repo checkouts discoverable under VBS_WORKSPACE_DIR.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It clarifies the operation is local and scoped to VBS_WORKSPACE_DIR, which is useful. However, it does not disclose edge cases such as behavior when the directory is missing, whether subdirectories are scanned recursively, or any filtering of hidden/ignored repos.

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 a single, front-loaded sentence that states the action and scope without unnecessary words. Every word earns its place.

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 zero-parameter listing tool, the description is largely sufficient. It clearly states what is listed and where. It could be slightly more complete by mentioning what is not included (e.g., remote repos, non-checkout directories), but given the simplicity, the current description meets most needs.

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, so the baseline is 4. The description naturally adds no parameter-specific semantics because there are none to describe. This 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?

The description uses a specific verb 'List' and a clear resource: 'local VB Studio project repo checkouts discoverable under VBS_WORKSPACE_DIR.' This distinguishes it from siblings like list_apps and vbstudio_list_projects by specifying the local filesystem scope and environment variable.

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

Usage Guidelines3/5

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

The description implies usage for listing local repo checkouts, but it does not explicitly state when to use this tool versus alternatives like git_status or vbstudio_list_projects. No exclusions or alternative conditions are provided, leaving context to inference.

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

read_artifactA

Read a VBCS artifact file (page/flow/chain/service JSON, etc) by repo-relative path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRepo-relative path, e.g. webApps/myApp/flows/main/main-flow.json
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. The verb 'Read' implies a safe, read-only operation, but the description does not mention return format, error handling, or confirm no side effects. It is minimally transparent but not richly detailed.

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 a single, front-loaded sentence with no filler. Every word contributes to the meaning, making it highly concise and well-structured.

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 two-parameter tool with no output schema, the description is fairly complete. It names the artifact types and the path-based access method. However, it could explicitly state that the tool returns the file content, an omission given no output schema is present. Still, the simplicity keeps it adequate.

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 description coverage is 100%, so the baseline is 3. The description adds little beyond the schema—merely restating that reading is by path. No additional meaning is provided for the 'path' or 'repo' parameters beyond what the schema already describes.

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's function: 'Read a VBCS artifact file... by repo-relative path.' It specifies the resource type (artifact file) and lists examples (page/flow/chain/service JSON), effectively distinguishing it from sibling tools like list_artifacts and write_artifact.

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 clear usage: when you need to read a specific artifact's content given its repo-relative path. It doesn't explicitly mention alternatives or exclusions, but the context is straightforward for a read operation, earning a 4 rather than a 3.

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

run_auditA

Run grunt-vb-audit for a VBCS app. Streams output live to server logs as it runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
appNameNoVBCS web app name (webApps/<name>) within the repo, or omit to use VBCS_APP_NAME default. Use list_apps to see what's available in a repo.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions that output streams live to server logs, which is helpful, but it does not disclose whether the tool modifies anything, requires permissions, or has other side effects.

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, front-loaded with the primary action. No redundant information is present.

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

Completeness3/5

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

The tool is simple with optional params and no output schema. The description explains the action and where output goes, but it omits details about return values, prerequisites, or post-completion behavior. It is adequate but not thorough.

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?

Both parameters are fully described in the schema (100% coverage), so the description adds no extra meaning beyond what the schema already provides. The baseline of 3 applies.

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's action with a specific verb and resource: 'Run grunt-vb-audit for a VBCS app.' This distinguishes it from sibling tools like run_build and vbstudio_trigger_build, which serve different purposes.

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

Usage Guidelines3/5

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

The description implies usage by naming the audit tool, but does not explicitly explain when to use it versus alternatives. It references helper tools like list_repos in the parameter descriptions but provides no direct guidance or exclusion criteria.

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

run_buildA

Run grunt-vb-build for a VBCS app. Streams output live to server logs as it runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
appNameNoVBCS web app name (webApps/<name>) within the repo, or omit to use VBCS_APP_NAME default. Use list_apps to see what's available in a repo.

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses that output is streamed live to server logs, which is a useful behavioral trait, especially given no annotations are provided. It does not cover potential side effects such as repository modifications, permission requirements, or failure behaviors, but the core streaming behavior is stated.

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, front-loading the primary purpose and adding a valuable behavioral note about live streaming. There is no redundant information or unnecessary length.

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

Completeness3/5

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

The tool is simple with two optional params, and the description covers the core action and output streaming. However, with no output schema, it does not explain what the tool returns on success/failure, and it does not differentiate from vbstudio_trigger_build in the sibling context, leaving some ambiguity.

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?

The input schema provides 100% coverage of parameter descriptions, explaining defaults and how to find valid values via list_repos and list_apps. The main description adds no additional parameter semantics, so the baseline score of 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?

The description states a specific action: 'Run grunt-vb-build for a VBCS app.' This clearly identifies the tool's purpose and distinguishes it from sibling build tools like vbstudio_trigger_build and run_audit by naming the exact build command and target.

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 usage for building VBCS apps, and the parameter descriptions in the schema provide workflow guidance by referencing list_repos and list_apps to discover valid values. However, it does not explicitly mention when to choose this tool over alternatives like vbstudio_trigger_build, nor does it state any exclusions.

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

vbcs_export_bo_dataC

Export a business object's data records from a standalone VBCS instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
boNameYes
appNameYes
appVersionYes

TDQS

C2.8/5.0
Behavior2/5

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

There are no annotations to fall back on, and the description only repeats the action of exporting without disclosing behavioral traits. It does not explain what the export output looks like, whether it is a downloadable file or an array of data, or any side effects or permissions needed. For a tool with no annotation coverage, this is insufficient.

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 one concise, front-loaded sentence with no redundancy or filler. It effectively communicates the core action. However, it is so brief that it sacrifices valuable details, making it not quite a 5.

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

Completeness2/5

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

With 3 required parameters and no output schema, the description is inadequate for an agent to invoke the tool correctly. It does not mention return values, prerequisites, or any operational constraints. The information provided is minimal and leaves many gaps that would require additional investigation or assumptions.

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

Parameters1/5

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

The schema has 0% description coverage, and the description does not explain any of the three required parameters (boName, appName, appVersion). The parameter names are somewhat self-explanatory, but the description adds no additional meaning or context, leaving the agent to guess how to fill them correctly.

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's function with a specific verb 'Export' and a specific resource 'a business object's data records', and it also specifies the context 'from a standalone VBCS instance'. This distinguishes it from sibling tools like list_apps or vbcs_list_applications, which are about listing, not exporting data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or comparisons to sibling tools such as read_artifact or vbcs_list_applications. The only contextual hint is 'standalone VBCS instance', but this is not developed into actionable usage guidance.

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

vbcs_list_applicationsA

List applications on a standalone VBCS instance via its REST API (VBCS_BASE_URL). For VBCS apps not backed by a VB Studio git repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional query filter, passed through as-is

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It indicates a read-only list operation ('List') and mentions the REST API with VBCS_BASE_URL, providing a prerequisite context. However, it does not disclose behavior such as pagination, authentication requirements, rate limits, or error handling, which could matter in practice.

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?

Two concise sentences, front-loaded with the core action and resource. The second sentence adds a critical scope qualifier without any fluff.

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 list tool with one optional parameter and no output schema, the description adequately covers the use case and key constraint. It mentions the REST API and VBCS_BASE_URL, and the standalone vs. git-backed distinction. It doesn't explain return format, but that's not required given the tool's simplicity.

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?

The schema covers 100% of the parameter (filter) with its own description, so the baseline is 3. The tool description does not add any extra meaning about how to use the filter parameter, deferring entirely to 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 clearly states the tool lists applications on a standalone VBCS instance via its REST API, specifying both the resource and the method. It distinguishes from sibling tools like list_apps and list_repos by clarifying the scope: 'standalone VBCS instance' and 'not backed by a VB Studio git repo.'

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 clear context: use this for standalone VBCS instances, and explicitly states it is for apps NOT backed by a VB Studio git repo, implying alternatives exist. While it doesn't name the sibling tool (list_apps) directly, the exclusion is strong enough to guide selection.

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

vbcs_lock_applicationC

Lock a live application on a standalone VBCS instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the action without disclosing side effects, reversibility, permission requirements, or impact on other users. The behavior of locking is left entirely to inference.

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 a single, front-loaded sentence with no redundant words. It is appropriately sized for a simple action and every word adds value.

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

Completeness2/5

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

The tool is simple (one param, no output schema), but the description is too minimal to be complete. It fails to explain what locking actually does, whether it is reversible, or what happens if the application is already locked. More context is needed for safe and correct use.

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

Parameters1/5

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

The schema has one parameter, branchId, with zero description coverage, and the tool description does not mention branchId at all. The agent receives no explanation of what branchId represents or how it affects the locking operation.

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 locks a live application on a standalone VBCS instance, using a specific verb and resource. This distinguishes it from siblings like vbcs_unlock_application and vbcs_list_applications.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as vbcs_unlock_application. There is no mention of prerequisites, typical workflows, or scenarios where locking is appropriate.

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

vbcs_unlock_applicationC

Unlock a live application on a standalone VBCS instance.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchIdYes

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden of behavioral disclosure. It only says 'unlock a live application,' implying a state transition, but does not explain permissions, reversibility, side effects on other users, or what happens if the application is already unlocked. This is a mutation operation with no safety or consequence information.

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 a single, front-loaded sentence with no filler or redundant wording. It is efficiently structured and easy to parse, making it an appropriate size for the tool's apparent simplicity.

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

Completeness2/5

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

With no annotations, no output schema, and an undocumented required parameter, the description is not sufficient for an agent to confidently select and invoke the tool. It lacks essential context about branchId, prerequisites, and postconditions. The one-liner tells what the tool does but not how to use it correctly.

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

Parameters1/5

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

The schema defines one required parameter, branchId, with no description (0% schema coverage). The description does not mention branchId at all, leaving the agent without any hint about what value to provide or how it relates to unlocking. This is a serious gap for correct invocation.

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?

Description uses a specific verb 'unlock' and clearly identifies the resource: 'a live application on a standalone VBCS instance.' This distinguishes it from the sibling vbcs_lock_application and other VBCS tools. The core action is immediately understandable.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like vbcs_lock_application. It neither states prerequisites (e.g., the application must currently be locked) nor excludes cases. The intended context is only implied by the tool's name and one-line description.

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

vbstudio_list_projectsA

[NOT IMPLEMENTED] List VB Studio projects on the instance. Blocked until a live dev instance is confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden. The [NOT IMPLEMENTED] status and 'Blocked' qualifier are critical behavioral traits that prevent an agent from making a doomed call. It doesn't describe return values or error behavior, but the non-functional status is the most important disclosure.

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 a single sentence with the status flag front-loaded. Every word serves a purpose: what it lists, where, and its current limitation. No redundancy or filler.

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 stub tool with no parameters and no output schema, the description covers the essential facts: the intended operation, the blocking status, and the condition for unblocking. It lacks return format details, but since the tool is not yet usable, that's acceptable.

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 schema coverage is 100%, so there is no parameter detail to add. The baseline of 4 applies because the description doesn't omit any parameter information; there simply isn't any.

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 action (list) and resource (VB Studio projects) with context ('on the instance'). It distinguishes from sibling tools like list_repos and vbcs_list_applications by the specific 'VB Studio projects' resource. The [NOT IMPLEMENTED] flag doesn't obscure the intended purpose.

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 'Blocked until a live dev instance is confirmed' provides explicit when-not guidance, telling the agent not to invoke the tool yet. It implies it should be used once the instance is available, but no alternative tools are mentioned, so it stops short of a full 5.

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

vbstudio_trigger_buildC

[NOT IMPLEMENTED] Trigger a CI/CD build via the VB Studio REST API. Blocked until a live dev instance is confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNameYes
projectKeyYes
environmentNo

TDQS

C2.8/5.0
Behavior2/5

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

The description discloses that the tool is not implemented and is blocked, which is a key behavioral trait. However, it does not describe what happens if the tool is called (error, no-op, etc.) or any side effects, permissions, or rate limits. With no annotations, this is a significant gap.

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 two short sentences with the NOT IMPLEMENTED marker front-loaded, making it easy to scan. Every word serves a purpose, though it is minimal.

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

Completeness2/5

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

For a tool that is not implemented, the description adequately signals that it should not be used. However, it provides no information about the build trigger behavior, parameter meanings, or relation to other tools, leaving it incomplete for when it becomes available.

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

Parameters1/5

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

The schema has zero description coverage, and the description mentions none of the three parameters (appName, projectKey, environment). The agent has no context for what values these should take, making parameter semantics effectively nonexistent.

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

Purpose4/5

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

The description clearly states the tool triggers a CI/CD build via the VB Studio REST API, which is a specific action and resource. However, it does not explicitly differentiate it from sibling tool run_build or vbstudio_trigger_deploy, so it's clear but not fully distinct.

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

Usage Guidelines3/5

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

The description provides an explicit condition: 'Blocked until a live dev instance is confirmed.' This tells the agent not to use the tool currently, which is a when-not instruction. However, it offers no guidance on when to use this instead of alternatives like run_build or vbstudio_trigger_deploy.

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

vbstudio_trigger_deployC

[NOT IMPLEMENTED] Trigger a deploy via the VB Studio REST API. Blocked until a live dev instance is confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNameYes
projectKeyYes
environmentYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description carries full responsibility for behavioral disclosure. It only states the action and status; it does not disclose authentication requirements, side effects, error behavior, or response format. The 'Blocked' note provides some operational status, but overall transparency is minimal.

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

Conciseness3/5

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

One short sentence, efficient and front-loaded with the '[NOT IMPLEMENTED]' warning. However, it is under-specified to the point of being terse, though conciseness itself is not the primary issue.

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

Completeness1/5

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

With no output schema, no annotations, and no parameter details, the description is not complete enough to guide correct invocation. It does not explain how to obtain required values (e.g., environment format, projectKey) or what a successful response looks like. The 'NOT IMPLEMENTED' status lowers urgency, but the definition still lacks essential context.

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

Parameters1/5

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

Schema has 0% description coverage for the three required parameters (appName, projectKey, environment). The description does not mention or explain any parameter, leaving the agent with only the parameter names for semantic inference.

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

Purpose4/5

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

Description states a specific action: 'Trigger a deploy via the VB Studio REST API.' This distinguishes it from sibling vbstudio_trigger_build by specifying the 'deploy' resource. However, the '[NOT IMPLEMENTED]' prefix undermines clarity by indicating it is not yet operational.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like vbstudio_trigger_build. The only usage hint is 'Blocked until a live dev instance is confirmed,' which implies it should not be used yet, but no alternative or selection criteria is provided.

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

write_artifactA

Write a VBCS artifact file by repo-relative path. Refuses invalid JSON for .json paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRepo-relative path
repoNoRepo checkout to target: absolute path, or a repo name under VBS_WORKSPACE_DIR, or omit to use VBCS_REPO_PATH default. Use list_repos to see what's available on this instance.
contentYesFull file content to write

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It discloses one behavioral trait (refusing invalid JSON for .json paths) but does not mention whether it overwrites existing files, creates directories, or has any side effects. This is minimal transparency for a mutation tool.

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 sentences, front-loaded with the main action, and contains no fluff. Every sentence adds value.

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

Completeness3/5

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

The description covers the core purpose and adds one behavioral constraint, and the schema fully documents parameters. However, for a mutation tool with no annotations or output schema, important context is missing (e.g., overwrite behavior, side effects, prerequisites). It is adequate but not complete.

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 baseline is 3. The description adds no parameter-specific details beyond what the schema already provides; it only reiterates the action and adds the JSON validation rule, which is not parameter-level.

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 writes a VBCS artifact file by repo-relative path, with a specific verb and resource. It also adds a distinguishing behavioral note about refusing invalid JSON, which differentiates it from read/list operations.

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

Usage Guidelines3/5

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

Usage is implied by the name and description (write vs. read/list), but there is no explicit guidance on when to prefer this over git-based file editing or other sibling tools. The description does not mention alternatives or exclusions.

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

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: repo listing, artifact CRUD, git operations, build/audit, and VBCS/VB Studio REST calls are all clearly separated. Even similarly named tools like list_apps and vbcs_list_applications are distinguished by their local vs remote scope.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (list_repos, read_artifact, run_build), and the git_*, vbcs_*, and vbstudio_* prefixes provide meaningful grouping. However, git_* tools use a noun_verb style (git_status, git_commit) that deviates from the primary pattern, slightly reducing overall consistency.

Tool Count4/5

At 19 tools, the server is slightly above the typical 3-15 well-scoped range, but the breadth covers local repo management, build tooling, and two distinct remote APIs. The three [NOT IMPLEMENTED] tools add to the count without contributing functionality, but the overall scope justifies the number.

Completeness3/5

The core bridge workflows are covered: get local repo status, commit/pull/push, read/write artifacts, build, and interact with standalone VBCS apps. However, the VB Studio integration is entirely unimplemented, and there are no artifact delete/update operations or BO data mutation, leaving notable gaps for a comprehensive bridge.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides comprehensive access to Salesforce Tooling API for metadata management, SOQL queries, code analysis, and debugging through Claude and other AI assistants.
    37
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that gives Claude direct access to Workday Studio workspace. Enables reading, writing, planning, and validating integration assemblies without network calls or tenant credentials.
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that connects Claude Desktop to an Oracle Fusion Cloud instance. It exposes suppliers, purchase orders, invoices, and project costs as callable 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/vanamthrishul/ovb3-bridge'

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