joulescope-mcp
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List connected JouleScope devices, including JS220 serial and firmware details when available. |
| device_infoA | Return retained device topics and optional metadata for one JouleScope. |
| measure_energyA | Measure JS220 charge and energy over duration_s using interval_s accumulation. Returns total charge/energy plus one sample per interval, including mAh and mWh. |
| capture_statisticsB | Capture JS220 statistics at frequency_hz for duration_s. This is a frequency-based wrapper around measure_energy. |
| configure_frontendB | Configure JS220 current and voltage range modes. Use auto for normal agent measurements. |
| record_jlsB | Record raw JS220 samples to a JLS v2 file for later waveform analysis. |
| read_gpiB | Read JS220 general-purpose input pin state as a 32-bit value and decoded pins. |
| list_topicsA | List retained JouleScope driver topics with current values and optional metadata. |
| query_topicA | Query a JouleScope driver topic. Provide a relative topic such as c/fw/version or an absolute device topic. |
| publish_topicB | Publish a value to a JouleScope driver topic. This exposes advanced JS220 capabilities; only use when you know the topic semantics. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| power_optimization_session | Prompt template for agents iterating on firmware or software power optimization. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| devices_resource | JSON list of connected devices. |
| driver_resource | Driver and server version information. |
TDQS
Scored across 10 tools
Each tool has a distinct purpose: listing, configuring, measuring, reading GPI, recording, and low-level topic operations. The two measurement tools are clearly differentiated by their descriptions.
All tools use snake_case, with most following a verb_noun pattern (e.g., list_devices, measure_energy). The exception is 'device_info', which is noun_noun, but the meaning is clear.
10 tools cover the essential operations for a JouleScope device: discovery, configuration, measurement, data recording, and low-level access. No unnecessary tools.
The tool set provides a full lifecycle: listing devices, getting info, measuring energy (two methods), configuring frontend, reading GPI, recording raw data, and arbitrary topic query/publish. No obvious gaps.