PicoScope MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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