Is the internet OK?
Live internet status, security incidents, and dependency and GitHub repo checks. No key.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- INFOin check_repo
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"status": {
"url": "https://istheinternetok.com/mcp"
}
}
}Remote endpoints
https://istheinternetok.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢internet_status
The live status of the whole internet: a one-sentence answer, every watched service (Cloudflare, AWS, Google Workspace, Discord, PlayStation Network, OpenAI, GitHub...) with its state and its group, and the open security incidents with what to do. Refreshed every 5 minutes.
Input Schema
{
"type": "object",
"properties": {}
}🟢list_incidents(severity)
The open incidents (critical flaws, big outages, supply-chain attacks), worst first, each with its impact, what to do, the affected packages and products, and its page.
Input Schema
{
"type": "object",
"properties": {
"severity": {
"description": "Only incidents of this severity.",
"type": "string",
"enum": [
"critical",
"major",
"minor"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢events_since(since)
What changed since a date, oldest first: incidents created, updated or resolved, and big services going down or coming back. Keep `next` and pass it as `since` next time to watch.
Input Schema
{
"type": "object",
"properties": {
"since": {
"description": "An ISO date; the last 7 days when left out.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_incident(id)
One incident by its id (as list_incidents or internet_status give it, like 2026-10-14-nextjs-rce), open or resolved.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The incident id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_stack(packages, products, lockfile, filename, full)
Checks a project's dependencies and a person's apps. Every package with an exact version (as a lockfile pins it) is checked against every known flaw (OSV.dev, CISA's exploited list), and the incidents this site explains come first; a range, no version, or an app is only compared with those incidents. Says the answer on the site's scale (yes, mostly, kind-of, no; unknown when no exact version was sent), which packages to update and to which version. Give packages, product ids, or the text of a lockfile (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, composer.lock; with filename, any of 30+ formats: Cargo.lock, go.mod, uv.lock, Gemfile.lock...). For a public GitHub repo, check_repo reads every lockfile itself. Only names and versions reach the flaw database; nothing about who asked is stored.
Input Schema
{
"type": "object",
"properties": {
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ecosystem": {
"type": "string",
"description": "One of npm, PyPI, Packagist, Maven, Go, crates.io, RubyGems, NuGet, Docker, GitHub Actions, ConanCenter, Hackage, Pub, SwiftURL, Hex, CRAN, Julia (lowercase works, pip and composer too)."
},
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"ecosystem",
"name"
]
}
},
"products": {
"description": "Product ids people install: chrome, firefox, safari, edge, windows, macos, ios, android, linux, office, whatsapp, zoom, plex, wordpress, php, nodejs, python, openssl, nginx, apache-httpd, ivanti-connect-secure, pan-os, fortimail, fortios, cisco-asa, tidb-cloud.",
"type": "array",
"items": {
"type": "string"
}
},
"lockfile": {
"description": "The whole text of a lockfile or manifest.",
"type": "string",
"maxLength": 5000000
},
"filename": {
"description": "The lockfile's file name (Cargo.lock, go.mod, uv.lock...): reads it with the repo check's own readers, which also tell dev dependencies apart.",
"type": "string"
},
"full": {
"description": "Also every flaw of every package, minor ones included. Without it: the answer, what to update and why.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_repo(repo, full)
Checks a public GitHub repo: every package its lockfiles pin at its latest commit, in every folder and 14 ecosystems (npm, PyPI, crates.io, Go, Maven, NuGet, RubyGems, Packagist, Pub, Swift, Hex, Hackage, CRAN, Julia), against every known flaw. Says the answer on the site's scale (yes, mostly, kind-of, no; unknown when it holds no lockfile we can read), what to update first and what each flaw lets someone do, in plain words. A first look at a big repo takes a few seconds.
Input Schema
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "owner/name, or the repo's GitHub URL: vercel/next.js, https://github.com/pallets/flask"
},
"full": {
"description": "Also every flaw of every package (hundreds of KB for a big repo). Without it: the answer, what to update and why, and where the full list is.",
"type": "boolean"
}
},
"required": [
"repo"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence