Skip to main content
Glama

Resolve version, edition and product

resolve_openvidu_version_edition_product
Read-onlyIdempotent

Answers "which OpenVidu version, edition and product does this project use?". Called with NO arguments, it returns the full procedure a coding agent follows to find out from the deployment itself: telling OpenVidu Platform (LiveKit SDKs) from OpenVidu Meet, locating the deployment URL and its credentials, querying the endpoint that reports version and edition, the fallbacks when that endpoint is unavailable, and the security rules that apply throughout. Use it before answering anything version-, edition- or product-dependent, unless the project's AGENTS.md/CLAUDE.md already pins it. Called WITH 'livekit_version', it additionally translates a LiveKit Server version (as printed in OpenVidu LiveKit Server's startup log) into the OpenVidu version(s) built on it — the fallback path of the procedure for deployments before 3.9.0, which cannot report their own version. Called with 'commands': true, it returns the exact commands that ask a deployment for its version and edition, keeping its credentials out of sight. Never infer any of the three facts from the project's client SDK dependency versions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandsNotrue: the exact commands that ask the deployment for its version and edition, Step 3 of the procedure. Only once there is a deployment to ask.
livekit_versionNoOptional. LiveKit Server version the deployment is built on, e.g. '1.9.8', as printed in OpenVidu LiveKit Server's startup log. Only for deployments before 3.9.0, which cannot report their own version. Omit it to get the detection procedure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only cover the safety profile (read-only, idempotent, closed-world); the description adds substance beyond that, disclosing that the return value is a multi-step procedure including endpoint queries, fallbacks and security rules, that a credential-hiding mode exists via 'commands', and that the tool acts as the documented fallback path for pre-3.9.0 deployments that cannot self-report.

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 purpose is front-loaded in the first clause and every subsequent sentence carries distinct information (modes, fallbacks, security, prohibition), so little is wasted. It is nonetheless a single dense paragraph with long em-dash clauses that would scan faster if the three invocation modes were broken out.

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 zero required parameters and no output schema, the description still covers what is returned (a procedure and, optionally, commands), the conditions under which each mode applies, the security handling of credentials, and the explicit non-inference rule. Nothing an agent needs in order to call it correctly is missing.

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?

Schema coverage is 100%, so the baseline is 3, but the description meaningfully exceeds the schema: it explains that the no-argument call yields the detection procedure, that 'livekit_version' triggers version translation and is only valid for pre-3.9.0 deployments, and that 'commands' maps to Step 3 of the procedure. It adds routing and eligibility meaning the plain schema does not.

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?

It states a precise, narrow purpose in the form of the question it answers ('which OpenVidu version, edition and product does this project use?') and distinguishes itself from plain documentation lookups by describing a procedure derived from the deployment itself. It never names or contrasts with sibling tools such as list_versions or get_doc_page, so an agent must infer the boundary rather than being told it.

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 gives an explicit trigger ('before answering anything version-, edition- or product-dependent'), an explicit exclusion ('unless the project's AGENTS.md/CLAUDE.md already pins it'), and per-argument conditions ('only for deployments before 3.9.0', 'only once there is a deployment to ask'). It also states a hard prohibition on an alternative inference path ('never infer ... from the project's client SDK dependency versions').

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources