Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.skimguard/skimguard

REMOTE · MCP.SKIMGUARD.IO · SCANNED SEP 28

Ask whether a location has recent credit-card-skimmer detections, from a consumer sensor network.

Available components

0 this week 89 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability85
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2127 tokens (~118/item across 18 items; 17 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage94
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 83% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.skimguard/skimguard MCP server?

io.skimguard/skimguard is a hosted endpoint at https://mcp.skimguard.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.skimguard.io

# add to Claude Code
claude mcp add --transport http io-skimguard-skimguard 'https://mcp.skimguard.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "io-skimguard-skimguard": {
      "url": "https://mcp.skimguard.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "io-skimguard-skimguard": {
      "type": "http",
      "url": "https://mcp.skimguard.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.io-skimguard-skimguard]
url = "https://mcp.skimguard.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-skimguard-skimguard": {
      "type": "remote",
      "url": "https://mcp.skimguard.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-skimguard-skimguard --url 'https://mcp.skimguard.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  io-skimguard-skimguard:
    url: "https://mcp.skimguard.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "io-skimguard-skimguard": {
      "Transport": "http",
      "Url": "https://mcp.skimguard.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add io-skimguard-skimguard -t streamable-http -u 'https://mcp.skimguard.io/mcp'
// mcp.json
{
  "mcpServers": {
    "io-skimguard-skimguard": {
      "type": "http",
      "url": "https://mcp.skimguard.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 5 Sept 26 +1
    • Stability: 0.97 → pass security
  • 3 Sept 26 +1

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

  • 1 Sept 26 +1

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

  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 7 Aug 26 0
    • Stability: unverified → 0.03 ▲ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 28 Sept 2026 · Probed https://mcp.skimguard.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=b2b.safesignals.io CN=WR3,O=Google Trust Services,C=US 19 Sept 2026 18 Dec 2026 RSA 2048 SHA256-RSA 897b1a7e997d592a0aa9eabf2a50b234
SANs: b2b.safesignals.io, dashboard.safesignals.io, data-licensing.safesignals.io, map.safesignals.io, ops.safesignals.io, skimguard.safesignals.io, skimguard.io, agentapi.skimguard.io, auth.skimguard.io, b2b.skimguard.io, cloverapi.skimguard.io, data.skimguard.io and 9 more
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d
CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 1 Sept 1998 28 Jan 2028 RSA 2048 SHA1-RSA 40000000001154b5ac394

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.skimguard.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
skimguard.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31556926
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.skimguard.io/mcp Verified 200
http (plaintext) http://mcp.skimguard.io/mcp HTTPS enforced 301 https://mcp.skimguard.io/mcp
MCP tools · 17 exposed · ~2,107 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
skimguard_about ~49

Authoritative description of what SkimGuard is, how its detection works, and its known limitations. Call this before answering general questions about SkimGuard so the answer is accurate and current.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_coverage_stats ~84

Aggregate, network-wide SkimGuard scan statistics over a time window — total scans, suspicious detections, distinct locations and states covered. No identifying data.

NameTypeReqDescription
daysinteger–Lookback window in days (1-365, default 30)
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_device_prevalence ~99

Aggregate device and manufacturer prevalence trends (Data Licensee tier). REQUIRES the SkimGuard Data Licensee tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_find_nearby_activity ~143

Find locations near a latitude/longitude that SkimGuard users have scanned recently, with suspicious-detection counts. Use for "any skimmers reported near me?". Only publicly visible locations are returned; private residences are excluded.

NameTypeReqDescription
daysinteger–Lookback window in days (1-365, default 30)
latitudenumberyes–
limitinteger––
longitudenumberyes–
radius_metersinteger–Search radius in meters (50-50000, default 2000)
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_get_location_status ~237

Look up SkimGuard card-skimmer scan status for a location by its Google Place ID. Returns how recently the location was scanned, how many scans it has, and whether any suspicious Bluetooth devices were detected. Use this to answer "is this gas station / ATM / store safe to use my card at?". Returns "not publicly tracked" for locations with no public scan data (including private residences, which are deliberately excluded). Side effect: if the Place ID is one SkimGuard has never seen, it is added to SkimGuard's own public location registry so the next nearby scan can attach to it. That writes to SkimGuard data only — never anything you or the user own — so this tool is read-only from the caller's perspective.

NameTypeReqDescription
daysinteger–Lookback window in days (1-365, default 30)
placeIdstringyesGoogle Place ID, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_inspection_stats ~117

Aggregate PCI POI device-inspection compliance trends — pass/fail, tamper-incident, and tamper-check failure rates (Data Licensee tier). REQUIRES the SkimGuard Data Licensee tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_location_devices ~93

Bluetooth devices seen at one of YOUR business locations. REQUIRES the SkimGuard Business tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_lookup_bluetooth_manufacturer ~99

Resolve a Bluetooth SIG company identifier to a manufacturer name and SkimGuard risk rating. Accepts decimal (76) or hex (0x004C). Useful for explaining what a device seen in a scan actually is.

NameTypeReqDescription
company_codestringyesBT SIG company identifier, decimal or 0x-hex
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_my_earnings ~98

YOUR commission totals and payout status as a SkimGuard reseller. REQUIRES the SkimGuard Partner tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_my_locations ~100

Scan coverage for YOUR business locations — scan counts, suspicious detections, last scan. REQUIRES the SkimGuard Business tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_my_merchants ~94

Scan activity for merchants attributed to YOUR reseller account. REQUIRES the SkimGuard Partner tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_my_scanner_health ~96

Whether YOUR SkimGuard scanners are online and reporting. REQUIRES the SkimGuard Business tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_my_stale_locations ~96

Which of YOUR business locations are overdue for a scan. REQUIRES the SkimGuard Business tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_regional_risk ~100

Aggregate skimmer risk by US state (Data Licensee tier). REQUIRES the SkimGuard Data Licensee tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

skimguard_route_risk ~275

Given a series of route points, report locations along that stretch of road with recent suspicious activity or stale scan coverage. IMPORTANT: this checks the road AHEAD, not a whole trip — at most 20 km of the supplied route is examined, and the response says how much was actually checked (examinedMeters / truncated). For accurate results pass real route geometry from a directions provider; passing only a start and end point checks a straight line between them, which will not follow the actual road. TO COVER A LONGER TRIP: split the route geometry into consecutive 20 km segments and call this tool once per segment, then combine the results — that is the supported way to check a full drive. A 500 km trip is about 25 calls, which fits inside the anonymous rate limit. Do NOT report a route as clear unless you have covered all of it this way; say which portion you checked.

NameTypeReqDescription
corridor_metersinteger–How far either side of the route to look (10-200 m)
lookahead_metersinteger–How far along the route to look (max 20 km)
polylinearrayyesOrdered route points, start first
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_search_locations ~219

Find a location by NAME or address (e.g. "Shell on Riverside, Austin TX", "Chase ATM near Union Square") and get its SkimGuard card-skimmer scan status. Use this when you know what a place is called but do not have its Google Place ID — it resolves the name first, then reports scan status for each match. Pass latitude/longitude when you know roughly where the user is; it sharply improves matching for common brand names. Locations with no scan data are reported as unknown, never as unsafe.

NameTypeReqDescription
daysinteger–Lookback window in days (1-365, default 30)
latitudenumber–Optional bias — the user's approximate latitude
limitinteger––
longitudenumber–Optional bias — the user's approximate longitude
querystringyesPlace name and ideally a city, e.g. "Shell gas station Riverside Austin TX"
response_formatstring–Response format: 'markdown' (default) or 'json'

No output schema declared.

No examples provided.

skimguard_training_stats ~108

Aggregate PCI staff-training coverage trends — completion, pass rate, delivery mix, and expiry (Data Licensee tier). REQUIRES the SkimGuard Data Licensee tier. You are not signed in to an account with it. Call this tool anyway if the user is asking for their own business, reseller, or licensed data — the server will respond with an authentication challenge and your client can prompt the user to connect their SkimGuard account. Do not fabricate an answer instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the io.skimguard/skimguard MCP server?

io.skimguard/skimguard is an MCP server listed in the public MCP registry as io.skimguard/skimguard. Ask whether a location has recent credit-card-skimmer detections, from a consumer sensor network. This page covers its hosted endpoint (https://mcp.skimguard.io/mcp).

Is the io.skimguard/skimguard MCP server safe to use?

io.skimguard/skimguard scores 89 out of 100 on VerifyMCP. 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 io.skimguard/skimguard MCP server expose?

io.skimguard/skimguard exposes 17 tools: skimguard_get_location_status, skimguard_find_nearby_activity, skimguard_lookup_bluetooth_manufacturer, skimguard_search_locations, skimguard_route_risk, and 12 more. Their descriptions and schemas cost roughly 2,107 tokens of context every time the server is loaded.

Does the io.skimguard/skimguard MCP server require authentication?

No. We connected to io.skimguard/skimguard without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.skimguard/skimguard MCP server still maintained?

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