Midkernel Threat Intel

Free, read-only public-source threat intel over MCP. No account or API key.

Hosted MCP Server

npx add-mcp 'https://www.midkernel.com/security/app/mcp/threat-intel'

Installs into Claude Code, Codex, Cursor and more

Documentation

Threat Intel MCP and Scan setup | Midkernel Security

Set up free public-source Threat Intel over MCP without an account or API key, or connect with OAuth PKCE for hosted Scan reviews.

Canonical: https://www.midkernel.com/security/docs/mcp

Quick start: no account

Add a remote Streamable HTTP MCP server with this URL:

https://www.midkernel.com/security/app/mcp/threat-intel

Choose no authentication if asked. No account, API key, or credits are needed. The connection exposes ti_sources, ti_classes, ti_daily_report, ti_latest, ti_trends, ti_get. Try: "Give me yesterday's UTC threat report, with citations and coverage caveats."

Each public IP can make 30 requests and 6 tool calls per minute, with one tool call at a time. IPv6 addresses in the same /64 share a limit. Shared service limits are 120 requests, 20 tool calls per minute, and two simultaneous tool calls. Minute quotas reset on the minute. On HTTP 429, wait for Retry-After before retrying; HTTP 503 means temporarily unavailable. Other users on the same network may share your allowance.

Account access: OAuth

Root authorization-server discovery redirects to the path-specific metadata above; the issuer remains https://www.midkernel.com/security/app. Root protected-resource discovery at https://www.midkernel.com/.well-known/oauth-protected-resource returns HTTP 200 for resource https://www.midkernel.com. The path-specific MCP document retains resource https://www.midkernel.com/security/app/mcp. Validate the exact issuer and selected resource.

Service agents with human consent

Register a service_auth agent with an email hint at https://www.midkernel.com/security/app/api/agent/identity. The verified_email compatibility request starts the same ceremony. An email hint is never proof: the account holder signs in with Google, checks the workspace and scopes, enters the separately displayed code, and explicitly approves or denies. The verification URL contains an opaque attempt token and never the code. Registration creates no account, workspace, credits, or scans.

The pending request lasts ten minutes. Default scope threat-intel:read permits read-only Threat Intel without spending credits. Request scan only with explicit approval for paid Scan access. After consent, the claim grant issues a revocable one-hour access token, with no refresh token or identity assertion. Consent itself never starts a Scan.

Choose one exact resource per grant: agent registration defaults to https://www.midkernel.com, covering protected REST and MCP endpoints under https://www.midkernel.com/security/app; existing OAuth clients default to https://www.midkernel.com/security/app/mcp. The selected resource stays bound through authorization, token exchange, and refresh. A token cannot be exchanged or refreshed into the other identity.

Canonical instructions with request formats, polling, and claim renewal: https://www.midkernel.com/security/app/auth.md. Root summary: https://www.midkernel.com/auth.md. Human management and revocation: https://www.midkernel.com/security/app/oauth/agents.

Tools

  • connect_repo: Confirm the read-only GitHub App on repositories you choose.
  • list_playbooks: List the review workflows you can run.
  • start_run: Start a hosted Scan and debit credits immediately. The result includes credits spent and the remaining balance.
  • fetch_run: Poll a run and fetch the report and findings.

The four Scan tools require the scan scope. Calling start_run spends credits.

Free Threat Intel tools

  • ti_sources: List configured public source IDs and metadata from the pinned collector catalog. No arguments.
  • ti_classes: List supported class IDs and the taxonomy version. No arguments.
  • ti_daily_report: Prioritize findings for the previous complete UTC day, with supporting citations, source-effective dates and coverage caveats.
  • ti_latest: Read new or changed public-source threats since a timestamp, with optional class and source filters.
  • ti_trends: Compare canonical evidence counts across equal UTC date windows, grouped by class, source, or day.
  • ti_get: Fetch a threat record and its evidence, with known-exploited (KEV) status joined through CVE identifiers.

Use the public URL above, or request threat-intel:read on the account-based connection, to read Midkernel's own public-source evidence. These tools never read user repositories or dependencies and do not use credits.

Discover filters with ti_sources and ti_classes. Each returns its complete supported catalog in one response. Use the exact IDs in ti_latest.source and ti_latest.class; unknown IDs return invalid_query with valid examples and the discovery tool to call. The source catalog includes its pinned revision. A valid source or class can have no records in the requested window.

For a prioritized daily report, call ti_daily_report with no arguments. It returns up to 10 findings by default (limit: maximum 30) from the previous complete UTC day, selected by stored source-effective publishedAt, not ingestion time. Citations identify publication, catalog-addition, or incident dates. The complete eligible canonical day is ranked before findings are selected.

Priority reasons cite included source evidence; ordering expresses attention, not global risk, severity, or exploitation probability. Read coverage and omission counts: ambiguous identities are withheld, and unusable citations or unverified CISA attribution can exclude evidence. coverage.allD1CandidateCanonicalGroups is null when attribution or citation gates exclude observations before grouping; candidate and group-omission counts describe the remaining population.

Each report reads a consistent snapshot of currently retained evidence, not an immutable historical report. Late arrivals and corrections can change later results. An empty result does not establish that there were no threats.

For alerts, pass an ISO timestamp in ti_latest.since. The default is 30 records in format=full, with up to 200 records per page. Use format=summary for up to 500 records per page: identities, timestamps, classes, sources, title, public URL, and evidence count, without prose or provenance. Call ti_get for a selected record's retained detail.

Follow every nextCursor with the same timestamps, filters, timeField, and format; the cursor freezes the first page's until. Changing a bound value returns invalid_query, so start without a cursor to change it. Use the final page's checkpoint.since for the next poll. The checkpoint overlaps recent ingestion; deduplicate repeated (id, matchedAt) pairs.

For a weekly digest, pass ti_trends.window.from and window.to as inclusive UTC source-effective dates and groupBy as class, source, or day. Each window is limited to 60 days and is compared with the immediately preceding equal window. Tool descriptions include the full contract.

Evidence that cannot be resolved from a multi-identifier bundle remains listable with identityStatus: ambiguous_bundle. These groups are excluded from unique, class, and daily threat counts. Trends report summary.ambiguousGroups and summary.previousAmbiguousGroups with a notice explaining the exclusion. These are group counts, not additional CVE counts; the remaining totals are not complete CVE coverage.

Counts describe canonical public-source evidence, not attacks or affected users. Feed coverage changes can drive spikes. Withheld counts are null, not zero. KEV absence is not proof a vulnerability is unexploited.

Scan access / plan / rate

A Midkernel account is required. Hosted Scan uses prepaid Midkernel credits (packs never expire; run cost depends on profile). Buy credits on midkernel.com with native USDC on Base only. This connector does not accept payments. Connect a GitHub repository through Midkernel’s read-only GitHub App (no write access). Choose a workflow (default security-review) and a profile (low, balanced, or max) before a run starts. The Midkernel web app shows the credit charge before start. Calling MCP start_run debits credits immediately and returns the amount spent and remaining balance; it has no separate quote or confirmation step. Rate limits and plan details follow the live Midkernel product; see https://www.midkernel.com/security/pricing and https://www.midkernel.com/legal/terms.

Links