# Multimeter (npm · mmt-mcp)

Scaffold, validate, format, and run YAML .mmt API tests. Do not invent syntax.

- Trust score: 77/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- npm · `mmt-mcp`: 77/100 (this document), [markdown](https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp.md), [page](https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp)

## Channel facts

- Registry: `npm`
- Package: `mmt-mcp`
- Version: `1.42.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-25.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 45 of 145 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 1 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 78/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1421 tokens (~45/item across 31 items; 9 tools + 22 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 57/100
  - Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "run" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Multimeter MCP server?

Multimeter runs locally as an npm package, launched with npx -y mmt-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add mshobeyri-multimeter -- npx -y mmt-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "mshobeyri-multimeter": {
      "command": "npx",
      "args": [
        "-y",
        "mmt-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mshobeyri-multimeter": {
      "command": "npx",
      "args": [
        "-y",
        "mmt-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add mshobeyri-multimeter -- npx -y mmt-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mshobeyri-multimeter": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mmt-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mshobeyri-multimeter --command npx --arg -y --arg mmt-mcp
```

### Hermes

```yaml
mcp_servers:
  mshobeyri-multimeter:
    command: "npx"
    args: ["-y", "mmt-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "mshobeyri-multimeter": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "mmt-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add mshobeyri-multimeter -t stdio -c npx -a -y mmt-mcp
```

### Other

```json
{
  "mcpServers": {
    "mshobeyri-multimeter": {
      "command": "npx",
      "args": [
        "-y",
        "mmt-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 77, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-22 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-19 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 74, +35)

- [security improvement] Injection markers: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.30
- [functional] Package version: 1.42.2-pre → 1.42.4

### 2026-09-16 (score 39, −30)

- [security regression] Tool safety: pass → unverified
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Stability: unverified → 0.27
- [functional] Package version: 1.42.2-pre → 1.42.4

### 2026-09-09 (score 69, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-08 (score 54)

First indexed and scored.

## MCP tools (9)

### `read_documentation` (~113 tokens)

Read Multimeter docs

Call when you need Multimeter YAML syntax rules. Defaults to pack "min" (small). Use pack "full" only for rare/advanced syntax. For new tests from an API, prefer scaffold_test over loading docs. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `pack` (string): min (default, low token) or full
- `topic` (string): Documentation topic. Use workflow for MCP-first edit/run steps. Defaults to overview.

### `list_examples` (~118 tokens)

List Multimeter examples

Call when you need example .mmt structure before creating or modifying a file. Prefer this over searching the repo or guessing YAML layout. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `category` (string): Filter by category such as basic or intermediate
- `includeContent` (boolean): Include full example file contents
- `maxItems` (integer): Maximum number of examples to return
- `type` (string): Filter by document type such as test, api, or loadtest

### `discover_api` (~124 tokens)

Discover workspace APIs

Call when listing APIs or inspecting one API before scaffolding a test. For a single API, prefer api_card. For new tests, prefer scaffold_test once apiPath is known. selectedApi omits full file content unless includeContent is true. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `apiPath` (string): Optional API .mmt file path relative to workspaceRoot
- `includeContent` (boolean): Include full API file content (default false)
- `workspaceRoot` (string, required): Workspace root directory

### `api_card` (~112 tokens)

Compact API card

Return a small API summary (method, url, inputs, outputs, suggested paths) without dumping the full file. Prefer this over reading the whole .mmt or OpenAPI when generating or planning a test. Next step for a new test: scaffold_test. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `apiPath` (string, required): API .mmt file path relative to workspaceRoot or absolute
- `workspaceRoot` (string, required): Workspace root directory

### `scaffold_test` (~161 tokens)

Scaffold test from API

REQUIRED first step when generating a new Multimeter test from an existing API .mmt. Returns valid smoke (or example) test YAML, suggested path, import alias, and a compact apiCard. Write the yaml, apply only minimal edits, then validate. Do not invent a blank test from scratch. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `alias` (string): Optional import alias override
- `apiPath` (string, required): API .mmt file path relative to workspaceRoot or absolute
- `outPath` (string): Optional suggested output test path (relative)
- `strategy` (string): smoke (default) or example inputs
- `workspaceRoot` (string, required): Workspace root directory

### `suggest_assertions` (~178 tokens)

Suggest assert/expect patches

Suggest compact expect/assert YAML patches from API outputs and/or a JSON response body. Use after a run or when tightening a scaffolded smoke test — patch only, do not rewrite the file. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `apiPath` (string): API .mmt to read outputs from
- `body`: Parsed JSON response body
- `bodyFile` (string): Path to a JSON response file
- `maxFields` (integer): Max body fields to suggest
- `status` (number): HTTP status to expect
- `stepId` (string): Call step id for ${id.field} asserts
- `style` (string): Patch style (default both)
- `workspaceRoot` (string): Workspace root (required with apiPath or bodyFile)

### `validate` (~110 tokens)

Validate .mmt file

REQUIRED after every create or modify operation on a .mmt file. Call immediately after editing a file and before telling the user the task is done. Returns structured errors and fix suggestions. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `expectedType` (string): Optional expected document type
- `file` (string, required): Path to the .mmt file relative to workspaceRoot or absolute
- `workspaceRoot` (string): Workspace root for relative paths

### `format` (~80 tokens)

Format .mmt file

Format a Multimeter file using canonical field ordering and style rules. Call after validate passes when normalizing generated or edited YAML. Do not use testlight, npx, npm, shell, or node dist/mcp/server.js.

Input parameters:

- `file` (string, required): Path to the .mmt file
- `workspaceRoot` (string): Workspace root for relative paths

### `run` (~133 tokens)

Run .mmt file

Execute a Multimeter test or API file and return structured pass/fail output, logs, and errors. ONLY supported way to run .mmt files from Copilot — call this directly when the user asks to run or execute. Do NOT use testlight CLI, npx, npm install, shell scripts, or node dist/mcp/server.js.

Input parameters:

- `env` (object)
- `file` (string, required): Path to the .mmt file to run
- `inputs` (object)
- `quiet` (boolean): Reduce run logs in the response
- `workspaceRoot` (string): Workspace root for relative paths

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp#diagnostics

## Score history

- 2026-09-25: 77
- 2026-09-24: 77
- 2026-09-23: 76
- 2026-09-22: 76
- 2026-09-21: 75
- 2026-09-20: 75
- 2026-09-19: 75
- 2026-09-18: 74
- 2026-09-17: 74
- 2026-09-16: 39
- 2026-09-15: 69
- 2026-09-14: 69
- 2026-09-13: 69
- 2026-09-12: 69
- 2026-09-11: 69
- 2026-09-10: 69
- 2026-09-09: 69
- 2026-09-08: 54

## Common questions

### What is the Multimeter MCP server?

Multimeter is an MCP server listed in the public MCP registry as io.github.mshobeyri/multimeter. Scaffold, validate, format, and run YAML .mmt API tests. Do not invent syntax. This page covers its npm package (mmt-mcp).

### Is the Multimeter MCP server safe to use?

Multimeter scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Multimeter MCP server expose?

Multimeter exposes 9 tools: read_documentation, list_examples, discover_api, api_card, scaffold_test, and 4 more. Their descriptions and schemas cost roughly 1,129 tokens of context every time the server is loaded.

### Is the Multimeter MCP server still maintained?

Multimeter is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Multimeter MCP server under?

Multimeter declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/mmt-mcp
- Socket report: https://socket.dev/npm/package/mmt-mcp
- Repository: https://github.com/mshobeyri/multimeter
- Changelog RSS feed: https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp.json
- HTML version of this page: https://verifymcp.io/servers/mshobeyri-multimeter/mmt-mcp
