Skip to main content
Glama
Mhdd-24

@mhdd_24/api-latency-mcp

by Mhdd-24

@mhdd_24/api-latency-mcp

Analyze endpoint response times.

Same architecture as @mhdd_24/sublime-mcp.

Full documentation: docs/WIKI.md


How it works (30 seconds)

You (chat) → MCP client → api-latency-mcp → API Latency APIs / CLIs / local tools

Related MCP server: MCP Ping Server

Prerequisites

Requirement

Notes

Node.js 18+

ESM TypeScript MCP server

Credentials / CLIs

See environment variables below


Install

Option A — npm (after publish)

npm install -g @mhdd_24/api-latency-mcp

Option B — npx

npx @mhdd_24/api-latency-mcp

Option C — clone and build

git clone https://github.com/Mhdd-24/API-Latency-MCP.git
cd API-Latency-MCP
npm install
npm run build
node dist/index.js

Configure Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "apilatency": {
      "command": "npx",
      "args": ["-y", "@mhdd_24/api-latency-mcp"],
      "env": {
        "PROJECT_ROOT": "..."
      }
    }
  }
}

Local development:

{
  "command": "node",
  "args": ["/absolute/path/to/API-Latency-MCP/dist/index.js"]
}

Environment variables

Variable

Description

PROJECT_ROOT

Default project/repository root


Tools

Tool

Description

apilatency_status

Health check for API Latency MCP.

apilatency_probe

Measure latency for a URL (N requests).

apilatency_compare

Compare latency of two URLs.


License

ISC

Available Tools

3 tools
apilatency_compareB

Compare latency of two URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
leftYesURL A
rightYesURL B

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavior disclosure. It does not state that the tool likely performs live network requests to the provided URLs, how many requests are made, whether there are timeouts, or what side effects may occur. This is a meaningful gap.

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 short sentence with no filler or redundant information. It immediately communicates the core operation and both key inputs.

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?

There is no output schema, but the description does not explain what result the comparison returns, what units latency is measured in, or whether the output is a difference, ratio, or report. For a tool that performs a comparison, this missing return-facing detail leaves the agent guessing.

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 description coverage is 100%, and both parameters have basic descriptions ('URL A', 'URL B'). The description adds no further meaning beyond the schema, but because coverage is high, the 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 'Compare latency of two URLs' names a specific verb and resource: it compares network latency between two endpoints. This is clearly distinct from sibling tools like apilatency_status and apilatency_probe, which suggest different operations.

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 about when to use this tool versus the siblings. It does not mention apilatency_status or apilatency_probe, nor any conditions or alternatives, leaving the agent to infer usage from the tool name alone.

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

apilatency_probeB

Measure latency for a URL (N requests).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL
samplesNoSamples

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that multiple requests will be made ('N requests') but does not reveal network side effects, timeouts, failure behavior, or what the latency measurement actually reflects.

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?

One sentence, front-loaded with the action and resource, with no filler. Everything in the description earns its place.

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?

The tool is simple and the description covers the core purpose and the only meaningful option (request count). However, there is no output schema or description of what the probe returns, and default sample behavior is not stated, leaving some ambiguity for an agent.

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%, so the baseline is 3. The description adds a small interpretive cue by equating 'samples' with 'N requests', but otherwise URL and Samples are only minimally re-described.

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

Purpose4/5

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

The description states a specific action ('Measure latency') on a specific resource ('a URL') and signals the probe nature via '(N requests)'. This is enough to distinguish it from the sibling names apilatency_status and apilatency_compare, though it does not explicitly contrast them.

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?

There is no guidance about when to choose this tool over apilatency_status or apilatency_compare. The description simply defines the operation and leaves the selection decision entirely to inference from sibling names.

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

apilatency_statusC

Health check for API Latency MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Health check' suggests a read-only operation, but it does not disclose the return format, any error states, or whether it triggers any side effects. The agent is left without a clear picture of what calling this tool does.

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?

The description is a single short sentence with no filler or redundant phrasing. It is front-loaded and concise, which is appropriate for a zero-parameter tool. However, the brevity borders on under-specification, but that is penalized in other dimensions.

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?

With no output schema and no annotations, the description must explain what a 'health check' returns and how to interpret it. It does not. The agent cannot anticipate whether the result is a status code, a message, a latency measurement, or something else. The description is incomplete for the actual use of the tool.

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?

The tool has zero parameters and an empty schema, which is 100% covered. The description does not add parameter semantics because there are no parameters to describe. The baseline for zero parameters is 4, and the description does not mislead; it simply omits information that is not relevant.

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

Purpose3/5

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

The description states 'Health check for API Latency MCP' – it identifies a resource ('API Latency MCP') and implies an action ('health check'), but does not specify what the health check verifies or returns. It is not a tautology but is vague and does not differentiate from siblings 'probe' and 'compare'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus its siblings. The description does not mention any conditions, alternatives, or exclusion criteria. An agent has no way to decide between apilatency_status, apilatency_probe, and apilatency_compare based on the description.

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.

  1. 3 tool updatesv1.0.0
    • First observedapilatency_compare
    • First observedapilatency_probe
    • First observedapilatency_status

TDQS

B3.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: status checks service health, probe measures latency for one URL, compare contrasts two URLs. There is no meaningful overlap or ambiguity.

Naming Consistency5/5

All tool names follow the same consistent pattern: apilatency_ prefix followed by a concise action word. This makes the tool set predictable and easy to navigate.

Tool Count5/5

Three tools is well-scoped for a focused latency measurement server. Each tool serves a necessary purpose without unnecessary bloat.

Completeness4/5

The core latency workflow is covered: health check, single-target probing, and comparison. A minor gap might be batch/multi-URL analysis, but the current surface is reasonable for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers