Skip to main content
Glama
APVentureEngine

vendor-status

vendor-status-mcp — 1,100+ SaaS status pages as an MCP server

1,127 vendor status pages mapped · 804 with a machine-readable feed · 15,418 incidents on record · polled every day · no API key · zero dependencies. (counts as of 2026-09-15 — dataset_status returns today's.)

Every SaaS and cloud vendor publishes a status page, and almost every one of them is on a different system — Atlassian Statuspage, Instatus, status.io, Better Stack, incident.io, or something home-grown. Vendor Status Watch keeps a living map of where those pages are, which ones expose JSON/RSS, and polls all 804 readable ones daily into one normalized incident history. This is that dataset wired into the Model Context Protocol, so Claude, Cursor, Continue or your own agent can ask questions like:

"Is Cloudflare having an incident right now?" "Which of our vendors — Stripe, Twilio, Datadog, Auth0 — had incidents this month?" "How long do GitHub incidents usually take to resolve?" "Does Vendor X have an RSS or JSON status feed, and where is it?" "What SaaS vendors are reporting a major outage today?"

Install

Nothing to build and nothing to install into your Python environment — the server is standard library only.

Claude Desktop / Claude Code / anything that reads an mcpServers block:

{
  "mcpServers": {
    "vendor-status": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/APVentureEngine/vendor-status-mcp", "vendor-status-mcp"]
    }
  }
}

Claude Code, one line:

claude mcp add vendor-status -- uvx --from git+https://github.com/APVentureEngine/vendor-status-mcp vendor-status-mcp

No uv? Clone and run it with plain Python:

git clone https://github.com/APVentureEngine/vendor-status-mcp && cd vendor-status-mcp
python3 -m vendor_status_mcp.server --selftest    # exercises every tool against live data
{
  "mcpServers": {
    "vendor-status": { "command": "python3", "args": ["-m", "vendor_status_mcp.server"], "cwd": "/path/to/vendor-status-mcp" }
  }
}

Related MCP server: StatusCraft

Tools

Tool

What it answers

find_vendor

Resolve a name, slug or status-page domain to its map entry: status page URL, platform, whether a machine-readable feed exists, and its state in the newest poll.

vendor_status

One vendor's state from the newest daily poll — ok / degraded / partial / major / maintenance / unknown — with the vendor's own status line, open-incident count and the poll timestamp.

vendors_down_now

Every vendor that was not fully operational in the newest poll, worst first, plus counts by state across all 804 polled vendors.

vendor_incidents

One vendor's incident history as its page posted it: title, state, impact, start/resolve times, latest update, link. Filter by date and state.

vendor_resolution_times

Median, 90th percentile, over-24h count and the longest incident on record, from the vendor's own posted start and resolve timestamps.

status_feed_urls

The summary JSON, incidents JSON, RSS and Atom endpoints for one vendor's page, by platform — so a script can poll it directly with no key.

dataset_status

Vendors mapped, feeds readable, incidents on record and in the last 30 days, platform breakdown, cadence, license, bulk downloads.

Every answer carries as_of / checked_at and source. The states come from a daily poll, and every status answer says so in a caveat field rather than letting a model present yesterday's read as a live probe — when you need live, status_feed_urls hands you the vendor's own JSON. Where a vendor name is ambiguous (gitlab when only gitlabhost is in the map) the answer says "match": "fuzzy" and names the runner-up instead of guessing silently.

Why an MCP server and not just the JSON

The JSON is right there and it is free — take it. This exists for the case where a model needs one specific answer: the map is 160 KB and each vendor's history is another file, so the tools do the lookup, the filtering and the percentile arithmetic locally and an agent spends a few hundred tokens instead of a context window.

The map is the part you cannot get from any one vendor. Nobody publishes "here is where every SaaS status page lives and which of them speak JSON" — it has to be discovered, re-probed when pages move, and pruned when they die, every day. find_vendor and status_feed_urls are that map, and the daily rebuild is what keeps them true.

Caching and network

Tools read the free public Vendor Status Watch endpoints over HTTPS and cache them on disk (~/.cache/vendor-status-mcp, override with VENDOR_STATUS_MCP_CACHE) with ETag revalidation, so ten tool calls in a row make at most one request per file per hour (VENDOR_STATUS_MCP_TTL, seconds). If the network is down and a cached copy exists, the cached copy is served and its own as_of tells you how old it is.

There is no key, no signup, no rate limit and no telemetry — this server sends nothing anywhere except plain GETs for public files.

Data, license, attribution

Data is compiled from vendors' own public status pages and released under CC BY 4.0 — credit "Vendor Status Watch" and link back. This server's code is MIT. Not affiliated with any vendor or status-page platform; each vendor's own page is the authority. "Resolution time" is the gap between a vendor's own posted start and resolve timestamps — not measured downtime, uptime or an SLA figure, and a vendor that posts every blip will look worse than one that posts nothing.

The one paid thing

Everything above is free and stays free, and so is the GitHub Actions template that alerts your Slack or Discord when a vendor you depend on breaks. If you would rather not run Actions yourself, the same alerts as a hosted service are $49 for 12 months, with a free 30-day trial and no card. It is the only thing here that costs money.

Bugs, a vendor missing from the map, a tool you want: open an issue.

Available Tools

7 tools
dataset_statusA

Coverage and freshness of the underlying dataset: vendors mapped, how many have machine-readable feeds, incidents on record, incidents in the last 30 days, platform breakdown, poll cadence, license and bulk downloads.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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 the full burden. It discloses what the tool reports (coverage and freshness metrics) and implies read-only behavior since it merely reports status. But it doesn't state that this is a read-only operation, doesn't mention any auth requirements or side effects, and doesn't describe the return shape or whether it aggregates data in real-time. It's partially transparent but leaves gaps.

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 compact sentence that lists the key metrics in a clear, scannable way. It front-loads the core purpose ('Coverage and freshness of the underlying dataset') and then enumerates specifics. Slightly dense with the colon-list, but efficient and 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?

For a zero-parameter, read-only reporting tool, the description covers the essential context: what data it reports. It doesn't explain the return format or any caveats about how metrics are computed, but with no output schema, the agent might need more detail on response structure. Given the tool's simplicity, this is adequate but not complete.

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?

This tool has zero parameters, so the description doesn't need to explain parameter meanings. The description focuses entirely on what the tool returns, which is appropriate. Baseline is 4 for 0-param tools, and the description adds value by detailing the reported metrics.

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 clearly states that this tool reports the coverage and freshness of the underlying dataset, and enumerates the specific metrics it returns: vendors mapped, machine-readable feeds, incidents on record, recent incidents, platform breakdown, poll cadence, license, and bulk downloads. This distinguishes it from sibling tools like vendor_status and vendor_incidents, which are vendor-specific rather than dataset-wide. However, it doesn't explicitly name the sibling it is not, so it loses one point.

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 when to use this tool: when you need dataset-wide coverage and freshness metrics, rather than per-vendor status. But it doesn't explicitly state when not to use it, or name alternatives like vendor_status or vendor_incidents. Usage guidance is present but implied, not explicit.

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

find_vendorA

Resolve a SaaS/cloud vendor by name, slug or status-page domain to its entry in the 1,100+ vendor status-page map: status page URL, platform (Statuspage, Instatus, status.io, Better Stack, ...), whether a machine-readable feed exists, and its state in the newest poll. Use this first when unsure of the exact vendor slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax matches returned, 1-25 (default 8).
queryYesVendor name, slug or domain, e.g. 'cloudflare', 'status.stripe.com', 'twilio'.

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It explains what data is returned (status page URL, platform, feed existence, newest poll state) and implies a cached map lookup, but it doesn't state read-only behavior, error/no-match handling, or whether any external calls are made.

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?

Two dense sentences: the first states purpose and output fields, the second gives a usage heuristic. There is no filler, and the most important action ('Resolve', 'Use this first') is front-loaded.

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?

With no output schema, the description compensates by listing the key return fields. It covers the tool's purpose and when to use it, though it doesn't mention no-match behavior or result formatting, which would make it fully complete.

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 already describes both parameters fully (query examples and limit range/default), giving 100% schema coverage. The description adds 'name, slug or status-page domain' and mentions limit indirectly, but doesn't materially go beyond the schema, so the baseline score of 3 applies.

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 ('Resolve') and names the resource ('entry in the 1,100+ vendor status-page map') plus the exact fields returned. It also distinguishes itself from sibling tools by positioning itself as the first-step lookup for unknown slugs.

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 explicitly says 'Use this first when unsure of the exact vendor slug,' giving clear when-to-use guidance. It doesn't name alternative tools or provide explicit when-not-to-use conditions, but the 'first' directive implies it precedes the sibling status/incident tools.

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

status_feed_urlsA

The machine-readable endpoints for one vendor's status page — summary JSON, incidents JSON, RSS and Atom where the platform provides them — so an agent or a script can poll the vendor directly without a key. Also returns this dataset's normalized history JSON for the vendor.

ParametersJSON Schema
NameRequiredDescriptionDefault
vendorYesVendor name, slug or status-page domain.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses keyless access, direct polling, conditional availability of RSS/Atom, and the inclusion of normalized history JSON. It does not cover failure/not-found behavior or clarify whether the history JSON is a URL or the data itself.

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 with the subject front-loaded; the em-dash enumeration packs useful detail without padding. The closing phrase 'for the vendor' is mildly redundant, but no sentence is wasted.

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?

For a one-parameter tool with no output schema, it lists the returned endpoint categories and the no-key workflow, covering most practical needs. But the exact response shape is unspecified, and ambiguity remains about whether normalized history JSON is a URL or the content itself.

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 schema already fully documents the single vendor parameter, so baseline 3 applies. The description's phrase 'one vendor' is consistent but adds no meaningful semantic detail beyond the schema.

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 what the tool returns: machine-readable status-page endpoints (summary JSON, incidents JSON, RSS/Atom) plus normalized history JSON, scoped to one vendor. This distinguishes it from siblings like vendor_incidents and vendor_status by emphasizing raw feed URLs rather than interpreted status data.

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?

It gives a concrete use case—polling a vendor directly without an API key—which helps an agent recognize when this tool is relevant. However, it does not explicitly contrast it with sibling tools or state when not to use it, leaving the routing somewhat implied.

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

vendor_incidentsA

One vendor's incident history as its status page posted it: title, state, impact, start/resolve timestamps, latest update text and the incident URL, newest first. Histories go back weeks to years depending on what the vendor's page exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax incidents returned, 1-200 (default 20).
sinceNoOnly incidents that started on/after this date, YYYY-MM-DD.
stateNoOnly this incident state, e.g. 'resolved', 'investigating', 'monitoring'.
vendorYesVendor name, slug or status-page domain.

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 carries the burden. It discloses that histories vary in depth ('weeks to years depending on what the vendor's page exposes') and that data is sourced from the vendor's status page, which implies external variability. However, it does not mention pagination behavior, rate limits, or what happens when a vendor is not found.

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?

Two sentences with no wasted words. The first sentence front-loads the core purpose and output fields; the second adds a useful caveat about data availability. Every sentence earns its place.

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 read-only list tool with a fully documented schema, the description covers the essential context: what data is returned, ordering, and the variability of history depth. It lacks explicit notes on error cases or pagination, but these are minor given the tool's simplicity and the schema's completeness.

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%, so the schema already documents all four parameters. The description adds context about the data source and ordering but does not add meaning beyond the schema for individual parameters. Baseline 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 tool returns one vendor's incident history as posted on its status page, with specific fields (title, state, impact, timestamps, update text, URL) and ordering (newest first). This distinguishes it from siblings like vendor_status (current status) and vendor_resolution_times (aggregated metrics).

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 implies this is for historical incident data from a vendor's status page, which differentiates it from vendor_status (current status) and vendors_down_now (current outages). It does not explicitly name alternatives or state when not to use it, but the scope is clear enough for an agent to select it appropriately.

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

vendor_resolution_timesA

How long one vendor's incidents take to be declared resolved: median, 90th percentile, count over 24h and the longest on record, computed from the vendor's own posted start and resolve timestamps (maintenance and inferred resolutions excluded). Not an uptime or SLA number.

ParametersJSON Schema
NameRequiredDescriptionDefault
vendorYesVendor name, slug or status-page domain.

TDQS

A4.3/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 the full burden of behavioral disclosure. It adds substantial context: data is computed from the vendor's own posted start and resolve timestamps, maintenance and inferred resolutions are excluded, and the exact metrics are enumerated. It stops short of describing return format, error behavior, or freshness, but the core behavioral profile is well disclosed.

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 dense sentence front-loads the purpose, enumerates the metrics, and then adds the important non-uptime caveat. Every element earns its place, and there is no filler or redundant restating of the tool name.

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

Completeness5/5

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

For a one-parameter tool with no output schema, the description covers the returned metric set, the data source, exclusions, and intended interpretation. An agent can safely invoke it for the right vendor and correctly interpret the returned values, so nothing critical is missing.

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 single 'vendor' parameter is fully documented in the schema (name, slug, or status-page domain), so schema coverage is 100%. The description reinforces that the data is scoped to one vendor's incidents but adds no new parameter-level semantics beyond what the schema already 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 uses a specific, informative framing: it quantifies how long incidents take to be resolved徒, enumerates the exact metrics (median, p90, count, max), and explicitly distinguishes itself from uptime/SLA tools. This differentiates it from sibling tools like vendor_status, vendor_incidents, and vendors_down_now without needing to inspect their schemas.

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 establishes the domain clearly: use this when you need one vendor's incident resolution duration metrics computed from posted timestamps. It also gives an explicit when-not signal ('Not an uptime or SLA number'), but it does not name sibling alternatives such as vendor_incidents or vendor_status, so the guidance is clear but not fully explicit about routing.

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

vendors_down_nowA

Every vendor that was NOT fully operational in the newest poll, worst first (major, partial, degraded, then maintenance), with counts by state across all polled vendors. Use for 'which SaaS vendors have incidents right now'.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax vendors returned, 1-500 (default 50).
stateNoOnly this state: major, partial, degraded, maintenance or unknown.
include_unknownNoInclude vendors whose page could not be read (default false).
include_maintenanceNoInclude scheduled maintenance (default true).

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It explains selection criteria (not fully operational), ordering (major, partial, degraded, then maintenance), time scope (newest poll), and aggregation (counts by state). It does not explicitly state read-only behavior, but the query-like wording strongly implies a safe 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?

Two sentences with no filler: the first packs selection, ordering, and aggregation; the second states the intended user query. All key details are front-loaded and every sentence earns its place.

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 read-only tool with four optional parameters and 100% schema coverage, the description gives sufficient invocation context. Since there is no output schema, a brief sketch of the response shape would make it more complete, but the core selection, ordering, aggregation, and use case are all present.

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 descriptions cover all 4 parameters, so the baseline is 3. The description reinforces the state vocabulary and the notion that maintenance is included, but it does not add meaning beyond what the input schema already 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 defines what the tool returns: vendors not fully operational in the newest poll, sorted worst-first, with counts by state. The scope 'across all polled vendors' distinguishes it from single-vendor tools like vendor_status and from incident-detail or feed tools in the sibling list.

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?

It gives an explicit use case: 'which SaaS vendors have incidents right now'. However, it does not name alternatives or state when not to use this tool, so some routing burden is left to sibling descriptions.

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

vendor_statusA

Current state of one vendor from the newest daily poll: ok / degraded / partial / major / maintenance / unknown, the vendor's own status line, open incident count and the poll timestamp. Says plainly that it is a daily poll, not a live probe.

ParametersJSON Schema
NameRequiredDescriptionDefault
vendorYesVendor name, slug or status-page domain.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It covers the polling cadence, staleness, and the exact fields returned. It omits edge-case behavior such as handling unknown vendors, but for a read-only status lookup the key traits are disclosed.

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?

Two sentences with no filler. The result is front-loaded, the status values are compactly enumerated, and the important daily-poll caveat is included without repetition.

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 one parameter and no output schema, the description lists the returned fields and possible status values, which is enough for basic invocation. It could clarify behavior for an unknown vendor, but the input schema's 'name, slug or status-page domain' already covers flexible lookup.

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 schema already documents the single parameter at 100% coverage, so the description does not need to repeat it. The 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 names the exact resource ('one vendor'), the data source ('newest daily poll'), and the status vocabulary, making the tool's purpose unmistakable. It also implicitly distinguishes itself from plural or incident-focused siblings like vendors_down_now and vendor_incidents.

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?

It explicitly warns that this is a daily poll, not a live probe, which tells an agent not to use it for real-time checks. It does not name a specific alternative tool, so the routing guidance is clear but not fully explicit.

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. 7 tool updatesv0.1.0
    • First observeddataset_status
    • First observedfind_vendor
    • First observedstatus_feed_urls
    • First observedvendor_incidents
    • First observedvendor_resolution_times
    • First observedvendor_status
    • First observedvendors_down_now

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct concern: single-vendor current status, vendor lookup, aggregate outages, incident history, resolution metrics, feed endpoints, and dataset metadata. Even the incident-related tools are clearly separated by current state vs. historical detail.

Naming Consistency4/5

Most tools follow a consistent snake_case noun-phrase pattern with a vendor_ prefix, making the set easy to scan. find_vendor is a verb-led deviation)Skip, and vendors_down_now uses a different structure, but these are minor and do not undermine predictability.

Tool Count5/5

Seven tools is well-scoped for a read-only vendor status dataset. Each tool covers a distinct part of the workflow without unnecessary duplication or bloat.

Completeness4/5

The set covers lookup, current status, affected vendors, incident history, resolution statistics, direct feed access, and dataset health. A bulk 'all vendor statuses' or cross-vendor incident search is missing, but core agent workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Monitor the real-time status of 200+ popular APIs and services. Check if services like GitHub, Stripe, AWS, and Slack are experiencing outages or degraded performance directly from your AI assistant.
    5
    12 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Live operational status for 2,400+ major software services — AWS, GitHub, Stripe, OpenAI, Cloudflare, and more — pulled from each provider's official status page and returned as a normalised up / degraded / down result for any service you ask about.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Let agents read and manage your org’s independent monitors, incidents, status pages, and alerts (honest measured state, no false greens).
    -