Skip to main content
Glama
doudoufu

PT5 MCP Server

by doudoufu

PT5 MCP Server

MCP (Model Context Protocol) server for parsing Monsoon Power Monitor PT5 files.

Enables any MCP-compatible client (WorkBuddy, Claude Desktop, Cursor, etc.) to read, analyze, and export power measurement data from .pt5 files captured by Monsoon Solutions' Power Tool software.

Features

  • parse_pt5 — Parse a PT5 file and return summary statistics (avg/min/max current, voltage, power, energy)

  • get_pt5_channels — List available measurement channels and field types from the captureDataMask

  • get_pt5_samples — Retrieve sample data with time-range filtering and decimation

  • export_pt5_csv — Export sample data to CSV file for external analysis

  • get_pt5_header — Return raw header and status packet metadata (hardware info, calibration, scaling)

  • analyze_pt5_trend — Analyze current trend: peak detection, periodicity (autocorrelation), trend segments, anomalies

Related MCP server: STDF MCP Server

Quick Start

Use with npx (no install needed)

Add to your MCP client configuration (e.g., ~/.workbuddy/mcp.json or Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "pt5": {
      "command": "npx",
      "args": ["pt5-mcp-server"]
    }
  }
}

Install globally

npm install -g pt5-mcp-server

Then configure:

{
  "mcpServers": {
    "pt5": {
      "command": "pt5-mcp-server"
    }
  }
}

Local development

git clone https://github.com/YOUR_USERNAME/pt5-mcp-server.git
cd pt5-mcp-server
npm install
npm run build

Configure with local path:

{
  "mcpServers": {
    "pt5": {
      "command": "node",
      "args": ["/path/to/pt5-mcp-server/build/index.js"]
    }
  }
}

PT5 File Format

PT5 is the native binary format of Monsoon Solutions' Power Tool software. The file structure is:

Section

Offset

Description

Header

0

212-byte fixed header with capture metadata

Status Packet

272

Variable-length hardware status (calibration, scaling)

Sample Data

1024

Sequential current/voltage samples at 5 kHz

Each sample contains:

  • Main Current (signed Int32, µA) — if channel enabled

  • USB Current (signed Int32, µA) — if channel enabled

  • Aux Current (signed Int32, µA) — if channel enabled

  • Voltage (unsigned UInt16, with marker bits) — always present

Voltage tick resolution depends on hardware revision:

Hardware

Main

USB

Aux

Rev A

62.5 µV/tick

62.5 µV/tick

62.5 µV/tick

Rev B

125 µV/tick

125 µV/tick

62.5 µV/tick

Rev C

125 µV/tick

125 µV/tick

125 µV/tick

HVPM

500 µV/tick

125 µV/tick

500 µV/tick

Tools Reference

parse_pt5

Parse a PT5 file and return summary statistics.

Parameters:

  • file_path (string, required): Absolute path to the .pt5 file

Returns: JSON with sample count, duration, avg/min/max current (mA), avg voltage (V), avg power (mW), total energy (mJ).

get_pt5_channels

List available measurement channels and fields.

Parameters:

  • file_path (string, required): Absolute path to the .pt5 file

Returns: Channels (Main/USB/Aux), fields (Min/Avg/Max Voltage/Current/Power), sample rate, hardware info.

get_pt5_samples

Retrieve sample data with filtering options.

Parameters:

  • file_path (string, required): Absolute path to the .pt5 file

  • start_time_sec (number, optional): Start time in seconds (default: 0)

  • end_time_sec (number, optional): End time in seconds (default: end of capture)

  • decimation (number, optional): Return every Nth sample (default: 1)

  • max_samples (number, optional): Max samples to return (default: 5000)

Returns: Array of sample objects with timestamp, current (mA), and voltage (V).

export_pt5_csv

Export sample data to a CSV file.

Parameters:

  • input_path (string, required): Absolute path to the input .pt5 file

  • output_path (string, required): Absolute path for the output .csv file

Returns: Confirmation with file size and sample count.

get_pt5_header

Return raw header and status packet metadata.

Parameters:

  • file_path (string, required): Absolute path to the .pt5 file

Returns: Full header and status packet data, including voltage tick sizes per channel.

analyze_pt5_trend

Analyze current trend in a PT5 file: detect periodic peaks, autocorrelation-based periodicity, trend direction, and anomalies.

Parameters:

  • file_path (string, required): Absolute path to the .pt5 file

  • channel (enum: "main" | "usb" | "aux", optional): Channel to analyze (default: "main")

  • peak_window_ms (number, optional): Peak detection window in ms (default: 50)

  • min_peak_prominence_ma (number, optional): Minimum peak prominence in mA (default: auto — 5% of mean current)

  • anomaly_threshold_std (number, optional): Anomaly detection threshold in standard deviations (default: 3)

  • max_lag_sec (number, optional): Maximum lag for autocorrelation in seconds (default: 10)

Returns:

  • Basic stats: mean, std, CV, min, max current

  • Peak analysis: total peaks, top peaks with time/current/prominence, average peak interval

  • Periodicity: dominant period/frequency from autocorrelation, confidence score (0–1)

  • Trend: overall direction (rising/falling/stable), slope, segment breakdown

  • Anomalies: intervals where current deviates >N standard deviations from mean

  • Histogram: current distribution bins

Example output:

=== Trend Analysis: air-mode.pt5 (channel: main) ===
Mean current: 131.854 mA, Std: 82.512 mA, CV: 0.6259

--- Peak Analysis ---
Total peaks detected: 4244
Average peak interval: 0.0531s (std: 0.0073s)
Top peaks: t=4.610s I=3783.4mA, t=4.709s I=2527.3mA ...

--- Periodicity (Autocorrelation) ---
Dominant period: 0.052s (19.2308Hz)
Confidence: 57.3%

--- Overall Trend ---
Trend: stable (slope: -0.0172 mA/s)
Segments: 80 rising, 60 falling, 84 stable (224 total)

--- Anomalies ---
Found 35 anomaly intervals

License

MIT

Available Tools

6 tools
analyze_pt5_trendA

Analyze current trend in a PT5 file: detect peaks, periodicity (autocorrelation), trend segments, and anomalies. Useful for identifying periodic power consumption patterns, current spikes, and abnormal power behavior.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the .pt5 file
channelNoChannel to analyze (default: main)
peak_window_msNoPeak detection window in ms (default: 50)
min_peak_prominence_maNoMinimum peak prominence in mA to be considered a peak (default: 5)
anomaly_threshold_stdNoAnomaly detection threshold in standard deviations (default: 3)
max_lag_secNoMaximum lag for autocorrelation analysis in seconds (default: 10)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions the analysis types but does not disclose whether the tool modifies the file, requires specific permissions, or any performance considerations. It assumes read-only behavior but is not explicit. This is a gap given 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 two sentences, front-loading the primary purpose and listing key detections. Every word adds value; no redundancy. It efficiently conveys the tool's value proposition.

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 complexity (multiple detection types, 6 parameters) and lack of output schema, the description provides a solid overview. It could be more complete by mentioning output format or that it is read-only, but the sibling tools context helps. Overall, it covers the essentials.

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 input schema has 100% coverage with descriptions for each parameter. The tool description adds no additional parameter semantics beyond what the schema already provides. As per the rubrik, baseline 3 is appropriate when schema coverage is high.

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 analyzes current trends in PT5 files, listing specific detections (peaks, periodicity, trend segments, anomalies). It distinguishes itself from sibling tools like export_pt5_csv or get_pt5_samples by focusing on advanced analysis rather than raw data handling.

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 gives clear usage context: 'Useful for identifying periodic power consumption patterns, current spikes, and abnormal power behavior.' This implies appropriate scenarios. However, it does not explicitly state when not to use this tool or provide direct comparisons to siblings, which would be helpful.

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

export_pt5_csvB

Export PT5 sample data to a CSV file. Includes timestamps, current (mA), voltage (V), markers, and missing data flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_pathYesAbsolute path to the input .pt5 file
output_pathYesAbsolute path for the output .csv file

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Mentions output fields but omits key behaviors: overwrite policy, file encoding, error handling, validation of input file existence, or side effects. Minimal disclosure for a file export operation.

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?

Two sentences, front-loaded with action and then content list. Efficient but could be more structured (e.g., bullet points for fields). No wasted words.

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

Completeness2/5

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

No output schema, no annotations, and sibling tools exist. Description fails to explain return value (success/error), CSV header details, delimiter, or handling of missing data flags. Incomplete for a file export tool.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both input_path and output_path. Description adds no extra meaning beyond what schema provides, thus baseline 3.

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?

Clearly states it exports PT5 sample data to CSV, listing specific fields (timestamps, current, voltage, markers, missing data flags). Distinguishes from sibling tools like get_pt5_samples which return raw data in other formats.

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 on when to use this tool versus alternatives like get_pt5_samples or analyze_pt5_trend. Does not mention scenarios or preconditions.

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

get_pt5_channelsA

List the available measurement channels (Main, USB, Aux) in a PT5 file based on its captureDataMask, plus hardware info and sample rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the .pt5 file

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided. The description adds behavioral context by mentioning 'based on its captureDataMask' and listing additional info (hardware info, sample rate), but does not cover file access requirements, potential side effects, or performance considerations.

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 a single, well-structured sentence that front-loads the core functionality. It is concise with no redundant words.

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 simple input (one parameter) and lack of output schema, the description adequately covers what the tool returns (channels, hardware info, sample rate). It does not detail output format, but this is acceptable for a straightforward list tool.

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 only parameter is file_path, which is described in the schema as 'Absolute path to the .pt5 file'. Schema description coverage is 100%, so baseline is 3. The tool description adds no extra parameter semantics beyond what the schema provides.

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 verb 'List', the resource 'available measurement channels in a PT5 file', and specifies the channel types (Main, USB, Aux) along with additional outputs (hardware info, sample rate). It effectively distinguishes from sibling tools like get_pt5_samples or get_pt5_header.

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 for listing channels based on captureDataMask but does not explicitly state when to use this tool vs alternatives or provide exclusion criteria. Context is clear but lacks explicit guidance.

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

get_pt5_headerA

Return the raw header and status packet metadata from a PT5 file, including hardware info, calibration data, trigger settings, and scaling factors.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the .pt5 file

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It states that the tool returns header data but does not disclose behavior like file validation, error handling, or the fact that it does not modify the file. While the description is not misleading, it lacks detail on behavioral traits beyond the obvious read 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 a single, front-loaded sentence that clearly states the tool's purpose and content. Every word is necessary; there is no redundancy or fluff.

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

Completeness4/5

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

For a simple file-read operation with one parameter and no output schema, the description adequately lists the types of data returned (hardware info, calibration, triggers, scaling). While it could mention the return format briefly, the level of detail is sufficient given the tool's low complexity and the presence of sibling tools for other operations.

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 only parameter (file_path) has full schema coverage (100%) with the description 'Absolute path to the .pt5 file'. The tool description adds no new information about the parameter's format, constraints, or usage beyond what the schema already provides, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Return') and identifies the exact resource ('raw header and status packet metadata from a PT5 file'). It lists included details (hardware info, calibration data, trigger settings, scaling factors) which distinguishes it from sibling tools like 'get_pt5_channels' or 'get_pt5_samples' that handle other data aspects.

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 its siblings (e.g., analyze_pt5_trend, export_pt5_csv). There is no mention of prerequisites, context, or scenarios where this tool is appropriate or inappropriate.

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

get_pt5_samplesA

Retrieve sample data from a PT5 file, with optional time range filtering and sample decimation. Returns current (mA) and voltage (V) values.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the .pt5 file
start_time_secNoStart time in seconds (default: 0)
end_time_secNoEnd time in seconds (default: end of capture)
decimationNoReturn every Nth sample (default: 1). Use 10, 100, 1000 for large files.
max_samplesNoMaximum number of samples to return (default: 5000).

TDQS

A3.9/5.0
Behavior3/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 retrieval and output units but does not disclose error behavior, performance implications, or whether it is read-only (implied by 'retrieve' but not explicit). The decimation hint is in the schema, not the description.

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 two sentences, immediately stating the core purpose and return values. Every word is functional, with no redundancy or unnecessary detail. It is well-structured and front-loaded.

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 5 parameters, no output schema, and no annotations, the description covers the purpose and key options but lacks details on return format (e.g., array, object), error handling, or limits. It is adequate for a straightforward tool but not 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?

Schema coverage is 100%, providing good parameter descriptions. The tool description adds value by summarizing the optional filtering and decimation, and by stating the return units (mA, V), which are not in the schema. This enhances the agent's understanding beyond the schema alone.

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 retrieves sample data from a PT5 file with optional time range filtering and decimation, and specifies the return values (current and voltage). It distinguishes itself from sibling tools like get_pt5_header (metadata) and analyze_pt5_trend (analysis).

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 for raw data retrieval with filtering options but does not explicitly compare to siblings or state when to avoid using it. The context signals list sibling tools, but the description lacks direct guidance on alternative selection.

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

parse_pt5A

Parse a Monsoon Power Monitor PT5 file and return a summary of the captured power data, including sample count, duration, average/min/max current, voltage, and power.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the .pt5 file to parse

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full weight. It clearly explains that the tool returns a summary with specific metrics, indicating a read-only operation. It does not mention any destructive effects or permissions, but for a parser, the behavior is sufficiently transparent.

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 a single sentence of about 20 words, efficiently conveying the tool's purpose and output. Every word is necessary, and it is front-loaded with the key action and resource.

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 (single parameter, no output schema), the description adequately covers the input and output. However, it could mention potential error cases or file format notes, but it is largely complete for the intended use.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'file_path', and the schema description is clear ('Absolute path to the .pt5 file to parse'). The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (Parse), the resource (Monsoon Power Monitor PT5 file), and the output (summary with sample count, duration, average/min/max current, voltage, power). This successfully distinguishes it from sibling tools like get_pt5_samples or analyze_pt5_trend.

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 for obtaining a summary of power data but does not explicitly state when to use this tool over siblings (e.g., 'Use this for a quick overview instead of raw samples'). No alternative tool names are mentioned.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.0
    • First observedanalyze_pt5_trend
    • First observedexport_pt5_csv
    • First observedget_pt5_channels
    • First observedget_pt5_header
    • First observedget_pt5_samples
    • First observedparse_pt5

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: analyzing trends, exporting, listing channels, getting header, getting samples, and parsing summary. No overlap, making it easy for an agent to select the right tool.

Naming Consistency5/5

All tool names follow a consistent verb_pt5_noun pattern (e.g., analyze_pt5_trend, get_pt5_channels). This predictable structure aids agent selection.

Tool Count5/5

With 6 tools, the server is well-scoped for a file format utility. Each tool serves a necessary function without redundancy or unnecessary complexity.

Completeness5/5

The set covers all essential operations for PT5 files: reading raw data and metadata, parsing summaries, analyzing trends, listing channels, and exporting. No obvious gaps for common use cases.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to access, analyze, and extract information from STDF-V4 semiconductor test data files, supporting metadata extraction, parametric analysis, yield calculations, and multi-site test data filtering with CSV/Excel export capabilities.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides raw Garmin Connect data access for training analysis, enabling retrieval of activity summaries, lap data, time-series streams, comments with lactate, wellness metrics, and personal records through an MCP interface.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive access to EnergyPlus building energy simulation results, enabling discovery, analysis, and extraction of data from epJSON, SQL, and HTML files through MCP tools with pandas integration.
    1
    -

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/doudoufu/pt5-mcp-server'

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