Skip to main content
Glama
markuskreitzer

PicoScope MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesB

List all connected PicoScope devices.

Returns: Dictionary containing list of discovered devices with their info.

connect_deviceB

Connect to a specific PicoScope device.

Args: serial: Device serial number. If empty, connects to first available device.

Returns: Dictionary containing connection status and device information.

get_device_infoA

Get detailed information about the currently connected device.

Returns: Dictionary containing device model, serial, variant, capabilities, etc.

disconnect_deviceB

Disconnect from the currently connected PicoScope device.

Returns: Dictionary containing disconnection status.

configure_channelB

Configure a channel on the oscilloscope.

Args: channel: Channel identifier (A, B, C, or D). enabled: Whether the channel is enabled. coupling: AC or DC coupling. voltage_range: Voltage range in volts (e.g., 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20). analog_offset: DC offset voltage in volts.

Returns: Dictionary containing configuration status and applied settings.

get_channel_configB

Get current configuration of a channel.

Args: channel: Channel identifier (A, B, C, or D).

Returns: Dictionary containing current channel settings.

set_timebaseA

Set the timebase (sampling rate) for data acquisition.

Note: The actual timebase is determined during block capture based on the requested number of samples. This tool is informational.

Args: sample_interval_ns: Desired sample interval in nanoseconds. num_samples: Number of samples to capture.

Returns: Dictionary containing timebase information.

set_simple_triggerA

Set up a simple edge trigger.

Args: source: Trigger source channel or external. threshold_mv: Trigger threshold in millivolts. direction: Trigger on rising, falling, or either edge. auto_trigger_ms: Auto-trigger timeout in milliseconds (0 = disabled).

Returns: Dictionary containing trigger configuration status.

capture_blockB

Capture a single block of data.

Args: pre_trigger_samples: Number of samples before trigger. post_trigger_samples: Number of samples after trigger.

Returns: Dictionary containing captured waveform data for all enabled channels.

start_streamingB

Start streaming data acquisition.

Args: sample_interval_ns: Sample interval in nanoseconds. buffer_size: Size of streaming buffer. auto_stop: Whether to automatically stop after max_samples. max_samples: Maximum samples to capture (0 = continuous).

Returns: Dictionary containing streaming status and configuration.

stop_streamingB

Stop streaming data acquisition.

Returns: Dictionary containing stop status and summary of captured data.

get_streaming_dataC

Get latest streaming data.

Args: max_samples: Maximum number of samples to retrieve.

Returns: Dictionary containing latest streaming data for enabled channels.

measure_frequencyA

Measure signal frequency on a channel.

Note: This requires a recent capture. Call capture_block first.

Args: channel: Channel to measure.

Returns: Dictionary containing frequency in Hz and measurement details.

measure_amplitudeA

Measure signal amplitude on a channel.

Note: This requires a recent capture. Call capture_block first.

Args: channel: Channel to measure. measurement_type: Type of amplitude measurement.

Returns: Dictionary containing amplitude in volts and measurement type.

measure_rise_timeA

Measure signal rise time (10% to 90% by default).

Args: channel: Channel to measure. low_threshold_percent: Lower threshold percentage (0-100). high_threshold_percent: Upper threshold percentage (0-100).

Returns: Dictionary containing rise time in seconds.

measure_pulse_widthC

Measure pulse width at specified threshold.

Args: channel: Channel to measure. threshold_percent: Threshold percentage for pulse measurement (0-100).

Returns: Dictionary containing pulse width in seconds.

compute_fftC

Compute FFT (Fast Fourier Transform) for frequency domain analysis.

Args: channel: Channel to analyze. window: Window function to apply.

Returns: Dictionary containing frequency bins and magnitude spectrum.

get_statisticsB

Get statistical analysis of signal.

Args: channel: Channel to analyze. num_samples: Number of samples to analyze.

Returns: Dictionary containing min, max, mean, std dev, etc.

measure_thdC

Measure Total Harmonic Distortion (THD).

Args: channel: Channel to measure.

Returns: Dictionary containing THD percentage and harmonic components.

set_signal_generatorB

Configure the built-in signal generator (AWG).

Args: waveform_type: Type of waveform to generate. frequency_hz: Frequency in Hz. amplitude_mv: Peak-to-peak amplitude in millivolts. offset_mv: DC offset in millivolts.

Returns: Dictionary containing signal generator status and configuration.

stop_signal_generatorB

Stop the signal generator output.

Returns: Dictionary containing status of signal generator.

configure_math_channelC

Configure a math channel (channel operations).

Args: operation: Mathematical operation to perform. channel_a: First channel. channel_b: Second channel.

Returns: Dictionary containing math channel configuration.

export_waveformC

Export captured waveform data to file.

Args: format: Export format (csv, json, or numpy). channels: List of channels to export. filename: Output filename (without extension).

Returns: Dictionary containing export status and file path.

configure_downsamplingC

Configure downsampling for data acquisition.

Args: mode: Downsampling mode. ratio: Downsampling ratio (1 = no downsampling).

Returns: Dictionary containing downsampling configuration.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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