Skip to main content
Glama

Aman-Amith-Shastry-scientific_computation_mcp

vector_dot_product

Read-onlyIdempotent
    Computes the dot product between two stored vectors.

    Args:
        name_a (str): Name of the first vector in the tensor store.
        name_b (str): Name of the second vector in the tensor store.

    Returns:
        float: Scalar result of the dot product.

    Raises:
        ValueError: If either vector is not found or if the dot product computation fails.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
name_aYesName of the first stored vector.
name_bYesName of the second stored vector.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / name_a / description
      Added value: +"Name of the first stored vector."
    • addedInput schema / properties / name_b / description
      Added value: +"Name of the second stored vector."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "title": "Result",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "title": "vector_dot_productOutput",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark this readOnly and idempotent, lowering the burden. The description adds that a ValueError is raised when a vector is missing or the operation fails, and that inputs are stored vectors referenced by name, which is useful behavior beyond annotations. No contradiction.

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?

Three short sections: a one-line computation statement, two parameter lines, return and error note. No filler, and the Raises clause is behaviorally useful. The description is compact and structured for quick scanning.

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

Completeness4/5

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

For a simple two-parameter compute tool, the description covers operation, operands, return, and failure mode. It doesn't mention vector dimension compatibility or that vectors must already be stored, but schema param titles ('stored vector') plus 'stored vectors' in the description cover this. An agent has sufficient context to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are named and described in the schema. The description repeats the same parameter explanations, adding no extra semantic nuance beyond 'stored' vectors. 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?

The description states a specific verb and resource: 'Computes the dot product between two stored vectors.' This clearly distinguishes it from sibling tools like vector_cross_product and vector_project without ambiguity.

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 the tool's purpose clear (computing a dot product between two stored vectors), so an agent can infer when to use it. However, it does not explicitly state exclusions or alternatives (e.g., when to prefer cross product or projection), leaving some selection reasoning to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.