Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation2/5

    With 66 tools spanning many overlapping domains, several tools have unclear boundaries—e.g., ivedaai_camera vs ivedaai_add_camera, ivedaai_alert_rule vs ivedaai_alert_trigger vs ivedaai_alert_integration, and ivedaai_alert vs ivedaai_event. Despite detailed descriptions, the volume and conceptual overlap make misselection likely.

    Naming Consistency2/5

    All tools share the 'ivedaai_' prefix, but the remainder mixes singular and plural nouns (account, accounts), acronyms (ainvr), and verbs (get_schema, add_camera), with no consistent verb_noun pattern. While snake_case is used for multi-word names, the convention is resource-name based rather than action-based.

    Tool Count1/5

    66 tools is far beyond the typical well-scoped range and falls into the extreme mismatch category (50+). Even for a comprehensive API, this is an enormous surface that burdens discovery and selection.

    Completeness4/5

    The surface is remarkably comprehensive for the IvedaAI domain, covering CRUD for cameras, accounts, groups, alerts, rules, faces, license plates, scenes, jobs, NVRs, and more. Minor gaps exist (e.g., no delete for cloud storage, read-only histories for camera state), but core workflows are well covered.

  • Average 4.1/5 across 66 of 66 tools scored. Lowest: 3/5.

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

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

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior1/5

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

    The description says 'Get stream info', implying a read-only operation, but the annotations set readOnlyHint: false, indicating the operation may not be read-only. This is a direct contradiction between the description and the annotations. Other behavioral details (response flags) are provided, but the contradiction invalidates the transparency score.

    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 well-structured with a clear endpoint line, query/body breakdown, and response format notes. It is reasonably concise, though it packs a lot of info into a small space, making it slightly dense but organized.

    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 only one operation and no output schema, the description should fully explain behavior and return values. It does explain response flags and lists params, but it omits the actual data structure, defers to another tool for field details, and fails to disclose side effects (contradicting readOnlyHint). This is incomplete for a non-trivial operation.

    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 generic input schema only describes wrapper fields (body, query, path) without operation-specific parameters. The description compensates by listing query parameters (cameraId, doEstimate) and body requirements (CameraRequest with required cameraType), and points to ivedaai_get_schema for full field details. This adds significant meaning beyond the schema.

    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 identifies the tool's purpose with a specific verb+resource: 'POST /api/media/stream — Get stream info'. However, it does not explicitly distinguish this from sibling tools like ivedaai_streaming, so it lacks sibling differentiation.

    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 (if you need stream info, use this tool) but gives no explicit guidance on when not to use it or mentions alternatives like ivedaai_streaming. There are no exclusions or comparison to siblings.

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

  • Behavior3/5

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

    The description adds value beyond annotations by disclosing response JSON behavior: status as HTTP code and truncated/timedOut flags for cut-off responses. It does not contradict the annotations, but it omits side effects, auth needs, or mutation implications beyond the readOnlyHint/destructiveHint settings.

    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 succinct and front-loads the endpoint and response flag information. The opening 'IvedaAI API — Image operations' is somewhat redundant with the title, but overall the structure is clean and each sentence contributes needed context.

    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 output schema, the description carries the burden of explaining return values and invocation details. It only mentions status and truncated/timedOut flags, but does not clarify how to use the generic file/body/path/query parameters for this specific rotation operation, leaving critical usage ambiguous.

    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 one useful detail ('form fields (pass via body): usrFileName?:string') that clarifies the body parameter for this operation, but it does not fully explain how file, path, and query parameters should be used in combination with the endpoint.

    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 identifies the tool as handling image operations and pinpoints the specific endpoint POST /api/image/rotate for rotation. However, it does not explicitly distinguish this tool from sibling resource groups beyond the operation name, so it lacks sibling differentiation.

    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, prerequisites, or the intended workflow. The endpoint name implies a rotation use case, but there is no explicit context or exclusion of other tools.

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

  • Behavior3/5

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

    Annotations already declare destructiveHint=true and readOnlyHint=false, and the description's DELETE and PUT (cancel) operations align with this. The description adds useful response flags ('status', 'truncated', 'timedOut') and parameter format constraints (e.g., startTime as 'yyyy-MM-dd HH:mm:ss'). However, it does not explain side effects of cancellation, deletion, or any authentication or rate-limit behaviors, so it only partially supplements the annotation.

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

    Conciseness4/5

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

    The description is longer than average but highly structured as an endpoint list with parameters. The initial response JSON note is front-loaded. There is no redundant prose; every line carries operational information. It is an efficient API reference, although the sheer length might be slightly overwhelming, but each item is necessary.

    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?

    This tool encapsulates four operations with many parameters and no output schema. The description covers all endpoints, parameter details, and the top-level response fields, which is helpful. However, it omits the footage data structure, error responses, or any example, so an agent cannot fully anticipate the return payload or handle failures. Given the complexity, this is adequate but leaves gaps.

    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 input schema is generic for 'query', 'path', and 'body' with no property-level detail. The description compensates by listing concrete query parameters (offset, page, ainvrIds, startTime, etc.) with types and formats, and the path parameter footageId with its integer type. This adds significant meaning beyond the schema, though it still does not explain the functional purpose of every filter (e.g., what ainvrIds represents).

    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 identifies this as 'Footage operations' and enumerates specific endpoints: list, delete, get by id, and cancel footage. It is unambiguous about the resource type and distinguishes from sibling tools like ivedaai_camera or ivedaai_media. However, it lacks a consolidated one-sentence purpose, instead relying on REST endpoint syntax, which slightly reduces clarity for non-specialists.

    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 explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, alternatives, or exclusion criteria. The only implied usage comes from the tool title and the endpoint list. It also does not help the agent decide which operation to invoke beyond listing the operations without contextual recommendations.

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

  • Behavior3/5

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

    The description discloses response behavior (status, truncated/timedOut flags) which is useful and goes beyond the sparse annotations (all false). However, it does not clarify whether the diagnostic operation has side effects, what permissions are required, or how 'cut-off' responses may affect data integrity. With no annotations offering safety hints, this is a moderate disclosure.

    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 compact and well-structured: a brief summary, a response note, and the endpoint definition. It avoids redundancy but could be slightly more readable with a line break or formatting improvements. Every sentence contributes value, so it earns a 4.

    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?

    There is no output schema, so the description carries the burden of explaining return values; it covers status/truncation/timeout but not other potential fields. The exact values for 'method' and 'target' are undefined, and no example is provided. This leaves gaps for an agent trying to invoke the tool correctly, though it is adequate for a simple diagnostic utility.

    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 input schema defines query as a generic object with additionalProperties, so the specific parameters (method, target, parameters) are only documented in the description. The description adds types and requiredness that the schema omits, providing essential semantic guidance.

    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 names a specific operation ('POST /api/utility — Diagnose System') with a clear verb and resource, and distinguishes this utility tool from domain-specific siblings (e.g., camera, alert). However, the opening line 'Utility operations' is vague and could apply to many helpers, so it barely misses a 5.

    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. There is no mention of suitable scenarios, prerequisites, or inapplicable cases. The description simply states what the endpoint does without context for selection.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful response semantics ('status', 'truncated', 'timedOut') that go beyond annotations, but does not disclose pagination, data format, or auth requirements.

    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 compact, with three sentences covering context, response semantics, and the operation. The initial sentence is somewhat generic but not redundant, and the structure is reasonably front-loaded.

    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 one-operation GET tool, the description covers the operation and response flags, but lacks details on the returned data structure or any query parameter usage. Since there is no output schema, additional return-value detail would improve completeness.

    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?

    All five parameters have descriptions in the schema, including the operation enum listing the only valid operation. The description adds the endpoint path but no further parameter-level detail, so it relies on the schema's high coverage.

    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 states a specific operation: 'GET /api/make-models — Find make model list', clearly identifying the action and resource. It does not explicitly distinguish this tool from sibling tools, but the operation is unique and self-explanatory.

    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 retrieving the make model list via a GET request, but provides no explicit when-to-use guidance, alternatives, or exclusions. It is clear enough for an agent to infer the primary use case.

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

  • Behavior3/5

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

    Annotations include readOnlyHint:false, destructiveHint:false, and openWorldHint:false; the description adds context about response JSON fields ('status', 'truncated'/'timedOut') which is useful. It does not elaborate on permission requirements, upload side effects, or response formats beyond a brief note, but the addition about cut-off responses is valuable behavioral info.

    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 compact and well-structured, using a list format for the four endpoints with parameter details. It front-loads the response note and then enumerates operations efficiently. No fluff; every line provides operational detail.

    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?

    Given no output schema, the description hints at response structure but does not fully describe return shapes for each operation. It covers all endpoints and parameters, but for a multi-operation tool, additional context about upload handling, pagination, or error cases would improve completeness. Still, the description provides a solid overview for an agent to select the operation.

    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%, but the description adds meaningful semantics by detailing each endpoint's query/path parameters, such as types enum and required type for upload. It also explains the 'file' parameter format ({path, filename?, contentType?}) which go beyond the raw schema properties.

    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 enumerates the four sound-related API operations with HTTP methods and resources, which distinguishes it from sibling tools focused on other IvedaAI entities. However, it does not explicitly contrast itself with siblings like ivedaai_alert or ivedaai_event, but the resource name 'sound' is unambiguous.

    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 operation-specific endpoints and parameters, implying when each operation should be used (list, upload, find by id, find by type). It does not explicitly state when to prefer this tool over alternatives, or when not to use it, but the restful structure gives clear context.

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

  • Behavior4/5

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

    The description discloses useful response behaviors: 'status' is the HTTP status code, and 'truncated'/'timedOut' flags indicate cut-off responses. This adds value beyond the readOnlyHint/destructiveHint annotations. It does not discuss authentication or rate limits, but the read-only nature is clear from annotations.

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

    Conciseness4/5

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

    The description is compact and front-loaded with the response format caveat. Each line serves a purpose: the general SSE context, the response JSON explanation, and the endpoint-specific query details. It avoids filler, though the formatting could be slightly cleaner for an API reference.

    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?

    With no output schema, the description provides some return-value context (status, truncated/timedOut) but omits details about event payload structure or how a streaming response is delivered. For a single-endpoint SSE tool, it covers the essentials but leaves the agent to infer real-time streaming semantics and event data shape.

    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 description explicitly documents the query parameters 'filter' (with enum values) and 'streamCameraIds' with types, which the schema's generic 'query' object does not specify. This adds essential meaning beyond the structured schema. The operation parameter is also clarified as the endpoint path.

    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 identifies a specific operation: GET /api/system/events for server-sent events. It states the resource and HTTP method. However, the opening 'Sse operations' is a category rather than a definitive verb+resource, and it does not explicitly distinguish this from sibling tools like ivedaai_event or ivedaai_streaming.

    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?

    There is no explicit guidance on when to use this tool versus alternatives. It implies usage for streaming system events but does not state prerequisites, exclusions, or mention that sibling tools like ivedaai_event handle discrete events. The description lacks 'use when' or 'instead of' language.

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

  • Behavior2/5

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

    The description includes a useful response format note (status, truncated/timedOut) but fails to disclose the side effects of the POST 'Test' operation—whether it actually triggers alerts or is a dry-run. It also omits permission requirements and error behavior. Annotations are neutral (readOnlyHint=false, destructiveHint=false), so the description carries the burden but does not address these.

    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 compact and structured as a list of endpoints with parameters. The opening line 'IvedaAI API — AlertTrigger operations' is somewhat redundant with the title but overall every line provides useful information, with no fluff.

    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 two operations and some parameter details, but lacks per-operation return values (no output schema), detailed behavior for POST, and any error/edge-case handling. For an API tool with two endpoints and no output schema, the description is adequate but not fully complete—more details on what each endpoint returns would be needed.

    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 input schema descriptions are generic (e.g., 'JSON request body'), but the tool description adds specific parameter meaning: the 'view' query enum values (All|Fr|Id|Lpr|Pc|Post|Vc) and the body shape { trigger?:AlertTrigger }. This goes beyond the schema and helps the agent construct valid requests.

    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 explicitly lists two operations with clear verbs and resources: 'Get alert trigger metadata' and 'Test alert triggers'. This distinguishes the tool from siblings by specifying the alert-trigger resource and its 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 operation names—if you need alert trigger metadata or to test alert triggers, use this tool. However, no explicit guidance is given on when to choose this over related alert tools (e.g., ivedaai_alert, ivedaai_alert_rule), nor any exclusion conditions.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by disclosing response characteristics: 'status' as HTTP status code and 'truncated'/'timedOut' flags for cut-off responses. This is information beyond the annotations, though not exhaustive.

    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 succinct: two sentences (one for context, one for response metadata) plus a clear endpoint listing. Every sentence contributes meaningful information without redundancy or fluff.

    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 lacks an output schema, so the description must explain the return value. It only mentions status, truncated, and timedOut flags, but does not describe the actual brand data structure or array shape returned by 'List brands'. Given the simplicity of the operation, some additional detail about the response body would be necessary for a complete understanding.

    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% for all parameters, so the baseline is 3. The description itself does not explain parameter meanings beyond the schema; the operation enum and generic property descriptions in the schema already cover how to invoke the tool. No additional semantic value is added.

    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 explicitly states 'GET /api/brands — List brands', providing a specific verb+resource combination. It clearly distinguishes this tool from siblings by naming the resource 'brands' and the action 'list'.

    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 given on when to use this tool versus alternatives, nor any exclusions. The description merely lists the available operation without context for selection among the many IvedaAI sibling tools.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is covered. The description adds useful context about the response envelope ('status', 'truncated', 'timedOut'), but does not describe response content or additional behavior like auth requirements or rate limits, keeping it at a moderate level.

    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 compact and front-loaded with the response note and endpoint. The query parameters are listed efficiently. However, the opening 'IvedaAI API — EngineObject operations.' is somewhat redundant with the endpoint line, though it does provide context.

    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 operation, the description covers the essential request details (query parameters) and the response envelope. It does not explain the content of EngineObjects or any pagination defaults, but since no output schema is provided, these gaps are notable yet not severe. Overall, it is sufficiently complete for basic invocation.

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

    Parameters5/5

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

    The input schema defines the 'query' parameter as an open object with additionalProperties, so it does not enumerate specific query parameters. The description compensates fully by listing all query parameters (offset, page, pageSize, sort, etc.) with their types, adding critical meaning beyond the schema.

    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 identifies the operation as 'GET /api/engine-objects — List EngineObjects', which gives a specific verb and resource. However, it does not provide an explicit comparison to sibling tools or clarify what an EngineObject is, so it falls short of a perfect 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?

    There is no guidance on when to use this tool versus alternatives. The description only lists the operation and parameters, with no mention of prerequisites, exclusions, or other tools. This leaves the agent to infer usage solely from the resource name.

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

  • Behavior3/5

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

    Annotations already flag destructiveHint=true, and the description aligns by including a DELETE operation. It adds useful context about response JSON (status, truncated/timedOut flags) but does not disclose side effects of deletion, error handling, or authentication requirements.

    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 dense yet well-structured, using indentation and clear labels for each endpoint. It front-loads the response note and operation list, and every line adds specific value without fluff.

    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?

    With four distinct operations and no output schema, the description gives a thorough parameter map and response flag explanation, but it lacks narrative on pagination behavior, error handling, or how to select among operations. It is a solid reference but not a complete operational guide.

    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 generic schema is augmented by the description's detailed parameter lists, including types, required markers, and enums for each operation. This provides essential invocation details, though it does not explain the semantic meaning of parameters like 'scores' or 'nameContains'.

    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 explicitly lists four endpoints with specific verbs (Get, Search, Delete, Latest) and resources (face matches), making the tool's purpose unambiguous. It clearly distinguishes FaceMatch operations from sibling tools like ivedaai_face and ivedaai_face_category by focusing solely on match-related operations.

    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 or how to choose among the four operations. It lacks contextual cues such as 'use Search for filtering by attributes' or 'use Get match list when you have a faceKeyId'.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds response JSON details (status, truncated/timedOut) which discloses cut-off behavior, but it does not mention authentication requirements, rate limits, or the structure of the heatmap data itself. This adds some value beyond annotations but is not rich.

    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 well-structured: a response note up front, then the endpoint and parameters in a clean list. It's concise with no wasted sentences. The only minor issue is that some parameter semantics (fineness, threshold, forceRefresh) are not explained, but the structure itself is efficient.

    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?

    With no output schema, the description provides some return information (status, truncated/timedOut) but does not explain what the heatmap data actually contains. Optional parameters like fineness, threshold, and forceRefresh have types but no behavioral explanation. For a non-trivial operation, this leaves significant gaps.

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

    Parameters5/5

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

    The input schema is generic (query is just additionalProperties), so the description is the only place where query parameters are documented. It lists all eight parameters with types and required markers (e.g., start*, end*, cameraId?, etc.) and specifies date format for start/end. This is critical and highly valuable beyond the schema.

    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 identifies the tool's purpose: 'GET /api/statistic/heatmap — Generate heatmap'. It uses a specific verb ('Generate') and resource ('heatmap'), distinguishing it from sibling tools by being the statistic-specific tool. However, it doesn't explicitly contrast with alternatives, so it's not a full 5.

    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 listing the endpoint and parameters, making it clear this is for heatmap generation. However, it does not provide explicit when/when-not guidance or mention alternative tools for similar tasks. The usage context is implied but not fully articulated.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint and destructiveHint, so the description only needs to add extra context. It provides response JSON details (status, truncated/timedOut) and marks start/end as required, which adds useful behavioral context beyond annotations, though it omits details like pagination defaults or auth requirements.

    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 front-loaded with the API name and response notes, then structured as an operation line with a concise parameter list. While it is dense, every element serves a purpose and there is no fluff, making it appropriately sized for the complex query parameter set.

    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 read-only list operation with many optional filters and an output schema absent, the description covers the operation, required start/end range, and response flags, making it fairly complete. Minor gaps like default page size or explicit return format are acceptable given the parameter list and provided response notes.

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

    Parameters5/5

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

    The description supplies complete parameter semantics by listing all query parameters with types, required markers (start*, end*), and the type enum (bicycle|bus|car|motorcycle|person|truck|vehicle). The input schema's query property is generic, so the description carries the full burden and does so thoroughly.

    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 the operation 'GET /api/dwellHistories — Find dwell histories', using a specific verb and resource. It distinguishes itself from sibling IvedaAI tools by focusing on dwell histories, making its purpose unambiguous.

    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 does not provide any guidance on when to use this tool versus alternative IvedaAI tools. It lacks explicit exclusions or references to sibling tools, so the agent must infer usage solely from the tool name and operation line.

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

  • Behavior4/5

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

    The description adds significant context beyond the destructiveHint annotation, including the response JSON structure (status, truncated/timedOut), required field markers, and file upload format. It does not contradict annotations and reinforces the presence of a destructive DELETE operation.

    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 dense but well-organized, using headers and bullet lists to present five endpoints efficiently. It front-loads the response format and avoids redundant explanations, earning a 4.

    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 multi-endpoint tool with no output schema, the description covers most operations' inputs and points to ivedaai_get_schema for statistics details. It omits auth/rate-limit context but annotations cover safety, making the description sufficiently complete.

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

    Parameters5/5

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

    Schema coverage is 100% only for generic wrapper parameters, so the description carries the burden of explaining operation-specific parameters. It provides types, enums, requiredness (asterisks), and query/body distinctions for each endpoint, which is exemplary compensation.

    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 identifies the tool as handling Face operations and enumerates five specific endpoints with distinct actions (detection, delete, search, similarity, statistics). It distinguishes from siblings by resource name but does not explicitly differentiate from related face_* tools, so a 4 is warranted.

    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 sibling tools like ivedaai_face_match or ivedaai_face_category. It simply lists operations without context on selection criteria or prerequisites, so a 2 is appropriate.

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

  • Behavior3/5

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

    The description discloses the response envelope ('status', 'truncated'/'timedOut') and file upload format, which is useful context. However, with annotations all false, the description carries full burden and does not mention authentication, side effects beyond 'activate', or reversibility. This is moderate transparency.

    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 well-structured list of endpoints with consistent formatting, no fluff, and front-loaded general info. Despite being longer, every line provides concrete operational detail, making it efficient for a multi-operation tool.

    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?

    No output schema exists, so the description should explain return values. It covers the general response envelope but does not describe the specific data returned by each operation (e.g., what fields 'Get License' returns). The operation names are somewhat self-explanatory, but the gap in response detail limits completeness for a complex tool with six endpoints.

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

    Parameters5/5

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

    The description adds significant parameter meaning beyond the generic schema by listing specific query parameters for each endpoint (e.g., 'ainvrIds?:integer', 'activationType?:string enum:MANUAL|ONLINE'). This is essential because the schema's query property is a generic additionalProperties object.

    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 covers 'License operations' and enumerates specific endpoints with verbs like 'Get License' and 'Activate license'. While it doesn't use a single verb+resource construction, the list of operations provides clear scope. The name 'ivedaai_license' distinguishes it from sibling 'license_plate' tools.

    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 domain (licenses) and endpoint list but there is no explicit guidance on when to use this tool vs alternatives, nor any exclusions or prerequisites. The description does not mention alternative tools for similar tasks.

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

  • Behavior3/5

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

    The description adds a useful note about the response JSON structure, including 'status', 'truncated', and 'timedOut' fields, which goes beyond the minimal annotations. However, it does not disclose potential side effects (e.g., whether POST operations mutate data), authentication requirements, rate limits, or the meaning of the all-false annotations. Thus it provides only partial behavioral transparency.

    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 lengthy but well-structured, breaking down each endpoint with its parameters. It front-loads a general response note and uses a consistent format. While there is some repetition of common query parameters across the search endpoints, the organization keeps it readable.

    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?

    The description covers all four endpoints, their required/optional parameters, and the response format, which is quite comprehensive for a multi-operation tool. However, it lacks a high-level explanation of what a 'SceneObject' is, how to choose between similar search endpoints (e.g., GET vs POST vs image), and any error behavior, leaving some gaps in operational context.

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

    Parameters5/5

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

    The input schema only defines generic container fields like 'query', 'body', and 'path', with no details on individual parameters. The description compensates fully by listing every parameter per operation, including types, requiredness, enums, and format examples, adding substantial semantic meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly identifies the tool as 'SceneObject operations' and lists four specific API endpoints with explicit verbs: 'Find scene object by id' and 'Search similar scene object'. This distinguishes it from sibling tools by resource and operation, making the purpose unambiguous.

    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?

    There is no guidance on when to use this tool versus alternative sibling tools, nor any exclusions or context for choosing between the provided operations. The description simply lists endpoints without explaining use cases, leaving the agent to infer when this tool should be invoked.

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

  • Behavior4/5

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

    Annotations already declare the tool as read-only and non-destructive. The description adds useful behavioral context by explaining the response JSON includes 'status', 'truncated', and 'timedOut' flags, which signals potential response cut-offs. This goes beyond what annotations provide, though it doesn't detail other response aspects.

    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-loading the response format note before the operation. It is concise, free of fluff, and every sentence contributes useful information (response flags + operation purpose).

    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 has no output schema, so the description must explain return values. It only mentions status/truncated/timedOut flags, but does not describe the actual content of 'time configurations' that would be returned. This is a significant omission for a read-only lookup tool, leaving the expected response body unspecified.

    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 does not add significant parameter semantics beyond the schema; it mentions the operation endpoint but the schema's enum already lists 'GET /api/time'. Generic parameters like body, path, and query are not further clarified for this specific 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 performs 'Time operations' and specifically identifies the 'GET /api/time' operation as 'Find time configurations'. This provides a specific verb (Find) and resource (time configurations), making the purpose unmistakable and distinct from sibling resource tools.

    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: use this tool when you need to find time configurations. However, it offers no explicit when-to-use guidance, prerequisites, or exclusions compared to alternative tools. The context is clear from the resource name but not elaborated.

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

  • Behavior3/5

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

    The description adds some context beyond annotations by disclosing response JSON structure (status, truncated, timedOut) and file upload requirements. However, it does not elaborate on destructive consequences beyond the DELETE operation name, and the annotations already include destructiveHint=true.

    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 well-organized into separate endpoint blocks with compact parameter lists. It front-loads the response note and each line conveys concrete operational information without unnecessary fluff. Suitable for a multi-endpoint tool.

    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?

    While all endpoints and parameters are listed, the description does not explain what each operation returns beyond the generic status/truncated/timedOut note. Without an output schema, this leaves the agent uncertain about response payloads (e.g., what a successful 'List AI Models' returns). It is adequate for invocation but incomplete for understanding outcomes.

    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 input schema only provides generic descriptions for body, file, path, and query, but the tool description adds per-endpoint parameter lists (e.g., query: offset?:integer, path: engineModelId*:integer) with types and required markers. This significantly helps the agent understand exactly what parameters to provide for each 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 explicitly names the resource ('Engine Model') and lists specific operations (List, Upload, Delete, Replace, Enable) with clear HTTP verbs and endpoints. This distinguishes it from sibling tools by resource scope and action. The title 'IvedaAI: Engine Model' reinforces the purpose.

    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 through endpoint names and the resource name, but it does not explicitly state when to use this tool over related ones (e.g., engine_profile, engine_object). No exclusions or alternative recommendations are provided, despite sibling tools being present.

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

  • Behavior4/5

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

    The description adds behavioral context beyond annotations by explaining the response JSON structure: 'status' is the HTTP status code and 'truncated'/'timedOut' flags indicate a cut-off response. This is useful for understanding potential response behavior. Annotations already declare readOnly and non-destructive, so the bar is lower.

    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 well-structured with a top-level response note followed by an organized list of endpoints and their parameters. It is somewhat lengthy due to the parameter lists, but each part serves a purpose and the essential response information is front-loaded.

    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 inputs thoroughly but only partially covers outputs. Without an output schema, the description should explain return structures; it only mentions status, truncated, and timedOut flags. For a history endpoint with many possible fields, this is incomplete.

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

    Parameters5/5

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

    The input schema only provides generic parameters (body, file, path, query, operation) with no endpoint-specific details. The description compensates fully by enumerating every query parameter for each endpoint, including types, formats (e.g., 'yyyy-MM-dd HH:mm:ss'), and required indicators (asterisks). This is essential information not derivable from the schema.

    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 identifies the tool as handling IdentityRecognition operations, listing three specific GET endpoints (history, config, latest) that define its scope. However, it does not explicitly compare against sibling tools, so it lacks direct sibling differentiation.

    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 endpoints themselves imply usage contexts (e.g., 'history' for past records, 'latest' for the most recent), but the description offers no explicit guidance on when to choose this tool over alternatives or any exclusions. Usage is inferred rather than prescribed.

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

  • Behavior3/5

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

    The description discloses the response JSON structure, noting that 'truncated'/'timedOut' flag a cut-off response, which adds value beyond the annotations. However, it does not mention side effects of verification (e.g., whether the OTP is consumed), authentication requirements, or rate limits. With annotations all false, the description partially carries the transparency burden but remains incomplete.

    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 highly concise: one line for API context, one for the endpoint, and one for query parameters. Every sentence contributes meaningful information with no redundancy or 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 single-operation tool, the description covers the endpoint, required query parameters, and response flags, which is fairly complete. However, it lacks details on the exact success/error response body beyond status codes and does not note potential side effects, so it falls short of being fully comprehensive.

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

    Parameters5/5

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

    The input schema's query object is generic with additionalProperties, so the description is the only source defining access_token and otp_code, their types, and required status (marked with *). This massively compensates for the schema gap and gives the agent essential parameter details.

    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 identifies the tool as handling IvedaAI MultiFactorAuthentication operations and explicitly names the POST /api/mfa/email endpoint for verifying MFA. This distinctively separates it from sibling tools like ivedaai_authentication and ivedaai_oauth by providing the exact API operation and resource.

    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 explicit guidance on when to use this tool versus alternatives. It lists the endpoint and parameters but does not mention any when-to-use scenarios, prerequisites, or exclusions, leaving the agent to infer the use case solely from the phrase 'verify mfa'.

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

  • Behavior3/5

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

    The description adds useful behavioral details beyond the annotations: it specifies the response wrapper ('status' is the HTTP status code; 'truncated'/'timedOut' flag cut-off responses) and clarifies how to supply local files for upload. However, it does not disclose per-operation side effects (e.g., whether POST creates persistent data, whether PATCH updates are partial), nor authentication or rate-limit context, so it only partially fills the transparency gap left by the generic annotations (readOnlyHint=false, destructiveHint=false).

    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 long but logically organized by endpoint, with each operation labeled and parameters indented. The opening line front-loads the tool scope and response conventions. There is some redundancy (e.g., repeating 'file: provide as...' twice, and the extreme verbosity of nested sceneObjects fields) that prevents a perfect score, but the structure is effective for a multi-operation API tool.

    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 is comprehensive for parameters and operation discovery, but it lacks per-endpoint response body descriptions and any guidance on authentication or pagination behavior beyond the generic status/truncated flags. With no output schema provided, agents are left to infer what data each endpoint returns, so completeness is adequate but not thorough for such a complex tool.

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

    Parameters5/5

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

    The input schema only provides generic containers (body, file, path, query, operation) with no operation-specific parameters. The description compensates by listing every endpoint's query, path, and body parameters, including types, required markers, enums, and deeply nested sceneObjects metadata (face, licensePlate, makeModel, etc.). This is far beyond what the schema encodes, giving agents complete parameter semantics.

    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 identifies the tool as 'IvedaAI API — Scene operations' and enumerates ten specific operations with unambiguous verb-resource pairs (e.g., 'Search scenes', 'Create scene', 'Get scene details'). This distinguishes it from sibling tools by resource domain (Scene vs Camera, Alert, etc.).

    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 makes it clear this tool handles all scene-related operations, and each endpoint has an explicit purpose. However, it does not provide any when-not-to-use guidance or mention alternatives (e.g., ivedaai_scene_object for object-level details), so usage context is implied rather than explicitly contrasted.

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

  • Behavior4/5

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

    The description adds behavioral context beyond annotations by explaining the response envelope ('status', 'truncated'/'timedOut'), required fields for bodies, and operation side effects like sync/delete. It aligns with the destructiveHint annotation without contradiction.

    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 endpoint list is compact and front-loaded with the response note. Repetition of the same body requirement for POST, PATCH, and PUT adds slight redundancy, but overall it is an efficient structured reference for a multi-operation tool.

    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?

    All 9 operations are described with their parameters and the response envelope is explained. However, missing examples, error handling, and semantic details for body parameters leave some gaps for such a complex tool with no output schema.

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

    Parameters5/5

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

    Each endpoint's query, path, and body parameters are explicitly listed with types and required markers (e.g., ainvrIds*:integer, host required). The description also directs to ivedaai_get_schema for full field details, far exceeding the generic schema's empty parameter definitions.

    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 enumerates 9 distinct operations with specific verbs (List, Create, Sync, Delete, Find, Patch, Update, Sync Cameras, Validate) targeting the Ainvr resource. This provides concrete purpose and distinguishes the tool from siblings by resource and action.

    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 references ivedaai_get_schema for field definitions and specifies required body fields, but it does not explain when to use this tool over closely related siblings like ivedaai_nvr, nor does it provide any exclusions or alternative-tool guidance. The usage context is implied but not explicitly stated.

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

  • Behavior4/5

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

    Annotations already declare destructiveHint=true, and the description includes a DELETE endpoint, which is consistent. The description adds valuable context beyond annotations by explaining the response JSON structure (status, truncated/timedOut flags) and the availability of pagination-related query parameters. No contradiction exists.

    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 dense but well-organized by endpoint, and every line conveys necessary parameter information. It avoids fluff and uses a compact notation, though the volume of detail requires careful parsing. The front-loaded response JSON note is helpful.

    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 multi-endpoint tool with no output schema, the description covers all operations with their parameters and notes response truncation behavior. It does not provide examples, error handling, or authentication context, but for the complexity involved, it is fairly complete. The absence of an output schema makes the response JSON note especially valuable.

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

    Parameters5/5

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

    The input schema is generic (just 'query' and 'path' containers), but the description enriches it by listing every parameter per endpoint, including types, enums, and required markers (e.g., types enum, start/end required). This fully compensates for the schema's lack of specific parameter details.

    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 identifies the tool as handling Event operations, listing four specific REST endpoints with distinct verbs (Find, Delete, Find latest). This differentiates it from siblings like ivedaai_alert or ivedaai_detection by focusing on commonEvents.

    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 explicit guidance on when to use this tool versus alternatives. It merely enumerates endpoints and parameters without stating conditions, exclusions, or preferred use cases. The absence of any comparative language fails to help an agent choose this tool over a sibling.

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

  • Behavior4/5

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

    The annotations declare destructiveHint=true and readOnlyHint=false, and the description aligns with DELETE operations. It adds useful context beyond annotations by explaining response JSON semantics ('status' is the HTTP status code; 'truncated'/'timedOut' flag cut-off responses) and noting that create/update bodies require 'name'. It does not disclose auth requirements or rate limits, but the added response context earns a solid score.

    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 formatted as a reference list with each endpoint on its own line, front-loaded with the response JSON note. It is long due to 14 operations, but each entry is compact and uses consistent formatting. There is minor redundancy (e.g., repeated 'path:' markers) and no prose summary, but overall it is well-structured for an API reference.

    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 tool's high complexity (14 operations), generic input schema, and no output schema, the description provides operation-specific parameters, required markers, file upload details, and a pointer to ivedaai_get_schema for full fields. Gaps remain: response structures beyond status/truncated flags are not described, and concepts like 'unqualified' are not explained, but the description is largely sufficient for operation selection.

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

    Parameters5/5

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

    The input schema only provides generic body/file/path/query wrappers and an operation enum. The description precisely enumerates endpoint-specific query, path, and body parameters, marks required fields with '*', indicates optional parameters, and describes the file upload shape. This goes far beyond the schema's generic descriptions and is essential for correct operation invocation.

    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 states 'IvedaAI API — FaceTarget operations' and enumerates all operations (search/create/delete/update face targets and keys, export, list unqualified), clearly distinguishing it from sibling tools like ivedaai_face. However, it lacks a concise high-level summary of what a 'FaceTarget' is, relying on the endpoint list to convey purpose.

    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 resource name 'FaceTarget operations' and the detailed endpoint list, but there is no explicit guidance on when to use this tool versus sibling tools, nor any exclusions. It does provide a pointer to ivedaai_get_schema for body fields, which is a helpful form of guidance for request construction.

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

  • Behavior4/5

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

    The description exposes response JSON structure ('status', 'truncated', 'timedOut') and identifies required body fields for POST/PUT (category, plateNumber), adding behavioral context beyond the readOnly/destructive annotations. It does not contradict the annotations.

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

    Conciseness4/5

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

    The description is organized as a clear bulleted endpoint list with a shared response note. It is dense but not bloated; the length is justified by covering six distinct operations.

    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?

    The description covers all operations, their parameters, required fields, and a response note. Without an output schema, it provides sufficient context for basic usage, though it omits error handling and explicit warnings about the destructive DELETE operation beyond the annotation.

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

    Parameters5/5

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

    Although the schema has 100% parameter coverage, it only provides generic container descriptions (query, body, path). The description enumerates specific query parameters per endpoint and highlights required body fields, adding critical operational semantics beyond the schema.

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

    Purpose5/5

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

    The description clearly identifies the resource ('license plate targets') and enumerates all supported operations (GET/POST/DELETE/PUT), making it distinct from sibling tools focused on other resources. The operation list leaves no ambiguity about what the tool does.

    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 explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions or related tools for other license plate resources. Usage is only implied by the resource name and operation list.

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

  • Behavior4/5

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

    The description adds meaningful behavioral context beyond the annotations: it explains the response envelope ('status', 'truncated', 'timedOut') and notes that the PUT endpoint rejects partial bodies and maps brandId to brand.brandId. This is valuable operational detail that complements the destructiveHint annotation without contradicting it.

    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 well-organized with a clear header and one section per endpoint, making it scannable. The initial response note is front-loaded. However, the same pagination query parameters and body specification are repeated verbatim across multiple endpoints, adding redundancy. The length is justified by the number of operations but could be condensed.

    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 all operations and their parameters, and the generic response envelope note helps set expectations. However, since there is no output schema, it does not specify per-endpoint return shapes or error conditions. Ambiguities remain (e.g., whether preview-channel returns a binary image, what the alert list contains). The reference to ivedaai_get_schema helps for requests but not responses.

    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 description enumerates exact query and path parameters for each endpoint, including enums for protocol and nvrType, and specifies required body fields (brandId, ip, name, port). This far exceeds the generic input schema, which only provides empty 'query' and 'path' objects. It also points to ivedaai_get_schema for full body details. Minor deduction for using terse notations like '?:integer' and 'any' without deeper explanation.

    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 'IvedaAI API — Nvr operations' and enumerates all HTTP endpoints (list, create, delete, find, update, list cameras, channels, preview, alerts, connection). This specific resource focus and endpoint list distinguishes it from sibling tools like ivedaai_camera and ivedaai_account.

    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?

    Each endpoint is labeled with its intent (e.g., 'List Nvrs', 'Create Nvr'), giving clear operation-level guidance. However, there is no explicit comparison to sibling tools or guidance on when to prefer this tool over alternatives. Usage context is implied by the resource name and endpoint descriptions rather than stated.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=false and destructiveHint=false; the description adds valuable response context (HTTP status, truncated/timedOut flags) beyond the structured annotations. It does not discuss auth or reversible effects, but the operation is simple and the annotations cover the safety profile.

    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 compact and structured: a context line, a response note, and the endpoint with its parameters. No redundant sentences; the formatting is slightly telegraphic but clear.

    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 single-endpoint tool with no output schema, the description covers the request structure and partial response conventions, but it does not detail success/error response bodies or the semantics of targetId. More explanation of what the operation returns would be needed for full completeness.

    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 input schema only offers generic path/query/body objects, while the description names the actual parameters: cameraId in the path and targetId in the query, both integers. This is essential for correct invocation, though the semantic meaning of targetId is not explained.

    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 names the exact endpoint and operation: 'PUT /api/cameras/{cameraId}/tracking — Set AI tracking target'. This gives a specific verb and resource, clearly distinguishing it from sibling tools like counting or detection.

    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 endpoint description ('Set AI tracking target'), but there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions. The description does not mention any other IvedaAI operations that might overlap.

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

  • Behavior5/5

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

    Annotations indicate destructiveHint=true and readOnlyHint=false, and the description goes far beyond this by noting response envelope ('status', 'truncated', 'timedOut') and critical behavioral quirks: PATCH is confirmed to leave omitted fields alone, PUT refuses partial bodies, and certain fields cannot be read back but survive updates. This is valuable transparency beyond the structured annotations.

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

    Conciseness4/5

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

    The description is long but well-structured with endpoint sections. It front-loads response envelope notes and clearly separates each operation. The PATCH and PUT notes are repetitive but necessary because they describe different behaviors. Every sentence serves a purpose, though a summary line could reduce initial cognitive load.

    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 an API tool with 8 operations and no output schema, the description thoroughly covers input parameters and update semantics. However, it does not describe per-operation return values (e.g., what a GET /api/alertRules response contains beyond the envelope). The field mapping notes for PATCH/PUT help, but output shape is left unspecified.

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

    Parameters5/5

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

    The input schema is generic (operation, body, path, query), but the description provides detailed per-endpoint parameter semantics: lists query parameter names, types, enums (eventTypes), required path parameters, and references ivedaai_get_schema for body fields. This fully compensates for the schema's high-level nature.

    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 identifies the resource (AlertRule) and lists all supported operations with HTTP verbs (GET/POST/DELETE/PATCH/PUT). It is not a single verb but a multi-operation API tool, which is typical. It distinguishes from sibling tools by name and title, though it could more explicitly state 'use this to manage alert rules'.

    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 implicit usage guidance by enumerating endpoints and operation-specific details (e.g., PATCH leaves omitted fields alone, PUT requires full body). However, it does not explicitly state when to choose this tool over sibling alert-related tools like ivedaai_alert or ivedaai_alert_trigger, nor does it provide exclusion criteria.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds context beyond that by explaining the response JSON: 'status' is the HTTP status code, and 'truncated'/'timedOut' flag cut-off responses. This gives useful behavioral insights without contradicting annotations.

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

    Conciseness4/5

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

    The description is well-structured: a brief intro about response format, then the endpoint and a compact list of query parameters. It avoids unnecessary verbosity while including all necessary details, though it is dense.

    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 endpoint, parameters, and response metadata (status, truncation flags), but it does not describe the actual shape of the returned camera state history data. Since there is no output schema, this is a notable gap, though acceptable for a read-only list operation.

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

    Parameters5/5

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

    The input schema is generic (with a free-form query object), but the description enumerates all specific query parameters (offset, page, pageSize, start, end, cameraId, etc.) with types, required markers, and time format. This is essential for correct invocation and goes far beyond the schema's generic description.

    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 it 'Find camera state history' via the GET /api/camerastatehistorys endpoint. The verb 'Find' and resource 'camera state history' are specific, distinguishing it from sibling IvedaAI tools for other resources.

    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 usage is implied by the resource name and endpoint—if you need camera state history, this is the tool. However, there is no explicit guidance on when to use it over alternatives or when not to use it, which prevents a higher score.

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

  • Behavior3/5

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

    It discloses response envelope details ('status' as HTTP status, 'truncated'/'timedOut' flags) and required body fields, which goes beyond the minimal annotations (all false). However, it omits side effects, idempotency, authentication needs, or data persistence beyond the implicit create/update verbs.

    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 lengthy due to eight endpoints but well-organized with line breaks and consistent formatting. The repeated body requirement lines are somewhat redundant but aid clarity. Overall, it is efficiently structured for a multi-operation tool.

    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 high complexity of eight operations and no output schema, the description covers operation selection, parameter requirements, response notes, and tells where to find full schemas. It is complete enough for correct invocation, though it relies on ivedaai_get_schema for detailed field validation.

    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?

    While the schema has generic body/query/path objects, the description adds operation-specific meaning: which endpoints accept body (with required cloudStorageType and lifecycleRules) versus query (objectKey), and it directs to ivedaai_get_schema for full field definitions, bridging the schema's generic language.

    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 explicitly identifies this as 'CloudStorage operations' and enumerates eight distinct endpoints with clear verbs (Get, Create, Update, etc.), making the tool's purpose unambiguous and distinct from sibling resource tools like ivedaai_camera_group.

    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 per-endpoint context (e.g., POST creates, PUT updates, GET reads) and lists which operations require body or query parameters. It does not explicitly contrast with alternatives, but the resource-specific naming and operation list make when-to-use clear.

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

  • Behavior3/5

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

    Annotations already indicate this is not read-only, and the description adds a generic response format note (status, truncated, timedOut) and a pointer to ivedaai_get_schema for fields. However, it does not disclose potential side effects, permission requirements, or behavior beyond what is already inferred from 'PUT'.

    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 well-structured and scannable, with each operation on its own line and clear parameter annotations. The opening sentence 'IvedaAI API — Configuration operations.' is slightly redundant with the title, but the overall format is efficient and front-loaded.

    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 tool with three operations and no output schema, the description provides basic operation purpose and parameter hints, plus a generic response JSON note. However, it does not describe the shape or content of the returned data for the GET operations (e.g., what fields configurations or certificate details contain), leaving some gaps for an agent.

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

    Parameters5/5

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

    The description goes well beyond the generic input schema by specifying the exact query parameter (properties*) for GET /api/configs, and identifying the body type (SystemSetting) for PUT /api/configs/basic, even pointing to another tool for full field details. This makes each parameter's purpose concrete.

    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 enumerates three distinct operations with specific verbs and resources: 'Find configurations', 'Apply basic system settings', and 'Get certificate details'. This distinguishes the tool from sibling tools by detailing exactly what configuration operations are available.

    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?

    Each operation has a clear context (e.g., 'Find configurations' vs 'Apply basic system settings'), and the tool itself is scoped to configuration. However, there is no explicit guidance on when to prefer this tool over a sibling or when not to use it, so it stops short of a 5.

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

  • Behavior3/5

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

    Annotations already flag destructiveHint=true, so the description builds on that by adding response-behavior details ('truncated'/'timedOut') and indicating required fields. It does not contradict annotations, but beyond the response note it provides limited additional behavioral context such as auth needs or 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 well-structured with a front-loaded response note, followed by a consistent list of operations, paths, and parameter details. Every line is needed and adds value; there is no fluff or redundancy.

    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?

    The description covers all operations, parameters, and required fields, and mentions response fields. While it lacks examples or explicit error handling, the combination of annotations, schema, and description is sufficient for an agent to select and invoke the tool correctly for basic CRUD operations.

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

    Parameters5/5

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

    The input schema only provides generic container fields (body, path, query), but the description specifies exact parameters for each operation, including required vs optional fields (e.g., name*, colorCode?, faceCategoryId). This adds critical semantic meaning beyond the schema, compensating for the schema's generic nature.

    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 identifies the tool as managing FaceCategory resources and lists four explicit HTTP operations (GET, POST, DELETE, PUT) with their paths. This distinguishes it from sibling tools that target other resources. The verb+resource pairing is specific and unambiguous.

    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 listing the CRUD operations, but it does not explicitly state when to use this tool over alternatives. There is no mention of when not to use it, prerequisites, or comparisons with sibling tools. Guidance is inferred from the resource name rather than explicitly provided.

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

  • Behavior3/5

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

    Annotations provide limited safety info (not read-only, not destructive), and the description adds a useful note about response JSON fields (status, truncated, timedOut) indicating potential cut-off responses. However, it does not disclose side effects of POST or any prerequisites beyond the body parameters. This is acceptable given the annotations.

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

    Conciseness5/5

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

    The description is concise and well-structured, with a clear header, response note, and bullet-style listing of endpoints. Each line provides necessary operational details without excess verbosity.

    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?

    The description covers both operations, mentions response format flags, and specifies body fields. It lacks details like authentication, error responses, or pagination, but given there is no output schema and the operations are simple, it is reasonably complete for an API tool.

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

    Parameters5/5

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

    The schema only provides generic parameter containers (body, file, path, query, operation). The description enriches this by specifying the exact operation enum values and the body structure for POST: { description?: string, sceneId?: integer }. This adds meaning beyond the schema, which was the main gap.

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

    Purpose5/5

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

    The description clearly states the resource (false-report) and the specific actions: GET for connection check and POST for sending a false detection report. It distinguishes between the two operations and from sibling tools by naming the exact API endpoints and their 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 the tool is for false-report operations and lists the GET/POST endpoints, but it does not explicitly state when to use this tool over alternatives or provide exclusions. The usage context is clear from the resource name, but no direct comparison with other tools is given.

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

  • Behavior4/5

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

    The description adds valuable behavioral context beyond the annotations (destructiveHint=true, readOnlyHint=false) by detailing the response JSON structure (status, truncated, timedOut) and the exact body shapes for POST and PUT. It also clarifies that DELETE requires a path keyword, which is useful for understanding the tool's behavior. No security or rate-limit details, but the added response and parameter information exceeds the baseline.

    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 structured with a brief intro and a clear list of endpoints with parameters. It is front-loaded with the response format note, and each line provides necessary information without excessive verbosity. Slightly dense, but every sentence serves a purpose, so it earns a high score.

    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 tool's multi-operation complexity, no output schema, and existing annotations, the description is fairly complete: it covers all four operations, their parameters, and the response format. It lacks authentication details and examples, but for an API tool with rich schema and annotations, this is sufficient. The description compensates for the missing output schema by explaining response fields.

    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?

    Although the schema has 100% property descriptions, the tool description enriches parameters by specifying per-operation details: query for GET, string body for POST, object with cameraId/hashtags for PUT, and path keyword for DELETE. This operation-specific parameter meaning is not fully captured by the generic schema fields, so the description adds meaningful parameter semantics.

    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 it covers 'Hashtag operations' and lists four specific HTTP endpoints with distinct verbs and purposes (Find, Create, Setup live, Delete). This accurately distinguishes the tool from sibling tools focused on other resources, and the operation enum aligns with the listed endpoints.

    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 hashtag-related operations, and the operation list provides specific contexts for each endpoint (e.g., finding by prefix, creating with a string body). However, it does not explicitly state when to use this tool over alternatives or provide exclusion criteria, so guidance is only implied, not explicit.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint and destructiveHint, and the description adds meaningful behavioral context by explaining that responses include a status code and that 'truncated'/'timedOut' flags signal cut-off responses. This helps the agent interpret abnormal results, though it omits authentication specifics.

    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 compact and well-structured, with a brief response note followed by the two endpoint listings. The opening 'IvedaAI API —' is slightly redundant, but the rest of the text is efficient and free of unnecessary 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 simple read-only streaming tool with strong annotations and schema coverage, the description adequately covers operations, required path parameters, and response status semantics. It lacks explicit mention of output content type (e.g., image binary) or authentication, but remains sufficient for agent invocation.

    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 generic input schema provides 100% description coverage for its standard properties, but the operation-specific path parameters (cameraId:integer, type:enum:live) are only described in the tool description. This adds concrete detail beyond the schema's generic 'path' object, enhancing parameter understanding.

    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 identifies the tool's purpose as streaming operations and lists two specific GET endpoints: retrieving a camera streaming image (.jpg) and a motion JPEG (.mjpeg). This distinguishes it from sibling tools like ivedaai_camera or ivedaai_footage by its focus on streaming.

    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 endpoint list, but there is no explicit guidance on when to choose this over alternatives. No exclusions or alternative tool references are provided, leaving the agent to infer context from the 'Streaming operations' label.

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

  • Behavior4/5

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

    Annotations are sparse (readOnlyHint=false, destructiveHint=false). The description adds useful behavioral details by documenting response JSON fields: status, truncated, and timedOut flags. This warns about possible cut-off responses, which is beyond what annotations convey. It does not, however, detail error responses or credential failure behavior.

    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 compact and well-structured: it states the endpoint, its purpose, and response semantics in a few lines. No fluff or unnecessary repetition; every sentence 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?

    There is no output schema, so the description partially compensates by explaining response semantics. It clearly indicates the operation gets an X-Auth-Token, but it doesn't specify where the token appears (header vs body) or how to use it. For a simple one-operation tool, this is nearly complete but could be slightly more explicit.

    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 input schema has generic parameter descriptions for body, file, path, query, and operation, but the tool description adds specific body fields (password, username) and specifies the only valid operation. This enriches the generic body parameter with concrete, meaningful structure.

    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 clearly states the tool handles authentication operations, specifically the POST /api/auth endpoint to retrieve an X-Auth-Token. This is a specific verb+resource pairing that distinguishes it from sibling tools focused on other API resources.

    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 context that this is for authentication, implying it should be used to obtain a token, but it does not explicitly mention when to prefer this over sibling auth-related tools like oauth or multi_factor_authentication. No exclusions or alternatives are given.

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

  • Behavior4/5

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

    The description adds behavioral context beyond annotations: it warns that responses include 'status' and may have 'truncated'/'timedOut' flags, and it distinguishes between operations that merely detect and those that 'Detect and draw' (implying image output). This is useful context not present in the annotations.

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

    Conciseness4/5

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

    The description is well-structured as a numbered list of endpoints, making it easy to scan. It front-loads the important response caveat. However, the 'file: provide as {path, filename?, contentType?}' phrase is repeated 6 times, adding verbosity without new information.

    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 tool with 10 operations, the description covers all endpoints and their parameters, including query enums and file upload details. It mentions response status flags, but does not provide full return data structures or common error/auth requirements. Given the complexity, it is quite complete, though some details remain absent.

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

    Parameters5/5

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

    The description significantly enriches the generic schema by specifying which parameters apply to each operation, including classifierName, file, threshold, plugins with a full enum list, profileId, and label. This is essential for correctly invoking operations and goes well beyond the schema's generic 'path'/'query' descriptions.

    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 'Detection operations' and enumerates 10 specific endpoints covering classifiers, classification, CLIP encode, colors, objects, and license plates. This provides a specific verb+resource mapping per operation and distinguishes this tool from siblings that focus on other IvedaAI domains.

    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 when detection-related functionality is needed but gives no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions or alternative tools, leaving the agent to infer the right context from the operation list.

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

  • Behavior3/5

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

    Annotations provide minimal safety hints (readOnlyHint=false, destructiveHint=false), and the description adds response JSON status/truncated/timedOut behavior. However, it does not disclose side effects of the POST (e.g., overwriting existing image), authentication requirements, or other behavioral traits, so it doesn't reach a higher score.

    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 well-organized into a compact list of endpoints with indentation for parameters, front-loads response status info, and avoids filler. Every line serves a purpose for a multi-operation tool.

    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 tool with no output schema, the description gives only a partial response format (status/truncated/timedOut) but does not describe the data fields returned by the GET endpoints or the result of the POST. It covers all operations and parameters but lacks sufficient response/error context to be fully self-contained.

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

    Parameters5/5

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

    The description goes well beyond the schema by mapping parameters to specific operations, listing exact form fields (applicationId, height, latitude, longitude, timestamp, width) that the generic schema body description does not enumerate. It also clarifies that the file upload should be passed as 'file' and specifies the path parameter mappingId. This adds significant semantics.

    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 identifies the resource as ExternalCamera operations and enumerates three specific endpoints with verbs: GET analysis meta, POST put image, and GET meta. This distinguishes it from sibling tools like ivedaai_camera, which likely handles different camera resources.

    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?

    Each endpoint is described with its action ('Get camera analysis meta', 'put camera image', 'get camera meta'), giving clear context for when to use each operation. However, it does not explicitly compare with sibling tools or state when not to use this tool, so it misses the top tier.

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

  • Behavior3/5

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

    Annotations are sparse (readOnlyHint: false, destructiveHint: false), so description carries the burden. It does add context about response JSON fields ('status', 'truncated', 'timedOut'), which is useful. Yet it doesn't disclose authentication requirements, side effects of POST/PUT, or error behavior beyond the status field.

    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 well-structured with a clear opening, then each endpoint listed with method, path, and parameters. Every line provides specific technical information without fluff or redundancy.

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

    Completeness4/5

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

    With four operations, no output schema, and sparse annotations, the description gives a solid overview including endpoint paths, required parameters, and response quirks. However, it lacks authentication notes and does not explain the overall purpose of gateways in the system, which would be helpful for an agent deciding to use this tool.

    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 input schema only has generic properties (body, path, query, operation) with 100% coverage, but those descriptions are minimal. The tool description adds significant meaning by enumerating query parameters for the list endpoint, required fields for create/update, and path parameter for the camera list endpoint. It also references ivedaai_get_schema for full fields, which helps.

    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 it covers 'Gateway operations' and lists four specific endpoints with verbs: List, Create, Update, and List Cameras. This distinguishes it from sibling tools focused on other resources like cameras, alerts, or accounts.

    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 gateway-related operations and enumerates available endpoints. However, it doesn't explicitly mention when to choose this tool over alternatives (e.g., using ivedaai_camera for camera-specific tasks), so it lacks explicit exclusion guidance.

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

  • Behavior3/5

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

    Annotations already indicate destructiveHint: true, and the description goes slightly beyond by explaining the response JSON envelope (status, truncated, timedOut) and how file uploads are provided. However, it doesn't describe side effects, reversibility, or permission requirements for the destructive operations, so the added value over annotations is moderate.

    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 long but organized by endpoint, making it easy to scan. It is front-loaded with response notes and then lists each operation with its parameters. Some redundancy exists (e.g., 'file: provide as...' appears twice, enums are repeated on different lines), but overall it is a compact reference for a multi-operation tool.

    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?

    All ten operations and their parameters are covered, and the response envelope is explained. However, with no output schema, the description doesn't detail the response body structure per operation (beyond status/truncated/timedOut), and it omits error handling or authentication notes, which would improve completeness for an agent.

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

    Parameters5/5

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

    The input schema only defines generic 'query' and 'path' objects without parameter-level details. The description fills this gap entirely by enumerating every parameter with types, enums, required markers, and default formats (e.g., types*:string enum:RetrieveJob|StreamJob|UploadJob). This is essential 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?

    The description opens with 'IvedaAI API — Job operations' and lists every REST endpoint for /api/jobs (GET, POST, PUT, DELETE) with clear labels like 'Get jobs', 'Create job', 'Cancel job by camera'. This leaves no ambiguity about what the tool does and clearly distinguishes it from sibling tools focused on cameras, alerts, etc.

    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 a complete list of operations, allowing an agent to pick the right one based on the action needed (e.g., 'DELETE /api/jobs/{jobId}' for deleting a job). Context is clear, but there are no explicit 'when to use' or 'when not to use' statements or references to alternative tools.

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

  • Behavior4/5

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

    The description adds a response JSON note about 'status' and 'truncated'/'timedOut' flags, and marks required parameters with asterisks. It clearly labels DELETE and PUT as destructive/update operations, aligning with the destructiveHint annotation. No contradiction; the added context (response format and required params) goes beyond the annotations.

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

    Conciseness4/5

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

    The description is organized by endpoint with a useful front-loaded note about response JSON. It is lengthy due to the many query parameters, but every line is informational and the format is structured, with no filler or redundancy.

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

    Completeness4/5

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

    With no output schema, the description covers all four operations, their parameters, required fields, and a general response note. It stops short of describing the full return structure per operation, but is sufficiently complete for an agent to select and invoke the tool correctly.

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

    Parameters5/5

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

    The input schema is generic (operation, body, file, path, query), while the description enumerates all query/path/body parameters per endpoint, including types and required flags. This is essential for constructing valid requests and goes well beyond what the schema provides.

    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 explicitly names 'LicensePlate operations' and enumerates four HTTP endpoints with clear verbs: List, Delete, Update, and Latest. This clearly states the tool's purpose and distinguishes it from sibling tools like license_plate_category or license_plate_target.

    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 endpoint list implies usage (e.g., to delete a plate, use the DELETE endpoint), but the description offers no explicit guidance on when to choose this tool over alternatives or when not to use it. The required parameter markers give some operational context, but no alternatives are mentioned.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with GET-only operations. It adds context about response JSON containing 'status', 'truncated', and 'timedOut' flags, alerting the agent to potentially truncated responses. This goes beyond the annotations.

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

    Conciseness5/5

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

    The description is compact and front-loaded with a general response note, then lists each endpoint with its parameters. No unnecessary words; every line provides operational detail.

    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?

    Without an output schema, the description gives essential response context (status, truncated flags). It covers all three operations and their parameters. However, it does not fully detail response shapes or when to use each operation, leaving some ambiguity for an agent selecting between them. Still, for a read-only list tool, it is reasonably complete.

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

    Parameters4/5

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

    The schema provides only generic property descriptions (e.g., 'Query string parameters for this operation'), so the description carries the burden of explaining actual parameters. The description lists query parameters (ainvrId, ainvrIds) and path parameter category with enum, providing meaningful semantics beyond the schema.

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

    Purpose5/5

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

    The description clearly states this tool provides ObjectType operations and enumerates three specific GET endpoints with brief purposes (list all with synonyms, list object types, list by category). It uses specific verbs and resource names, distinguishing it from sibling tools focused on other resources.

    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?

    No explicit when-to-use or alternative guidance is given. The description implies usage through operation names (e.g., 'List object types'), but does not state when to prefer this tool over sibling tools or which operation to choose in different scenarios. This is adequate but not proactive.

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

  • Behavior4/5

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

    Despite annotations being all false, the description adds valuable behavioral context by documenting the response JSON shape ('status' as HTTP status code; 'truncated'/'timedOut' flags for cut-off responses). It also notes required body fields, going beyond what annotations provide. No contradictions found.

    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?

    Description is compact and well-organized, using line breaks and bullet-like formatting. Every line provides necessary operational detail with no redundant text. The response note is kept to one sentence.

    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?

    All four operations are enumerated with their parameters, and the response format note covers common edge cases. It lacks per-operation response examples, and the ainvrIds parameter semantics is thin, but the reference to ivedaai_get_schema helps fill gaps. For a multi-endpoint tool, this is reasonably complete.

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

    Parameters4/5

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

    The schema description coverage is 100%, but the generic schema only describes container properties (body, query, path). The description enriches this by specifying operation-specific params: direction enum (asc|desc), required cameraId/recommendEngines, ainvrIds as integer, and pointing to ivedaai_get_schema for full field details.

    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 clearly identifies the tool as 'Resource operations' and lists four distinct API endpoints with explicit actions (List resources, Get resource cost, Get estimation, Get resource information). This specificity distinguishes it from sibling IvedaAI domain tools.

    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 context is implied by listing each endpoint and its purpose, but there are no explicit instructions on when to choose this tool over other IvedaAI tools (e.g., ivedaai_plugin for costs) or exclusions. This is sufficient but not exemplary.

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

  • Behavior5/5

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

    Beyond the destructiveHint annotation, the description discloses response JSON status/truncated/timedOut behavior, confirms PATCH leaves omitted fields alone while PUT requires full body, and notes userGroupId key mapping differences between GET and request bodies. These are valuable behavioral details not in annotations.

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

    Conciseness4/5

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

    The description is long but efficiently structured by endpoint. Each line provides specific parameter info with minimal fluff. Slightly verbose due to the number of endpoints, but no wasted 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?

    While the description covers all endpoints and many parameters, it provides only a minimal response format hint (status/truncated/timedOut) and does not describe the actual data payloads for each operation. It also lacks explicit authentication or permission prerequisites, though these may be common to the API.

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

    Parameters5/5

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

    The description specifies per-endpoint query, path, and body parameters with types and enums, identifies required fields, and references ivedaai_get_schema for full field list. The generic input schema only provides placeholders, so the description is the primary source of parameter meaning.

    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 identifies the tool as 'IvedaAI API — Account operations' and enumerates specific endpoints for account management, API keys, and permissions. It distinguishes from sibling tools by focusing on the account resource.

    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?

    No explicit guidance on when to use this tool vs alternatives. The scope is implied by the name and endpoint list, but the description does not mention sibling tools or exclude non-account operations.

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

  • Behavior4/5

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

    The description discloses the generic response envelope (status, truncated/timedOut flags) and marks required parameters with asterisks. Annotations already indicate destructive operations, so the description adds useful context without needing to repeat safety warnings. It does not discuss authentication or rate limits, but that is not required given the annotations.

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

    Conciseness4/5

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

    The description is well-structured with a clear header, response note, and a line per endpoint. It is dense but appropriately concise for a multi-operation tool. Minor typos ('Chage', 'pars') slightly detract, and the content is unavoidably long due to the number of endpoints.

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

    Completeness5/5

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

    For a complex tool with nine operations and no output schema, the description covers every endpoint's purpose and parameters. It also references ivedaai_get_schema for complex body types, and the generic response note addresses return-value concerns. This is sufficient for an agent to select and invoke operations correctly.

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

    Parameters5/5

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

    The description provides exhaustive parameter details for every operation, including types, enums, required markers, and path/query/body placement. The input schema only contains generic fields (operation, body, path, query), so the description carries the full parameter documentation burden and does so thoroughly.

    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 identifies this as an alert operations tool, enumerating nine specific endpoints with descriptive titles (Find alerts, Change alert state, Delete alert by id, Get alert statistics, etc.). This distinguishes it from sibling alert-related tools like ivedaai_alert_rule and ivedaai_alert_trigger.

    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 through endpoint names and parameter lists but never explicitly states when to use this tool versus sibling alternatives, nor does it provide guidance on choosing between the different alert endpoints. There is no 'use X for this, Y for that' context.

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

  • Behavior3/5

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

    Annotations already mark the tool as destructive and non-read-only. The description adds useful context about the response format (status, truncated/timedOut) which aids in handling cut-off responses. However, it does not disclose consequences of DELETE/PATCH operations (e.g., irreversibility) or any authorization requirements. It adds some value beyond annotations but not comprehensive.

    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 dense and well-organized: a brief note on response format, then each operation on a single line with parameters. No fluff, every line contributes value, and the structure makes it easy to scan.

    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?

    The description covers all five endpoints, required/optional parameters, and response metadata, which is sufficient for operation selection and basic invocation. It lacks examples or detailed return structure (no output schema), but for a CRUD tool of this complexity it is fairly complete, though not exhaustive.

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

    Parameters5/5

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

    The input schema only provides generic fields (body, path, query, operation) with minimal descriptions. The tool description goes far beyond by detailing exact parameter names, types, required flags, and location for each endpoint (e.g., cameraId*:integer, config*:JsonObject). This is essential for correct invocation and fully compensates for the schema's generic nature.

    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 identifies this as the AnalyticConfig API resource, listing all five CRUD operations with specific HTTP verbs and endpoints. It distinguishes from sibling tools by naming the specific resource (analytic-configs) and operations.

    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 implicitly conveys when to use the tool: when working with analytic configs, and the endpoint list makes the scope obvious. However, it does not explicitly mention when not to use it or contrast with alternative tools among the many IvedaAI siblings.

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

  • Behavior4/5

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

    The description adds context beyond the annotations by explaining the response JSON structure ('status' is HTTP status, 'truncated'/'timedOut' flag cut-off) and listing required fields for POST (action, message, objectType). No contradictions with annotations.

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

    Conciseness5/5

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

    The description is compact yet information-dense, with a structured presentation of the two operations and their parameters. Every sentence adds value; no 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?

    Given the lack of an output schema, the description explains the response JSON envelope and notes that ivedaai_get_schema should be used for all fields. It covers both operations with their parameters, though it could detail the actual data response structure further.

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

    Parameters5/5

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

    The description provides detailed parameter semantics: query parameters with types (offset, page, etc.), the required start/end parameters, enum values for action, and the AuditTrailRequest body with required fields. This goes beyond the generic schema, which only has generic body/query/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 identifies 'AuditTrail operations' and specifies 'GET /api/auditTrails — Find audit trails' and 'POST /api/auditTrails — create audit trails', using specific verbs and resources, distinguishing it from sibling tools.

    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 does not explicitly state when to use this tool vs alternatives, but it clearly describes the operations for audit trails, implying usage for audit-related tasks. No exclusions or alternative tool references are provided.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds useful behavioral context by explaining the response JSON structure, including 'status' as HTTP code and 'truncated'/'timedOut' flags indicating cut-off responses. This goes beyond the annotations and schema.

    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 compact and well-organized: a brief summary, a response note, and a list of two endpoints with their parameters. Every sentence provides useful information without redundancy. The formatting is scannable and front-loaded.

    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 read-only tool with two endpoints, the description covers the key parameters and response flag behavior. It lacks some details like pagination or default sort order, but given the simplicity of the operations and the presence of annotations, it is sufficiently complete for an agent to use it correctly.

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

    Parameters5/5

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

    Although the input schema has generic 'query' and 'path' objects with no specific properties defined, the description enumerates each query parameter with its type, format, and enum values (e.g., measure enum). This is essential for correct invocation and adds meaning far beyond the schema's placeholder descriptions.

    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 this tool handles 'Counting operations' and lists two specific GET endpoints: dashboard and history. It uses specific verbs and resources, and the 'Counting' scope distinguishes it from sibling tools like ivedaai_statistic or ivedaai_detection.

    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 context is implied by the tool name and summary ('Counting operations'), but no explicit guidance is given on when to use this tool versus alternatives. The description also does not clarify when to choose 'dashboard' versus 'history' beyond their names. There are no exclusions or alternative recommendations.

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

  • Behavior4/5

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

    Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds behavioral context not in annotations: it documents the response JSON fields ('status', 'truncated', 'timedOut') and the file upload format (with path, filename, contentType). This goes beyond the structured annotations without contradicting them.

    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 compact and well-organized: an introductory line, a list of operations with methods and paths, and inline parameter lists. Every sentence carries operational information. The structure makes it easy to scan and locate the needed endpoint.

    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?

    The description covers all five operations, including their HTTP methods, paths, and parameter structures. However, it does not detail the response payload shape per operation beyond the global status/truncated/timedOut fields. Given the tool's complexity and the absence of an output schema, a bit more response detail would make it fully complete, but the current coverage is strong.

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

    Parameters5/5

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

    Even with 100% schema description coverage, the description enriches parameters by tying them to specific operations. It marks required fields with an asterisk (e.g., 'name*'), specifies which parameters belong to the body, path, query, or file, and explains the file field format. This makes it clear how to invoke each operation correctly, which the generic schema alone does not provide.

    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 resource ('LicensePlateCategory operations') and enumerates each API operation with HTTP method and path (e.g., 'GET /api/lpr/categories — List license plate categories'). This distinguishes the tool from sibling tools by naming the specific resource domain and supported actions.

    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 license plate category management by listing operations, but it does not explicitly state when to choose this tool over alternatives or provide exclusions. For example, it doesn't mention that license plate targets might belong in the 'license_plate_target' sibling tool. The context is clear but not comparative.

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

  • Behavior3/5

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

    Annotations already disclose the destructive nature (destructiveHint=true, readOnlyHint=false), so the description need not restate that. The description does add useful context about the response JSON format (status, truncated, timedOut) and the file upload requirements for POST. It does not go deeper into side effects or permission requirements, but the annotation coverage covers the primary safety concern.

    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 compact, well-organized list of endpoint definitions prefaced by a brief note on the response format. Every sentence carries useful information, with 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?

    Given the tool has five operations, detailed parameter lists, and no output schema, the description provides adequate endpoint-level detail. However, it lacks higher-level context about what modules are, typical use cases, or what 'reload' specifically does, which would round out the completeness for an agent navigating the API.

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

    Parameters5/5

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

    The schema provides only generic parameter containers (body, file, path, query), but the description spells out concrete parameters for each endpoint, such as 'moduleId', 'offset', 'pageSize', and 'name'. This adds real semantic value beyond the schema, enabling the agent to construct correct requests without guessing.

    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 identifies the tool as handling IvedaAI module operations, listing five distinct REST endpoints (uninstall, find, install, reload, get). Each endpoint is described with a specific verb and resource, and it is clearly distinguished from sibling tools that target other resource types like cameras or alerts.

    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 enumerates the exact operations with their HTTP methods and one-line purposes, making it straightforward to select the appropriate operation for a module management task. However, it lacks explicit when-not-to-use guidance or direct comparison to alternative tools, though the resource-specific nature of sibling tools makes the intended usage fairly clear.

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

  • Behavior4/5

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

    Despite annotations lacking detail, the description adds useful behavioral context about response JSON: 'status', 'truncated', 'timedOut' flags, and truncation behavior. It also specifies the required body field for the POST operation, going beyond the schema. No contradiction with annotations.

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

    Conciseness4/5

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

    The description is reasonably concise, starting with a general purpose line, then a useful response note, and a structured list of endpoints. The first line is slightly redundant with the title, but the rest is compact and informative.

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

    Completeness4/5

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

    With no output schema, the description compensates by explaining key response fields and truncation behavior. It lists both operations and gives body requirements. It lacks details on authentication or side effects, but for a two-endpoint tool it covers the essential invocation context.

    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%, but the description adds crucial meaning for the POST body, indicating 'CameraRequest' requires 'cameraType' and directing to 'ivedaai_get_schema' for full fields. This supplements the generic schema descriptions and helps the agent construct valid requests.

    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 explicitly names the resource ('Onvif') and provides two specific operations with verbs: 'Discover onvif cameras' and 'List onvif camera rtsp'. This clearly differentiates from sibling tools by resource and action, meeting the 'specific verb+resource' criterion.

    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 for each operation (GET vs POST) and notes the required body field for the POST operation. However, it does not explicitly mention exclusions or alternative tools, though the resource-specific name and sibling list make the intended use fairly obvious.

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

  • Behavior3/5

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

    The description adds a useful note about the response JSON structure ('status', 'truncated', 'timedOut'), which is beyond the annotations. However, it does not disclose side effects like email sending or auth requirements for write operations. With annotations providing no safety hints, the description could be more transparent.

    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 well-structured and front-loaded, with a brief response note followed by a compact list of operations. Every line is necessary and provides value. No redundant or vague wording.

    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?

    The description covers all operations and parameters comprehensively, which is critical given no output schema and minimal annotations. It could be improved by giving example responses or expected error codes, but the current level is sufficient for most use cases.

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

    Parameters5/5

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

    The description provides detailed parameter information for each endpoint, including names, types, and required markers (e.g., 'query: token*:string', 'body: { password*:string, username*:string }'). This goes far beyond the generic input schema, giving the agent exact parameter semantics.

    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 explicitly lists all four operations with clear verbs and resources: 'Get available token', 'Forget password by email', 'Reset password by key', and 'Check if the password reset key has expired'. This clearly defines the tool's purpose and distinguishes it from sibling tools focused on other domains.

    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 makes the tool's scope self-evident: it is for password operations. Each operation has a specific use case, and the context is clear. It does not provide explicit alternatives or exclusions, but the domain separation from sibling tools is obvious enough.

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

  • Behavior4/5

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

    The description adds useful behavioral context beyond the annotations, such as the response envelope with 'status', 'truncated', and 'timedOut' flags, and specifics about file upload format and required form fields. It aligns with the destructiveHint annotation (DELETE operation) and adds meaningful detail about API behavior.

    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 well-structured with a brief overview and then a clean per-endpoint breakdown. It is dense but efficient, containing no filler while packing all essential parameter details for each operation.

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

    Completeness4/5

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

    With four distinct operations, no output schema, and a generic input schema, the description does a strong job of covering operations, parameters, and response flags. It could be more complete by describing the response body shape for each operation or mentioning error behavior, but it is sufficient for correct invocation.

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

    Parameters5/5

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

    Even though the input schema is generic, the description fully compensates by mapping each operation to its concrete parameters: query parameters for GET, file and form fields for POST, path parameter for DELETE/PATCH, and body reference to VoPlugin. This is far more informative than the schema alone.

    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 identifies this as the tool for Plugin operations and enumerates the exact operations (List, Import, Delete, Update metadata) with HTTP verbs and resources. It is unambiguous and distinct from sibling tools, which are for other IvedaAI resources.

    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 clear endpoint context and operation details, making the intended use implicit: use this tool when performing CRUD actions on plugins. However, it does not explicitly state when to prefer this tool over alternatives or mention exclusions, so it falls short of explicit usage guidance.

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

  • Behavior5/5

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

    The description adds substantial behavioral context beyond the annotations: it explains the response envelope (status, truncated, timedOut flags), details the field mapping between GET /api/rois/{roiId} and PATCH/PUT request bodies, and explicitly notes that PATCH/PUT leave omitted fields unchanged. This complements the destructiveHint annotation by providing actionable, non-obvious detail without contradicting any annotation.

    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 well-structured with a clear front-loaded overview and a per-operation reference format. However, the long field-mapping NOTE is repeated verbatim for both PATCH and PUT, and the 'ivedaai_get_schema for all fields' phrase appears three times, introducing avoidable redundancy. Despite this, the overall organization makes it easy to scan and locate relevant details.

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

    Completeness5/5

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

    For a tool exposing six operations, the description is remarkably complete: it covers all operations, query parameters, required body fields, path parameters, response envelope quirks, and a critical field-mapping behavioral note. It also appropriately points to ivedaai_get_schema for full RoiRequest field definitions, filling the one remaining gap without overloading the description.

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

    Parameters5/5

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

    The input schema offers only generic descriptions (path, query, body), but the tool description enumerates every query parameter for GET /api/rois (with types and a detailed enum), lists the required body fields for create/patch/update, and defines the path parameter type. It also clarifies the field-name transformation between GET and PATCH/PUT responses, adding meaning far beyond the schema's generic property placeholders.

    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 enumerates six specific REST operations (GET, POST, DELETE, GET by id, PATCH, PUT) against the /api/rois resource, giving concrete verb+resource pairs for each. This distinguishes ivedaai_roi from its sibling tools, which are named for different IvedaAI resources (e.g., ivedaai_camera, ivedaai_alert).

    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 explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or conditions that favor another tool. The usage is only implicitly inferred from the tool name and the listed operations, but there is no direct statement like 'use this for managing ROIs' or 'use ivedaai_get_schema for schema details.'

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

  • Behavior4/5

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

    Annotations already declare destructiveHint=true, so the description doesn't need to restate that. It adds value by explaining the response envelope (status, truncated, timedOut) and clarifying a potentially confusing behavior: the GET endpoint returns the field under a different key, and PUT leaves omitted fields untouched. This prevents misinterpretation. No contradiction with annotations.

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

    Conciseness4/5

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

    The description is structured as a clear list of endpoints with parameters and notes. It is dense but each line conveys necessary information. The note about the GET field mapping is valuable and justifies its length. It could be slightly more compact, but the organization aids scanning. No 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?

    With six operations and many parameters, the description covers the essential details: endpoints, required fields, query params, and a behavioral caveat. It references ivedaai_get_schema for full field definitions, which is a sensible pointer. It does not document error responses or authentication, but these are likely standard across the API. Overall, it is sufficiently complete for the complexity.

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

    Parameters5/5

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

    The input schema only has generic query/path/body containers with 100% coverage, but the description fills in the actual query parameter names, types, and required fields for each endpoint (e.g., nameContains, engineModelIds, ainvrId). It also indicates that the body requires 'name' and directs to ivedaai_get_schema for full field details. This adds substantial meaning beyond the schema.

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

    Purpose5/5

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

    The description explicitly names the resource (EngineProfile) and lists all six operations (GET, POST, PUT, DELETE, default). This clearly distinguishes it from sibling tools like ivedaai_camera or ivedaai_engine_model. The verb+resource pattern is specific and unambiguous.

    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 each endpoint including query parameters and body requirements. It also includes an important usage note about the GET field name difference (engineModelIds vs engineModelId) and that PUT leaves omitted fields alone, which helps the agent choose and invoke operations correctly. However, it does not explicitly state 'use this tool when managing engine profiles' or contrast with alternatives, though this is implied by the resource name.

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

  • Behavior4/5

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

    Annotations indicate a non-read-only, non-destructive operation. The description adds value by explaining the response JSON structure, including 'status', 'truncated', and 'timedOut' flags, which go beyond the annotations. No contradictions with annotations.

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

    Conciseness4/5

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

    The description is relatively concise, but the formatting is a bit cluttered with line breaks. It front-loads key response information and then presents the operation. It could be cleaner, but every sentence 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 single-operation tool with no output schema, the description provides necessary response context and operation details. It doesn't cover error handling or authentication prerequisites, but it is adequate for the tool's simplicity.

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

    Parameters5/5

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

    The input schema only defines generic parameters like 'query' and 'body', but the description enumerates all specific query parameters (code, code_verifier, grant_type, etc.) with types and enums. This adds essential meaning that the schema lacks, providing complete parameter semantics.

    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 identifies the tool as handling OAuth operations with a specific endpoint: POST /api/oauth2/token to get a token. The verb and resource are explicit, and it is distinct from sibling tools which target other resources like cameras or alerts.

    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 tool's purpose is self-evident: it is for obtaining OAuth tokens via the listed grant types. While it doesn't explicitly state when not to use it or mention alternatives, the context is clear enough for an agent to select this tool when OAuth operations are needed.

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

  • Behavior5/5

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

    The description reveals numerous non-obvious behaviors: schema-valid minimal bodies fail without internal defaults, a separate activation step exists and is auto-performed, partial creation can occur on errors and is handled, and successful activation doesn't guarantee connection. This goes far beyond the annotations (readOnlyHint=false, destructiveHint=false) and gives critical operational insight.

    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 long but information-dense, covering edge cases in a structured way with the main purpose front-loaded. Some repetition exists (defaults mentioned twice), but the length is justified by the tool's complexity and the critical gotchas that must be disclosed.

    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?

    No output schema is present, so the description must explain return values. It mentions key outputs like jobId, cameraId, created_despite_error, and failed, and tells the agent how to verify success using sibling tools. This adequately rounds out the picture for a complex tool with side effects.

    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. The description adds value by clarifying default behavior for engineProfileId and roiContour, emphasizing that streamUrl is more reliable than ip, and explaining how ip is used only as a fallback to guess an RTSP URL. This enriches the schema definitions with practical guidance.

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

    Purpose5/5

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

    The description opens with a specific verb and resource: 'Adds one or more cameras... and starts their connection.' This clearly distinguishes the tool from sibling tools like ivedaai_camera (which retrieves camera info) by focusing on creation with activation.

    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?

    It provides practical usage context: only name plus streamUrl or ip are required, defaults are applied, and activation is automatic unless disabled. It also directs the agent to use ivedaai_job and ivedaai_camera for follow-up verification, implying when this tool is the right choice.

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

  • Behavior5/5

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

    The description goes well beyond annotations by documenting nuanced mutation behaviors: PATCH 'leaves omitted fields alone' while PUT 'refuses partial bodies outright', the nvrId → nvr.nvrId key mapping, and that 'doRecording'/'engineConfig' cannot be read back. It also explains the response JSON's 'status' field and truncation flags, giving agents critical operational context.

    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 long but well-structured with endpoint headings and consistent query/body/path formatting. It front-loads the response JSON caveat, which is useful. While every sentence carries information, the sheer number of endpoints makes it verbose, though this is justified by the tool's multi-operation surface.

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

    Completeness5/5

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

    Given the tool's complexity (13 endpoints) and lack of output schema, the description is exceptionally complete. It documents all parameters, required fields, enums, special behaviors, and read-back limitations. The absence of an output schema is mitigated by the response status explanation, leaving no critical gaps for an agent to operate correctly.

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

    Parameters5/5

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

    The input schema is generic (body/path/query/operation), but the description lists all query parameters with types and enums for each endpoint (e.g., cameraTypes, excludeEngines), required body fields (cameraType, name, cameraId), and path parameters. This fully compensates for the schema's lack of operation-specific detail.

    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 identifies the tool as 'IvedaAI API — Camera operations' and enumerates all camera-related endpoints (CRUD, jobs, heatmap, status, pseudo, recommend-engines, uri-schemes). This specific scope distinguishes it from sibling tools like ivedaai_camera_group and ivedaai_camera_state, which handle different camera-adjacent concerns.

    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 camera operations via the endpoint list, but provides no explicit guidance on when to choose this tool over siblings (e.g., ivedaai_camera_group, ivedaai_add_camera). There are no stated when-not scenarios or alternative tool references, so it relies on inferred context.

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

  • Behavior4/5

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

    Discloses response structure (status, truncated/timedOut flags) and critical update behavior (refuses partial bodies, field mapping differences). Annotations already indicate destructive/read-write nature, but the description adds substantive detail about what happens during calls.

    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 endpoint-based structure is efficient and scannable, with each operation clearly listed. It's slightly long due to the many endpoints and notes, but every line adds value, such as the response flag explanation and the body field caveat.

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

    Completeness5/5

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

    Given there is no output schema, the description compensates by explaining the response JSON structure and edge cases like truncation. It covers all five operations, parameter details, and required fields, and references ivedaai_get_schema for comprehensive field schema, making it a complete guide for using this tool.

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

    Parameters5/5

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

    The description enumerates the query parameters (offset, page, pageSize, sort, etc.), path parameter (filterId), and required body fields (name, type) for create/update. This goes well beyond the generic schema's generic 'query' and 'body' properties, giving explicit meaning to each parameter.

    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 identifies this as the Filter resource with CRUD operations, listing all five endpoints. It distinguishes itself from sibling tools by focusing on 'filter' operations with specific verbs like List, Create, Delete, Find, and Update.

    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?

    Provides per-operation guidance, including query parameters for listing, path parameter for id-based operations, and body requirements for create/update. The note about GET vs PUT field mapping and the warning about refusing partial bodies gives context for when to use each operation, though it doesn't explicitly compare to alternative tools.

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

  • Behavior4/5

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

    Annotations already declare read-only, non-destructive, open-world=false. Description adds behavior around omitting name to list all definitions and confirms return type. No contradiction, and the description supplements annotations well.

    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 sentences, front-loaded with the verb and resource, each sentence serves a purpose. Efficient and readable with zero filler.

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

    Completeness5/5

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

    For a simple tool with one optional parameter, read-only annotations, and no output schema, the description covers purpose, usage, and listing behavior completely, enabling correct invocation.

    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% with the 'name' parameter fully described including example and omit behavior. Tool description reinforces the same but adds no new dimension beyond the schema, so 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?

    Description uses specific verb 'looks up' with resource 'full JSON schema for a named IvedaAI API definition', provides a concrete example, and clearly distinguishes from sibling tools that represent actual API resources.

    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?

    Explicitly states when to use: when a tool's body schema summary is truncated or need exact shape of a nested field. Also gives alternative usage of calling with no name to list all definitions.

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

  • Behavior4/5

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

    Annotations already signal destructive and non-read-only behavior, and the description aligns by including DELETE operations. It adds value beyond annotations by documenting the response envelope ('status', 'truncated', 'timedOut') and required body fields (location for maps, filePath/name for floor plans). This is useful operational context, though it does not delve into auth or rate limits.

    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 structured as a compact API reference with each endpoint on its own line, parameters listed under each, and a useful response-format note at the top. Despite covering 10 operations, it remains scannable and free of fluff, with only minor repetition of the ivedaai_get_schema pointer.

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

    Completeness5/5

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

    Given the tool's complexity (10 operations, nested body objects, no output schema), the description is remarkably complete: it covers all endpoints, required/optional parameters, required body fields, and even the response envelope structure. It also points to ivedaai_get_schema for full field schemas, filling any remaining gaps.

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

    Parameters5/5

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

    The generic input schema only describes high-level containers (body, path, query, operation). The description supplies operation-specific parameter details: path parameters (indoorMapId, floorPlanId), query parameters (sorted, unsorted, withPermission), and required body fields. This goes well beyond the schema descriptions and is essential 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?

    The description clearly states 'IvedaAI API — IndoorMap operations' and enumerates all 10 REST endpoints for indoor maps and floor plans (list, create, delete, find, update). This is a specific verb+resource pairing that distinguishes it from sibling tools like ivedaai_camera or ivedaai_alert.

    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 a complete usage reference by listing every operation and its parameters. It implicitly tells the agent when to use this tool (any IndoorMap or floor-plan management) and even directs to ivedaai_get_schema for full field definitions. However, it lacks explicit 'use X instead for Y' alternatives or exclusion notes.

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

  • Behavior5/5

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

    The description provides valuable behavioral context: it explains the response JSON format (status, truncated, timedOut), notes a field-name discrepancy between GET and PATCH/PUT, and confirms that omitted fields are left alone. This goes well beyond the annotations, which only indicate destructive=true.

    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 well-organized with each operation on a separate line and parameters listed compactly. However, the NOTE about cameraId and omitted fields is duplicated verbatim for both PATCH and PUT, which adds minor redundancy.

    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 tool with six operations, the description is quite complete: it covers endpoints, params, response status, and special edge cases. It stops short of describing the full LineSet object structure, but it explicitly defers to ivedaai_get_schema, which mitigates this gap.

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

    Parameters5/5

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

    The input schema only supplies generic 'query' and 'path' objects, but the description enumerates all query parameters with types and enums, lists required body fields (cameraId, name), and references ivedaai_get_schema for full details. This is essential for the agent to construct valid requests.

    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 identifies the tool as handling LineSet operations and enumerates all six endpoints with explicit verbs (Find, Create, Delete, Get, Patch, Update). This distinguishes it from sibling resource tools and gives a precise scope.

    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?

    Each operation is briefly described (e.g., 'Find lineSets', 'Create lineSet') and includes its parameters, making it obvious which operation to use. However, there is no explicit guidance on when to choose PATCH vs PUT or when to use this tool over related tools like ivedaai_roi or ivedaai_counting.

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

  • Behavior4/5

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

    Beyond the annotations (readOnly=false, destructive=false), the description adds response JSON shape with status, truncated/timedOut flags, and required body fields. This gives the agent awareness of cut-off responses and required inputs, which annotations do not convey.

    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 organized into concise, bullet-like lines for each operation, with no redundant text. The response JSON note is brief and useful; every sentence contributes.

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

    Completeness5/5

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

    For a multi-operation tool with no output schema, the description covers all three operations, their parameters, required fields, and response characteristics. The pointer to ivedaai_get_schema fills any remaining gaps, making it sufficiently complete for an agent to select and invoke correctly.

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

    Parameters5/5

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

    The description maps each operation to its path/body parameters, specifies required fields for OpenidProviderReq, and directs to ivedaai_get_schema for the full field list. This adds crucial meaning beyond the generic body/path schema definitions.

    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 explicitly names 'Openid operations' and enumerates three distinct API operations (Create, Update, Test connect), clearly identifying the tool's role in managing OpenID providers. This differentiates it from sibling tools focused on other resources.

    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 lists the specific operations and their purposes, providing clear context for when to invoke each (create, update, test). It does not explicitly mention when not to use the tool or name alternatives, but the operation names and resource focus provide adequate guidance.

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

  • Behavior5/5

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

    The description is rich with behavioral details beyond annotations: it documents undocumented gotchas from live testing, unpredictable VMS connection failure times, PATCH merge behavior, and refusal to write on failed read. This aligns with annotations and adds substantial context.

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

    Conciseness2/5

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

    The description is overly long and repetitive: the same paragraph about unpredictable VMS connection failure timing is repeated verbatim for all 13 VMS types, bloating the text and reducing readability. While structured with headers, the redundancy prevents a higher score.

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

    Completeness5/5

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

    The description is extremely comprehensive, covering all actions, config shapes, type testability, gotchas, and timeouts. Despite no output schema, it describes the test action's return verdicts and the list_types output. It is complete for the complexity of the tool.

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

    Parameters5/5

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

    Although schema coverage is 100%, the description adds critical parameter semantics: config shape per category, type reference with testability, and meaning of timeoutMs. The schema itself points to the description for config details, so the description carries the essential burden.

    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 it 'Configures and tests AlertRule.trigger' and differentiates from sibling tools like ivedaai_alert_rule and ivedaai_alert_trigger by focusing on integration routing. It also lists three distinct actions, making the purpose specific and unambiguous.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when to use each action, including testability exclusions ('Only request, mobile, and the 13 VMS types are testable') and recommends calling test before apply. It also advises on timeout adjustments for VMS types, which is clear and actionable.

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

  • Behavior5/5

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

    Beyond the annotations (destructiveHint=true), the description discloses critical behavioral details: PUT replaces the entire record and omitted fields revert to defaults; cameraGroupIds cannot be read back via GET; and responses include 'truncated'/'timedOut' flags. These cautions exceed the generic annotations and help avoid data loss.

    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 efficiently organizes eight endpoints with method, path, parameters, and notes, using consistent formatting. It front-loads the response JSON caveat and keeps each entry compact. While long, the length is justified by the operation count.

    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?

    All endpoints are covered with their parameters and some behavioral caveats. The reference to ivedaai_get_schema for full body fields acknowledges where to get more details. However, response structures beyond status/flags are not specified, so coverage is strong but not exhaustive.

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

    Parameters5/5

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

    The generic input schema only provides structural placeholders (body, path, query). The description supplies operation-specific parameter lists, required fields (cameraIds, name), enums for plugins, and query options like pagination. This substantially improves the agent's ability to call operations 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 explicitly states 'IvedaAI API — CameraGroup operations' and enumerates all eight HTTP endpoints for camera groups. This clearly identifies a specific resource and actions, distinguishing it from sibling tools like ivedaai_camera or ivedaai_alert.

    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 that this tool handles all CameraGroup operations, listing available endpoints. It does not explicitly mention alternative tools or exclusions, but the resource-specific naming and enumeration imply this is the sole tool for camera group management. Since it lacks explicit when-to-use guidance, it scores a 4.

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

  • Behavior5/5

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

    The description discloses critical behavioral details beyond annotations: PATCH nulls 'externalId' when omitted, accountIds are not stored on the record but fetched from a sub-endpoint, response status/truncated/timedOut fields are explained, and required fields are explicitly listed. This far surpasses the basic destructiveHint annotation and gives the agent actionable knowledge about 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 long but warranted given the 11 operations. It is structured with endpoint headings, clear parameter lists, and front-loaded response caveats. Every sentence carries necessary information—cautions, field locations, or required-body details—with no filler.

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

    Completeness5/5

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

    With no output schema, the description explains the response envelope (status, truncated, timedOut) and points to ivedaai_get_schema for full request field details. It covers all operations, their expected parameters, required fields, and cross-endpoint dependencies, making it complete for a complex multi-endpoint tool.

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

    Parameters5/5

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

    The generic input schema only has generic body/path/query/operation fields, but the description enriches every operation with specific parameter names, types, required flags, enums, and caution notes. For example, the PATCH body requires externalId and name, and the permissions query has the type enum Camera|FaceCategory|LicensePlateCategory. This compensates fully for the schema's generic nature.

    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 enumerates all 11 operations with specific verbs and resources (list, create, delete, patch, update, account management, permissions). It distinguishes the UserGroup API from sibling tools by naming each endpoint and its purpose. The resource (user groups) is explicit and unambiguous.

    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?

    Clear context is provided per operation, including when to use the accounts endpoint for reading accountIds rather than the main record endpoint. However, it does not explicitly mention alternative sibling tools or when to prefer another tool over this one. The guidance is strong internally but lacks cross-tool exclusions.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

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

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

Card Badge

ivedaAI-mcp-server MCP server

Copy to your README.md:

Score Badge

ivedaAI-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WillORepO/ivedaAI-mcp-server'

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