Skip to main content
Glama
markuskreitzer

PicoScope MCP Server

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes with clear boundaries, such as capture_block for data acquisition and compute_fft for frequency analysis. However, some measurement tools like measure_amplitude and measure_frequency could be confused as they both rely on a prior capture and target similar signal characteristics, though their specific functions differ.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as configure_channel, get_device_info, and measure_amplitude. All tools use snake_case with clear, descriptive verbs, making the set predictable and easy to navigate without any deviations in style.

    Tool Count3/5

    With 24 tools, the count is borderline high for an oscilloscope server, potentially overwhelming for agents. While it covers many functions like configuration, measurement, and data handling, it might benefit from consolidation or categorization to reduce complexity, though it's not extreme.

    Completeness5/5

    The tool set provides comprehensive coverage for oscilloscope operations, including device connection, channel configuration, data capture (block and streaming), signal analysis (FFT, statistics), measurements (amplitude, frequency, THD), and auxiliary functions like signal generation and export. No obvious gaps are present, supporting full lifecycle management.

  • Average 3.2/5 across 24 of 24 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but offers minimal behavioral context. It mentions the tool returns a dictionary with frequency bins and magnitude spectrum, but doesn't disclose computational requirements, data size limitations, whether it processes real-time or stored data, or any performance characteristics.

    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 efficiently structured with a brief purpose statement followed by Args and Returns sections. However, the 'Compute FFT (Fast Fourier Transform) for frequency domain analysis' sentence could be more specific about what data is being transformed.

    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 the tool has an output schema (though not shown here), the description doesn't need to fully document return values. However, for a computational tool with no annotations and 0% schema description coverage, it should provide more context about data requirements, transformation specifics, and typical use cases to be complete.

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

    Parameters3/5

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

    Schema description coverage is 0%, but both parameters have enums that define valid values. The description adds minimal semantics by naming the parameters (channel, window) and stating their purpose ('Channel to analyze', 'Window function to apply'), but doesn't explain what the channel represents or how the window affects the analysis.

    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 computes FFT for frequency domain analysis, which is a specific verb (compute) and resource (FFT). However, it doesn't differentiate from sibling tools like measure_frequency or measure_thd, which might also perform frequency-related analyses.

    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. The description doesn't mention prerequisites like needing connected devices or configured channels, nor does it explain how this differs from other frequency measurement tools in the sibling list.

    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?

    No annotations are provided, so the description carries full burden. It mentions 'configure' which implies a write/mutation operation, but doesn't disclose whether this requires specific device states (e.g., connected/streaming), whether changes are persistent, what permissions are needed, or any side effects. The description adds minimal behavioral context beyond the basic action.

    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 appropriately sized with clear sections (purpose, args, returns). The purpose statement is front-loaded, and the parameter explanations are efficient. However, the 'Returns' section could be more informative given there's an output schema - it somewhat repeats what the structured data already provides.

    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 a mutation tool with no annotations but with an output schema, the description is moderately complete. It explains the parameters adequately and mentions the return type. However, it lacks important context about prerequisites (e.g., device connection state), side effects, and how this configuration interacts with other tools like 'start_streaming' or 'get_streaming_data'.

    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?

    With 0% schema description coverage, the description compensates by explaining both parameters: 'mode' is described as 'Downsampling mode' and 'ratio' is explained with 'Downsampling ratio (1 = no downsampling)'. This adds meaningful semantics beyond the bare schema, though it doesn't detail what each enum value ('aggregate', 'decimate', etc.) actually means. For 2 parameters, this is reasonably helpful.

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

    Purpose3/5

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

    The description states 'Configure downsampling for data acquisition' which provides a basic purpose (configure downsampling) and context (data acquisition). However, it doesn't specify what exactly gets configured (which device/channel/system) or how it differs from sibling tools like 'configure_channel' or 'set_timebase'. The purpose is clear but lacks specificity about scope and 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?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'configure_channel', 'set_timebase', and 'get_streaming_data', there's no indication of whether this tool should be used before/after streaming, in conjunction with other configuration tools, or as a standalone operation. The agent must infer usage from the tool name alone.

    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?

    No annotations are provided, so the description carries full burden. It states the tool configures something but doesn't disclose whether this is a read/write operation, if it requires device connection, what permissions are needed, or side effects like affecting streaming. 'Configure' implies mutation, but behavioral details like idempotency, error handling, or system impact are missing.

    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 purpose statement followed by Args and Returns sections. It's front-loaded and uses bullet-like formatting efficiently. However, the 'Returns' section is somewhat redundant given the output schema, and the purpose statement could be more concise by integrating parameter hints.

    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 3 parameters with enums but 0% schema coverage, an output schema exists, and no annotations, the description provides basic purpose and parameter labels. It covers the core action but lacks context on when/why to use it, behavioral risks, or detailed parameter semantics. For a configuration tool with mutation implied, this is minimally adequate but has clear gaps.

    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 0%, but the description lists parameters with brief labels ('Mathematical operation to perform', 'First channel', 'Second channel') that add basic meaning. However, it doesn't explain what 'channel' refers to (e.g., device channels), the enum values' significance, or how operations apply. With 3 parameters and no schema descriptions, this partially compensates but leaves gaps.

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

    Purpose4/5

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

    The description clearly states the tool's purpose as 'Configure a math channel (channel operations)' with specific verb ('configure') and resource ('math channel'), and mentions mathematical operations. It distinguishes from siblings like 'configure_channel' by specifying 'math channel' operations, though it doesn't explicitly contrast with 'configure_channel'.

    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 like 'configure_channel' or other configuration tools. It mentions 'channel operations' but gives no context about prerequisites, timing, or exclusions. The agent must infer usage from the name and parameters alone.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an export operation (implying data output) but doesn't describe what happens to the original waveform data (preserved or consumed?), whether file creation requires specific permissions, or any rate limits/constraints. The return value format is mentioned but lacks detail on error conditions or response structure beyond the basic dictionary description.

    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 efficiently structured with a clear purpose statement followed by organized sections for arguments and returns. Every sentence serves a functional purpose. While slightly longer than minimal, the structure enhances readability without unnecessary verbosity. The information is front-loaded with the core function stated first.

    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 3 parameters with 0% schema coverage and no annotations, the description provides basic but incomplete context. The presence of an output schema means the description doesn't need to detail return values, but it should better address behavioral aspects and usage prerequisites. For a data export tool in an instrumentation context, more guidance about data availability and file system interactions would be valuable.

    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 0%, so the description must compensate. It provides basic semantic meaning for all three parameters: 'format' specifies export options, 'channels' indicates which data channels to include, and 'filename' defines the output name. However, it doesn't explain channel naming conventions, file location defaults, or format-specific behaviors. The description adds value beyond the bare schema but leaves important practical details unspecified.

    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 verb 'Export' and the resource 'captured waveform data to file', making the purpose immediately understandable. It distinguishes itself from siblings like 'capture_block' or 'get_streaming_data' by focusing on data export rather than acquisition or analysis. However, it doesn't explicitly differentiate from potential data export alternatives that might exist in the broader context.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether waveform data must be captured first using 'capture_block'), nor does it suggest when other export formats or methods might be preferable. The agent receives no contextual usage instructions beyond the basic function.

    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?

    No annotations are provided, so the description carries the full burden. It mentions retrieving 'latest streaming data' and 'for enabled channels', but lacks details on behavioral traits such as whether this is a read-only operation (implied by 'Get'), potential rate limits, data format, or if it requires an active streaming session. This leaves significant gaps for a tool that likely interacts with real-time data.

    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 appropriately sized with a brief purpose statement followed by structured 'Args' and 'Returns' sections. It's front-loaded and efficient, with no wasted sentences, though the 'Returns' section could be more concise by integrating with the purpose statement.

    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 the tool's complexity (likely real-time data retrieval), no annotations, and an output schema (implied by 'Returns' statement), the description is minimally adequate. It covers the basic purpose and parameter but lacks context on prerequisites, data format, or error handling, leaving gaps that could hinder effective use by an AI agent.

    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 adds meaning beyond the input schema by explaining that 'max_samples' is the 'Maximum number of samples to retrieve', which clarifies its purpose. With 0% schema description coverage and only one parameter, this compensates well, though it doesn't detail constraints like valid ranges or units. The baseline is high due to low parameter count and coverage.

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

    Purpose3/5

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

    The description states the tool 'Get latest streaming data' which provides a clear verb ('Get') and resource ('streaming data'), but it's vague about what 'streaming data' entails and doesn't distinguish it from sibling tools like 'get_statistics' or 'export_waveform' that might also retrieve data. It specifies 'for enabled channels' which adds some context but remains general.

    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 offers no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like needing streaming to be active (implied by 'start_streaming' sibling) or when to choose this over tools like 'get_statistics' for processed data. There's no explicit when/when-not usage advice.

    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?

    No annotations are provided, so the description carries the full burden. It states the tool measures pulse width but does not disclose behavioral traits such as required device state (e.g., connected device, active signal), measurement accuracy, error conditions, or side effects. The description is minimal and lacks 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 appropriately sized and front-loaded with the core purpose. The Args and Returns sections are structured, but the 'Returns' sentence could be more concise. Overall, it avoids unnecessary verbosity while maintaining clarity.

    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 annotations, 0% schema coverage, and an output schema (implied by 'Returns'), the description is moderately complete. It covers the basic purpose and parameters but lacks context on device state, measurement specifics, and integration with sibling tools. The output schema handles return values, but operational details are missing.

    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 0%, so the description must compensate. It adds meaning by explaining 'channel' as 'Channel to measure' and 'threshold_percent' as 'Threshold percentage for pulse measurement (0-100)', which clarifies the purpose beyond the schema's enum and numeric types. However, it does not detail how threshold affects measurement or channel options, leaving some gaps.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Measure pulse width at specified threshold.' It specifies the verb ('measure') and resource ('pulse width'), distinguishing it from siblings like measure_frequency or measure_amplitude. However, it does not explicitly differentiate from similar measurement tools beyond the specific measurement type.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context (e.g., after configuring a channel), or exclusions. Given siblings like measure_amplitude and measure_frequency, there is no explicit comparison or usage context provided.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what the tool does and the return format but omits critical details like whether this is a read-only operation, if it requires specific device states, potential side effects, or error conditions. This is inadequate for a tool with no annotation coverage.

    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 appropriately sized and front-loaded, with the main purpose stated first followed by brief parameter and return details. However, the 'Args:' and 'Returns:' sections are somewhat redundant given the structured fields, slightly reducing efficiency.

    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 the tool's moderate complexity (a measurement operation with one parameter), no annotations, and an output schema that covers return values, the description is minimally adequate. It explains the purpose and return structure but lacks context on usage, prerequisites, and behavioral traits, leaving gaps for the agent.

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

    Parameters3/5

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

    The description adds minimal value beyond the input schema. It states that 'channel' is the channel to measure, which is implied by the schema's enum values (A, B, C, D). With 0% schema description coverage, the description doesn't compensate by explaining channel semantics or measurement context, meeting only the baseline expectation.

    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 verb ('Measure') and resource ('Total Harmonic Distortion (THD)'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling measurement tools like measure_amplitude or measure_frequency, which prevents 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?

    No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites (e.g., whether a device must be connected or configured first) or comparisons with other measurement tools, leaving the agent to infer usage.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it 'captures' data, implying a read operation, but doesn't disclose critical traits: whether it requires a trigger configuration, if it blocks execution until capture completes, what happens if no trigger occurs, or any rate/performance limits. The return format is mentioned but lacks detail on structure or units.

    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 appropriately sized and front-loaded with the core purpose in the first sentence. The Args and Returns sections are structured but slightly verbose for a simple tool. Every sentence adds value, though the formatting could be more concise by integrating parameter explanations into the main description.

    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 the tool's complexity (data capture with trigger-based timing), no annotations, and an output schema (implied by Returns statement), the description is minimally adequate. It covers purpose and parameters but lacks context on prerequisites, behavioral constraints, and integration with sibling tools like 'set_simple_trigger' or 'configure_channel', leaving gaps for effective agent use.

    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 adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains that 'pre_trigger_samples' and 'post_trigger_samples' define the data block around a trigger event, clarifying their role in capture timing. However, it doesn't specify valid ranges, units (e.g., samples vs. time), or interaction with other tools like 'set_simple_trigger'.

    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's purpose: 'Capture a single block of data' with a specific verb ('capture') and resource ('block of data'). It distinguishes from siblings like 'get_streaming_data' (continuous) and 'export_waveform' (file output), but doesn't explicitly differentiate from measurement tools like 'measure_amplitude' or 'measure_frequency' that might also capture data.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., device connection, channel configuration), timing considerations (e.g., trigger setup), or when to choose this over siblings like 'get_streaming_data' for continuous acquisition or measurement tools for specific analyses.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool configures a channel, implying a write/mutation operation, but doesn't disclose critical traits like required permissions, whether changes are destructive or reversible, error conditions, or rate limits. The 'Returns' section hints at output but lacks behavioral context.

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

    Conciseness4/5

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

    The description is well-structured with a purpose statement, Args section, and Returns section. Every sentence earns its place by explaining parameters or output. It's appropriately sized for a 5-parameter tool, though the 'Returns' could be more concise given the output schema exists.

    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 the tool's complexity (configuration/mutation), no annotations, and an output schema, the description is moderately complete. It explains parameters well but lacks behavioral context (e.g., side effects, errors). The output schema reduces the need to detail return values, but the description should address mutation implications more thoroughly.

    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 description coverage is 0%, so the description must compensate. It adds significant value by explaining all 5 parameters with clear semantics: channel identifiers, enabled state, coupling types, voltage range examples, and analog offset meaning. This goes beyond the bare schema, though it doesn't cover defaults or constraints like numeric ranges.

    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's purpose with a specific verb ('configure') and resource ('a channel on the oscilloscope'). It distinguishes itself from siblings like 'get_channel_config' (which reads) and 'configure_math_channel' (which configures a different resource). However, it doesn't explicitly contrast with all configuration siblings like 'configure_downsampling' or 'set_timebase'.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., device connection), exclusions, or compare with siblings like 'get_channel_config' for reading settings or 'configure_math_channel' for math channels. Usage is implied only by the tool name and description.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Stop') and mentions a return format, but doesn't describe what 'stopping' entails (e.g., immediate halt, graceful shutdown, state preservation), permission requirements, side effects, or error conditions. The return value description is minimal.

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

    Conciseness4/5

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

    The description is appropriately brief (two sentences) with zero wasted words. The first sentence states the action, the second describes the return format. However, the structure could be slightly improved by combining both ideas into a single more cohesive sentence.

    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 the tool has zero parameters, an output schema exists, and no annotations, the description provides the minimum viable information about what the tool does. However, for a control operation that likely changes device state, more context about behavioral implications would be helpful despite the output schema covering return values.

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

    Parameters4/5

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

    The tool has zero parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline 4 since it doesn't need to compensate for any schema gaps.

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

    Purpose4/5

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

    The description clearly states the action ('Stop') and resource ('signal generator output'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'stop_streaming' or 'disconnect_device', but the verb+resource combination is specific enough for basic understanding.

    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 like 'stop_streaming' or 'disconnect_device'. It doesn't mention prerequisites (e.g., whether the signal generator must be running first) or exclusions, leaving the agent to infer usage context from tool names alone.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool connects a device and returns a dictionary with status and info, but lacks details on error handling (e.g., what happens if the serial is invalid), side effects (e.g., if it locks the device for exclusive use), or performance aspects (e.g., timeouts). This is inadequate for a tool that likely involves hardware interaction.

    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 concise. It starts with a clear purpose statement, followed by an 'Args' section explaining the parameter, and a 'Returns' section detailing the output. Every sentence adds value without redundancy, and it's front-loaded with the core functionality.

    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 the complexity (device connection tool with hardware interaction), no annotations, and an output schema (which covers return values), the description is minimally adequate. It explains the parameter and return format, but lacks behavioral details like error conditions or side effects. With output schema handling returns, it meets a baseline but could be more complete for such a critical 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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage and only defines 'serial' as a string with a default. The description explains that 'serial' is the device serial number and clarifies that an empty value connects to the first available device, which is crucial usage context not in the schema. With 1 parameter and low schema coverage, this compensates well.

    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's purpose: 'Connect to a specific PicoScope device.' It specifies the verb ('connect') and resource ('PicoScope device'), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'list_devices' or 'disconnect_device', which would require 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?

    The description provides no guidance on when to use this tool versus alternatives. It mentions that an empty serial connects to the first available device, but doesn't explain when to use 'connect_device' over 'list_devices' (e.g., to check available devices first) or 'disconnect_device' (e.g., for cleanup). There's no context on prerequisites or typical workflows.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a 'Get' operation, implying read-only behavior, but doesn't address permissions, error conditions, or whether it requires device connectivity (relevant given siblings like 'connect_device'). This leaves gaps in understanding the tool's 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.

    Conciseness5/5

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

    The description is efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

    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 the tool's moderate complexity (single parameter, read operation) and the presence of an output schema (implied by 'Returns: Dictionary...'), the description is adequate but incomplete. It covers the basic purpose and parameter semantics but lacks usage guidelines and behavioral context, which are important for a tool in a device configuration ecosystem.

    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 adds meaningful context beyond the schema: it explains that 'channel' is a 'Channel identifier' and lists the enum values (A, B, C, D) in the Args section. Since schema description coverage is 0%, this compensates well for the single parameter, though it doesn't elaborate on what these identifiers represent (e.g., physical channels).

    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's purpose as 'Get current configuration of a channel,' which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'configure_channel' or 'get_device_info,' which could provide related configuration information.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'configure_channel' (for setting configuration) or 'get_device_info' (for broader device information), leaving the agent without context for tool selection.

    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?

    With no annotations provided, the description carries the full burden but lacks behavioral details. It doesn't mention whether this requires a connected device, if it's a read-only operation, what happens if invalid parameters are provided, or any rate limits. The mention of 'Returns' hints at output but doesn't fully describe 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 and front-loaded with the core purpose, followed by clear sections for Args and Returns. Every sentence adds value with no wasted words, making it easy to scan and understand quickly.

    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 the tool's moderate complexity (2 parameters, no annotations, output schema exists), the description is somewhat complete but has gaps. It covers purpose and parameters but lacks usage context and behavioral details. The output schema existence means return values don't need explanation, but other aspects like prerequisites are missing.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining 'channel' as 'Channel to analyze' and 'num_samples' as 'Number of samples to analyze', which clarifies their roles beyond the schema's enum and default values. However, it doesn't detail the enum options (A, B, C, D) or sample constraints.

    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's purpose with a specific verb ('Get statistical analysis') and resource ('of signal'), distinguishing it from measurement-focused siblings like measure_amplitude or measure_frequency. However, it doesn't explicitly differentiate from compute_fft, which might also analyze signals but differently.

    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 like compute_fft or the various measurement tools. The description only states what it does, not when it's appropriate or what prerequisites might be needed (e.g., device connection).

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Configure' implies a write operation, the description doesn't mention whether this requires specific device states, what happens to existing configurations, whether changes are immediate or require additional steps, or any error conditions. The return statement mentions a status dictionary but doesn't explain what it contains or how to interpret it.

    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 efficiently structured with a clear purpose statement followed by well-organized parameter and return sections. Every sentence adds value without redundancy. The Args/Returns formatting helps readability while maintaining brevity.

    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 the complexity of configuring a signal generator with 4 parameters and no annotations, the description is minimally adequate. It explains what parameters do but lacks behavioral context about device state requirements, error conditions, or practical usage patterns. The presence of an output schema means the description doesn't need to detail return values, but it should provide more operational guidance for this write 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 description provides clear semantic explanations for all four parameters beyond what the schema offers. The schema has 0% description coverage (only technical types and defaults), but the description adds meaningful context: 'waveform_type: Type of waveform to generate', 'frequency_hz: Frequency in Hz', etc. This compensates well for the schema's lack of descriptions, though it doesn't explain parameter interactions or constraints.

    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 verb ('Configure') and resource ('built-in signal generator (AWG)'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'stop_signal_generator' or explain how this configuration differs from other configuration tools like 'configure_channel' or 'set_timebase'.

    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. There's no mention of prerequisites (e.g., device connection), when this should be used instead of other configuration tools, or what happens if the signal generator is already running. The sibling tool list includes related tools like 'stop_signal_generator', but the description doesn't reference them.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that the tool 'starts streaming' and returns a status dictionary, but doesn't cover critical aspects like whether this requires a connected device, if it's destructive to existing data, error conditions, or rate limits. The description is insufficient for a mutation tool with zero annotation coverage.

    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 efficiently structured with a clear purpose statement followed by well-organized parameter explanations in bullet-like format. Every sentence adds value, with no redundant information. The 'Args' and 'Returns' sections are appropriately front-loaded and concise.

    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 the tool's complexity (starting a streaming process with 4 parameters) and the presence of an output schema (which handles return value documentation), the description is moderately complete. It explains parameters well but lacks crucial context about prerequisites, behavioral implications, and differentiation from sibling tools, making it inadequate for confident usage.

    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 provides meaningful explanations for all 4 parameters beyond the 0% schema description coverage. It clarifies that 'sample_interval_ns' is in nanoseconds, 'buffer_size' is for streaming, 'auto_stop' controls automatic stopping, and 'max_samples=0' means continuous capture. This compensates well for the lack of schema descriptions.

    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's purpose with a specific verb ('Start streaming data acquisition'), which distinguishes it from sibling tools like 'stop_streaming' and 'get_streaming_data'. However, it doesn't explicitly differentiate from other data acquisition methods like 'capture_block', leaving some ambiguity about when to choose streaming versus block capture.

    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 like 'capture_block' for data acquisition. It mentions parameters like 'auto_stop' and 'max_samples' but doesn't explain the trade-offs between continuous streaming and finite capture, or prerequisites like device connection.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns a dictionary with stop status and data summary, which adds some value beyond the basic action. However, it lacks critical details such as whether this operation is safe (non-destructive), if it requires specific device states, or potential side effects like resource cleanup, leaving significant gaps in 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 extremely concise and well-structured, with two sentences that directly address the tool's action and return value. Every word earns its place, and it's front-loaded with the core purpose. There's no wasted text or ambiguity, making it efficient for an agent to parse.

    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 the tool's complexity (a state-changing operation with no parameters) and the presence of an output schema, the description is minimally adequate. It covers the basic action and hints at the return structure, but without annotations, it misses behavioral context like safety or prerequisites. The output schema likely details the return dictionary, so the description doesn't need to elaborate further, but overall completeness is limited.

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

    Parameters4/5

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

    The tool has 0 parameters, and the schema description coverage is 100%, so there's no need for parameter documentation in the description. The baseline for this scenario is 4, as the description appropriately avoids redundant information about inputs. It focuses instead on the return value, which is relevant given the output schema exists.

    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's purpose with the specific verb 'stop' and resource 'streaming data acquisition', making it immediately understandable. It distinguishes itself from siblings like 'start_streaming' and 'stop_signal_generator' by focusing on data acquisition rather than signal generation. However, it doesn't explicitly differentiate from all siblings, keeping it at a 4 rather than 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that streaming must be active via 'start_streaming'), exclusions, or contextual dependencies. This leaves the agent to infer usage from the tool name alone, which is insufficient for optimal tool selection.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action and return format but doesn't address important behavioral aspects like whether disconnection is reversible, what happens to ongoing operations (e.g., streaming), permission requirements, or error conditions. The return format mention is helpful but insufficient for a mutation tool.

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

    Conciseness4/5

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

    The description is appropriately brief with two sentences that efficiently convey the action and return format. It's front-loaded with the core purpose, though the second sentence about returns could be integrated more smoothly. No wasted words, but minor structural improvements are possible.

    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 this is a mutation tool (disconnection) with no annotations but an output schema exists, the description provides basic purpose and return format. However, it lacks sufficient behavioral context for safe use (e.g., effects on other operations, error handling), making it minimally adequate but with clear gaps in 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 tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description appropriately doesn't add parameter information, which is correct for a parameterless tool, earning a baseline score of 4.

    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 action ('Disconnect from') and resource ('currently connected PicoScope device'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'connect_device' beyond the obvious inverse relationship, which prevents 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 Guidelines3/5

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

    The description implies usage context through 'currently connected PicoScope device,' suggesting this tool should be used when a device is already connected. However, it doesn't provide explicit guidance on when to use this versus alternatives or mention any prerequisites or exclusions, leaving some ambiguity.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns a dictionary with device info, which is helpful, but lacks details on critical behaviors: it doesn't specify if this is a read-only operation (implied by 'List' but not explicit), whether it performs network discovery or just lists already-connected devices, potential errors (e.g., no devices found), or performance considerations. The description adds some value but leaves significant gaps.

    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 concise and well-structured: the first sentence states the purpose clearly, and the second sentence provides return value information. Both sentences earn their place by adding essential details. It could be slightly improved by front-loading the return info or combining sentences, but it's efficient with minimal waste.

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

    Completeness4/5

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

    Given the tool's low complexity (0 parameters, simple list operation) and the presence of an output schema (which covers return values), the description is reasonably complete. It states what the tool does and the return format. However, it could be more complete by addressing behavioral aspects like error handling or discovery mechanism, especially since no annotations are provided to fill those 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 has 0 parameters with 100% coverage, so no parameter documentation is needed. The description correctly doesn't discuss parameters, which is appropriate. It earns a baseline 4 because it doesn't add unnecessary param info, but loses a point as it doesn't explicitly note the lack of parameters, which could help the agent understand it's a simple, parameterless query.

    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's purpose: 'List all connected PicoScope devices.' It specifies the verb ('List') and resource ('connected PicoScope devices'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from siblings like 'get_device_info' or 'connect_device', which could provide similar device-related information.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether devices must be connected first), compare it to siblings like 'get_device_info' (which might retrieve info for a specific device), or specify scenarios where listing all devices is preferred over other operations. This lack of context leaves the agent without usage direction.

    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?

    No annotations are provided, so the description carries the full burden. It mentions the tool sets up a trigger and returns a status dictionary, but lacks critical behavioral details: whether this is a read/write operation, if it requires specific device states, potential side effects (e.g., interrupting streaming), or error conditions. The description is minimal and doesn't compensate for the absence of 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 well-structured and concise. It starts with a purpose statement, followed by a bulleted 'Args' section with clear explanations, and ends with return information. Every sentence earns its place, with no redundant or vague language, making it easy to parse quickly.

    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 complexity (a configuration tool with 4 parameters), no annotations, and an output schema (implied by 'Returns'), the description is reasonably complete. It explains all parameters thoroughly and notes the return format. However, it lacks context on integration with sibling tools (e.g., how triggering relates to 'capture_block'), slightly reducing completeness for an agent operating in this domain.

    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 description coverage is 0%, so the description must fully explain parameters. It does so effectively: each parameter is listed with clear semantics (e.g., 'threshold_mv: Trigger threshold in millivolts'), including units and practical meaning. This adds significant value beyond the bare schema, which only provides enums and types without context.

    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's purpose: 'Set up a simple edge trigger.' It specifies the action (set up) and resource (edge trigger), distinguishing it from siblings like 'configure_channel' or 'set_signal_generator' which handle different configurations. However, it doesn't explicitly differentiate from potential similar tools (none listed), keeping it at 4 rather than 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., device connection), exclusions, or context for edge triggering relative to other operations like 'capture_block' or 'start_streaming'. This lack of usage context leaves the agent without clear decision-making criteria.

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool is 'informational' and that timebase is 'determined during block capture,' which hints at non-destructive, read-like behavior, but doesn't explicitly state whether this requires device connection, affects ongoing acquisitions, has rate limits, or what happens if parameters conflict with hardware capabilities. More behavioral context is needed for a mutation-sounding tool.

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

    Conciseness5/5

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

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by a note on behavioral context, then clearly labeled sections for args and returns. Every sentence earns its place, with no redundant or vague phrasing, making it easy to scan and understand.

    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 moderate complexity (2 parameters, informational role) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, behavioral nuance, and parameter semantics. However, without annotations and with sibling tools like 'capture_block,' it could benefit from more explicit integration guidance to be fully self-contained.

    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 description coverage is 0%, so the description must compensate. It adds meaningful semantics by explaining that 'sample_interval_ns' is the 'desired sample interval in nanoseconds' and 'num_samples' is the 'number of samples to capture,' and links them to 'timebase information' and 'block capture.' This goes beyond the bare schema types (integers) and provides context, though it doesn't detail valid ranges or units beyond nanoseconds.

    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's purpose with a specific verb ('Set') and resource ('timebase for data acquisition'), and distinguishes it from siblings by mentioning it's 'informational' rather than directly controlling hardware. However, it doesn't explicitly differentiate from tools like 'configure_channel' or 'configure_downsampling' that might also affect acquisition parameters.

    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 implied usage context by noting this tool is 'informational' and that the 'actual timebase is determined during block capture,' suggesting it should be used for planning or configuration rather than real-time control. However, it doesn't explicitly state when to use this versus alternatives like 'capture_block' or 'configure_downsampling,' nor does it provide clear exclusions or prerequisites.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the default thresholds but doesn't describe what happens during measurement (e.g., whether it samples live data, uses buffered data, or requires specific signal characteristics), what errors might occur, or any performance considerations. The description is minimal beyond the basic operation.

    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 efficiently structured with a clear opening sentence stating the purpose, followed by well-organized sections for Args and Returns. Every sentence adds value without redundancy, and the information is front-loaded with the core functionality stated first.

    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 moderate complexity (3 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers the purpose, parameters, and return value. The output schema exists, so the description doesn't need to detail the return structure. However, it lacks context about when to use the tool and behavioral details, which keeps it from being fully comprehensive.

    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?

    With 0% schema description coverage, the description compensates well by explaining all three parameters in the Args section. It clarifies that 'channel' selects which channel to measure, and both threshold parameters are percentages (0-100) with their roles (lower/upper). The default values (10% and 90%) are implied in the opening sentence but not explicitly stated in the parameter 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 the tool's purpose with a specific verb ('measure') and resource ('signal rise time'), including the default measurement range (10% to 90%). It distinguishes itself from sibling tools like 'measure_amplitude' or 'measure_frequency' by focusing specifically on rise time measurement.

    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. While it mentions the default thresholds, it doesn't explain when rise time measurement is appropriate compared to other measurement tools (like amplitude or frequency) or what prerequisites might be needed (e.g., whether a signal must be actively streaming or captured first).

    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?

    With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a read operation ('Get') and describes the return format, which is helpful. However, it doesn't mention potential errors (e.g., if no device is connected), performance characteristics, or whether this requires specific permissions—leaving gaps for a mutation-free tool.

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

    Conciseness5/5

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

    The description is perfectly concise and well-structured: a single clear purpose statement followed by a brief returns section. Every sentence earns its place by providing essential information without redundancy or fluff, making it easy to scan and understand.

    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 simplicity (no parameters, read-only operation) and the presence of an output schema (which handles return value documentation), the description is reasonably complete. It covers the core purpose and return format. However, it could be slightly more complete by mentioning error conditions or connection prerequisites.

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

    Parameters4/5

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

    The tool has zero parameters with 100% schema description coverage, so the schema already fully documents the input requirements. The description appropriately doesn't waste space discussing parameters, maintaining focus on what the tool does rather than how to call it. A baseline of 4 is appropriate for zero-parameter tools.

    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's purpose with a specific verb ('Get') and resource ('detailed information about the currently connected device'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_devices' or 'get_channel_config', which would be needed for 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 Guidelines3/5

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

    The description implies usage context by specifying 'currently connected device', suggesting this tool should be used after establishing a connection. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'list_devices' (which might show available devices) or mention prerequisites like needing to call 'connect_device' first.

    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?

    No annotations are provided, so the description carries the full burden. It discloses the prerequisite of needing a recent capture, which is useful behavioral context. However, it lacks details on permissions, error handling, or rate limits, leaving gaps in transparency for a measurement tool.

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

    Conciseness5/5

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

    The description is front-loaded with the core purpose, followed by a note on prerequisites and structured sections for Args and Returns. Each sentence earns its place without redundancy, making it efficient and well-organized.

    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 moderate complexity, no annotations, and an output schema that covers return values, the description is mostly complete. It includes purpose, prerequisites, and parameter semantics, but could benefit from more behavioral details like error cases or performance considerations.

    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 0%, but the description compensates by explaining that 'channel' is the 'Channel to measure' and 'measurement_type' is the 'Type of amplitude measurement,' adding meaning beyond the enum values. However, it does not elaborate on the differences between measurement types like 'peak_to_peak' vs 'rms,' which could enhance usability.

    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's purpose as 'Measure signal amplitude on a channel,' which is a specific verb+resource combination. However, it does not explicitly distinguish this tool from sibling measurement tools like measure_frequency or measure_thd, which reduces it from 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 Guidelines4/5

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

    The description provides explicit guidance to 'Call capture_block first' and notes that it 'requires a recent capture,' which clearly indicates a prerequisite and context for usage. However, it does not specify when to use this tool versus alternatives like measure_frequency or get_statistics, which prevents a score of 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?

    With no annotations provided, the description carries the full burden. It discloses the prerequisite of a recent capture, which is useful behavioral context. However, it lacks details on permissions, rate limits, error conditions, or what happens if no capture exists, leaving gaps in 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 well-structured and front-loaded with the core purpose, followed by a note and parameter/return details. Every sentence adds value without redundancy, making it efficient and easy to parse.

    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 moderate complexity, no annotations, and an output schema (implied by 'Returns'), the description is fairly complete. It covers purpose, prerequisites, parameters, and returns, but could improve by addressing error cases or linking to sibling tools more explicitly.

    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 has 0% description coverage, but the description compensates by explaining that 'channel' is the 'Channel to measure' and lists the return structure. This adds meaningful context beyond the enum values in the schema, though it could elaborate on channel semantics (e.g., what A-D represent).

    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 action ('measure signal frequency') and resource ('on a channel'), making the purpose evident. However, it doesn't explicitly differentiate from sibling measurement tools like measure_amplitude or measure_pulse_width, which prevents 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 Guidelines4/5

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

    The description provides explicit guidance to 'call capture_block first' as a prerequisite, which is helpful. It doesn't specify when to use this tool over alternatives like compute_fft or other measurement tools, so it's not fully comprehensive.

    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

picoscope_mcp MCP server

Copy to your README.md:

Score Badge

picoscope_mcp 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/markuskreitzer/picoscope_mcp'

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