Jeevesus — DugganUSA threat-intel MCP
REMOTE · ANALYTICS.DUGGANUSA.COM
Membrane for AI agents: threat intel you can check, IOC enrichment, pre-install package checks.
Available components
Last scanned (8 hours ago)
Scores higher than 61% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Security
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 Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability62
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3417 tokens (~379/item across 9 items; 9 tools + 0 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 Management40
- Stability observed for 12 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage92
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 76% 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 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
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.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 0
- Tool “enrich-ioc” rewrote its description, which is the text the model reads security
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
- Schema quality: 2711 → 3386 ▼ functional
- New tool “check-repo” functional
- New tool “check-workflow” functional
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
- DNSSEC: fail → pass ▲ security
- Tool “check-package” rewrote its description, which is the text the model reads security
- “check-package” reworded the description of “ecosystem” cosmetic
- 25 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
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 5 Nov 2026 · Probed https://analytics.dugganusa.com/api/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=dugganusa.com | CN=WE1,O=Google Trust Services,C=US | 4 Oct 2026 | 2 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 77eead484377f0f813bf09791436a661 |
| SANs: dugganusa.com, *.dugganusa.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of analytics.dugganusa.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| dugganusa.com. | present | 2371 | 13 | Verified |
| analytics.dugganusa.com. | Verified address RRset verified with the apex keys |
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=31536000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://analytics.dugganusa.com https://js.stripe.com https://d3js.org https://cdn.jsdelivr.net https://www.googletagmanager.com https://static.cloudflareinsights.com https://unpkg.com https://www.clarity.ms https://scripts.clarity.ms https://challenges.cloudflare.com; style-src 'self' 'unsafe-inline' https://analytics.dugganusa.com https://fonts.googleapis.com https://cdn.jsdelivr.net https://unpkg.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: blob: https:; connect-src 'self' https://analytics.dugganusa.com https://api.stripe.com https://*.dugganusa.com https://www.google-analytics.com https://region1.google-analytics.com https://analytics.google.com https://www.google.com https://www.googletagmanager.com https://*.clarity.ms https://stats.g.doubleclick.net; frame-src 'self' https://analytics.dugganusa.com https://js.stripe.com https://hooks.stripe.com https://challenges.cloudflare.com; object-src 'none'; base-uri 'sel |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://analytics.dugganusa.com/api/v1/mcp | Verified | 200 | |
| http (plaintext) | http://analytics.dugganusa.com/api/v1/mcp | HTTPS enforced | 301 | https://analytics.dugganusa.com/api/v1/mcp |
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 →
ai-model-price Look up AI model prices ~296
Looks up what an AI model or an agent session costs at list price. Prices are dated and copied from each provider's own pricing page. Returns the per-1M-token USD rates for a model (input, output, and for Anthropic models the 5-minute and 1-hour cache write, cache read and fast-mode rates), the date the provider page was checked, and the page it came from. Pass token counts to get an exact list-price cost for a call or a whole session. With no args: lists every priced model and each provider's checked date. With {"model":"claude-opus-5-5","input_tokens":2,"cache_read_tokens":300000,"output_tokens":800}: returns the rates and the cost breakdown. A model not in the table returns UNPRICED — never $0. Public read (no auth).
| Name | Type | Req | Description |
|---|---|---|---|
| cache_read_tokens | integer | – | – |
| cache_write_1h_tokens | integer | – | – |
| cache_write_5m_tokens | integer | – | – |
| fast | boolean | – | Anthropic fast mode (premium rates). |
| input_tokens | integer | – | – |
| model | string | – | Model id, e.g. "claude-opus-5-5", "gpt-4o-mini", "gemini-2.5-flash". Omit to list all priced models. |
| output_tokens | integer | – | – |
No output schema declared.
No examples provided.
check-package Check a package before install ~529
Checks whether a dependency (npm, PyPI, RubyGems or Packagist/Composer, or a GitHub Action used in a workflow) is on the DugganUSA malicious-package deny-list or has published advisories. Suited to a pre-install step in an agent or a CI pipeline, against slopsquatting and hijacked-package attacks. Returns a crisp, machine-actionable verdict: {ecosystem, package, version, malicious, verdict:"block"|"allow"|"review", reason, advice, source}. `malicious:true` = the exact package is on our OSV-curated deny-list (230k+ named-not-heuristic entries across npm + PyPI + RubyGems; RubyGems coverage is thin and Packagist has NO deny-list entries at all, so on those two the OSV lookup and reputation signals are the whole check). `malicious:false` = not on our known-bad list — absence is NOT proof of safety, so still pin and review new deps. If a `version` is supplied and the entry is version-scoped, the check is version-aware; all-versions-malicious packages block on any version. With a `version`, it also checks OSV for published vulnerabilities in that exact version (`known_vulnerabilities`): a reputable package with known CVEs returns verdict:"review", never block. One tool call, no auth. Examples: {"ecosystem":"npm","name":"cxp-jquery"} → malicious:true, verdict:block. {"ecosystem":"pypi","name":"requests"} → malicious:false, verdict:allow. {"ecosystem":"rubygems","name":"rest-client","version":"1.6.13"} → RubyGems check, version-scoped. {"ecosystem":"github-actions","name":"tj-actions/changed-files@v45.0.7"} → owner/repo@ref (or name owner/repo + version); the 2025 compromise advisory makes this verdict:review. Pin a full commit SHA for the strongest check.
| Name | Type | Req | Description |
|---|---|---|---|
| ecosystem | string | yes | Package ecosystem: npm, pypi, rubygems (aliases gem, gems, ruby), packagist (aliases composer, php; name = vendor/package), or github-actions (aliases actions, gha; name = owner/repo or owner/repo@re… |
| name | string | yes | The package name to check. |
| version | string | – | Optional exact version for version-aware checking. |
No output schema declared.
No examples provided.
check-repo Check a stranger's repository for run-on-open and install-time lures ~403
Before you open or run a repository someone else sent you (a recruiter's coding test, a downloaded zip, a proof of concept), pass it the few files that matter and get a verdict. It looks for the places a lure hides that a dependency check never reads: npm install hooks that fetch or evaluate code, a VS Code task set to run when the folder opens, agent hooks and MCP servers in .claude, .cursor and .mcp.json, dev container lifecycle commands (initializeCommand runs on your own machine), yarnPath and foreign npm registries, git or URL dependencies, source that decodes and evaluates a payload, and setup.py that fetches or executes. Prompted by the 2026-10-29 Binance theft, where a compromised engineer's laptop is the first account and fake recruitment coding tests are the documented route of the group blamed. Static and local: nothing is fetched, run or stored. Pass { "files": { "<path>": "<file text>" } } with at most 40 files and 28000 characters in total (package.json, .vscode/tasks.json, .claude/settings.json, .mcp.json, .devcontainer/devcontainer.json, .yarnrc.yml, .npmrc, setup.py and any suspicious script). For a whole directory use the command line scanner or the DugganUSA Checks GitHub Action. Returns {verdict:"block"|"review"|"no-findings"|"unknown", findings:[{rule, severity, verdict, file, line, evidence, message, fix}], coverage, note}. "no-findings" means none of the listed patterns were seen in the files you sent; it does NOT mean the repository is safe. "unknown" means nothing was analyzed. Read the code on a machine that holds no credentials before you run it. One tool call, no auth.
| Name | Type | Req | Description |
|---|---|---|---|
| files | object | yes | Map of repository-relative path to file text. |
No output schema declared.
No examples provided.
check-workflow Check a GitHub Actions workflow for script injection ~272
Checks the text of one GitHub Actions workflow file for script injection: places where text an outside user controls (an issue or pull request title or body, a comment, a branch name, a commit message) is pasted into a shell script or a github-script body, a privileged trigger that checks out a pull request's code, event text re-evaluated through eval, an externally triggerable workflow with open token permissions, and an AI agent action on such a trigger. Built from Radware's 2026-10-29 report of 83 hidden-command attacks on 61 public repositories. Static and local: nothing is fetched, run or stored. Pass the workflow's YAML as text (max 28000 characters; use the DugganUSA Checks GitHub Action for whole repositories). Returns {verdict:"block"|"review"|"advisory"|"no-findings"|"unknown", findings:[{rule, severity, verdict, line, expression, message, fix}], coverage, note}. "no-findings" means none of the listed patterns were seen; it does NOT mean the workflow is safe. "unknown" means nothing was analyzed. One tool call, no auth.
| Name | Type | Req | Description |
|---|---|---|---|
| workflow | string | yes | The workflow file text (the YAML of a file under .github/workflows). |
No output schema declared.
No examples provided.
enrich-ioc Enrich an indicator ~435
Looks up an IP address, domain, URL or file hash, such as one from a message, log line, SIEM alert or code under review. Look up a single indicator of compromise (IP, domain, URL, or hash) in the DugganUSA corpus. Returns the threat type, malware family, confidence and references of the record with the strongest attribution (first-party, then curated, then third-party; not necessarily the highest confidence), the attributed actor if any record names one, and a `sources` list with each record's source, actor, confidence, first_seen (the source's own date when the record carries one, such as a vendor report date, otherwise when it entered our corpus) and ingested_at (always when it entered our corpus, which is not when it was first observed) and description (up to 10). `attribution` names the strongest record's class. Read-only. Country is filled in only when the source records one; many feeds publish none. Useful after `search` finds something, for the full attribution and cross-feed correlation, or directly when triaging a single indicator. Pass the IOC as either `indicator` or `value` (both work). Optional `type` hint: ip / domain / url / hash / auto. Examples: indicator="185.93.3.195" → ShinyHunters/UNC6040 infrastructure. indicator="goldenleafway.lat" → fresh Apothecary/ClearFake .lat rotation domain. indicator="ee28b3137d65d74c0234eea35fa536af" → Volexity-attributed malware MD5 (BrazenBamboo/DEEPDATA campaign). Returns `found: false` when the indicator isn't in the corpus. That means we hold no record, not that it is safe.
| Name | Type | Req | Description |
|---|---|---|---|
| indicator | string | – | The indicator to enrich (IP, domain, URL, or hash). |
| type | string | – | Optional type hint. Default auto-detect. |
| value | string | – | Alias of `indicator`. Either field works. |
No output schema declared.
No examples provided.
kev-exploitation-stickiness KEV exploitation stickiness ~225
Measures whether a product's exploitation risk is chronic or a one-off, for patch prioritization. Does in-the-wild exploitation risk STICK to proven products, or SPREAD to new ones? Analyzes CISA KEV: correlates each product's historical known-exploited count against its RECENT KEV additions (Spearman rho), and splits recent additions into repeat-offenders (products with a prior KEV) vs first-time products. Answers "how should I prioritize patching — chase the chronic offenders, or watch for newcomers?" The result is computed live: it reports rho, the repeat-offender versus first-time split, the share concentrated in the 20 most-exploited products, and an `interpretation` sentence. This is product-level stickiness, a proxy for exploitation dynamics, not proof of exploit timing. Public read (no auth). Pass {"days": N} for the recent window (30-720, default 180).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Recent-window size in days (30-720). Default 180. |
No output schema declared.
No examples provided.
kev-vendor-risk KEV risk by vendor ~332
Shows where confirmed exploitation concentrates for a vendor or product (Microsoft, Cisco, Fortinet, an appliance, an ERP), for questions like "what should I patch first". Vendor / product risk matrix built from CISA's Known Exploited Vulnerabilities (KEV) catalog — where real, confirmed in-the-wild exploitation actually concentrates, not just where CVSS is high. With no args: returns the top vendors ranked by KEV count (e.g. Microsoft, Cisco, Adobe, Ivanti, Citrix). With {"vendor":"Adobe"}: returns that vendor's or product's known-exploited CVEs (e.g. ColdFusion), most recent first, up to 50, each with a ransomware-use flag (Known or Unknown); `kev_count` is the full total and `truncated` says whether the list was cut. Answers "which vendors/products carry the exploitation risk we should patch first," to assess third-party / supply-chain exposure, or to check whether a freshly-dropped PoC lands on a chronically-exploited product (a proven-soft target) versus a one-off. KEV means CISA has confirmed active exploitation. Public read (no auth). Source is CISA's KEV catalog, synced daily. Example: {"vendor":"Citrix"} → NetScaler's known-exploited CVEs; {} → the full top-vendor risk ranking.
| Name | Type | Req | Description |
|---|---|---|---|
| vendor | string | – | Optional vendor or product name (e.g. "Adobe", "Citrix", "SharePoint", "ColdFusion"). Omit for the top-vendor risk ranking. |
No output schema declared.
No examples provided.
search Search threat intelligence ~471
Searches threat-intelligence records about threat actors, malware, campaigns, CVEs, breaches, vendors and indicators. The default search covers security topics only; a few public-document archives can be searched by naming them (listed below). It holds no general programming or web content. Hybrid (keyword + semantic) search across the DugganUSA threat-intelligence corpus (live counts: /api/v1/search/stats). Read-only, prompt-injection sanitized. Returns up to 25 hits, each with index, id, title, snippet, source, timestamp and url (null where the record has none), plus `returned` (hits in this response) and `indexes_unanswered` (any index that timed out). No total match count is given. Searched by default: • iocs (indicators of compromise: IPs, domains, URLs, hashes, packages, with actor attribution) • adversaries (366 threat-actor profiles) • cisa_kev (CISA's Known Exploited Vulnerabilities catalog, synced daily) • pulses (OTX community pulses) • blog (1,800+ DugganUSA threat-intel research posts) Searched only when named in `indexes` (public research archives, not threat intel): • epstein_files (public Epstein court and DOJ documents) • the_finders and bishop_accountability (public abuse-accountability archives) • paranormal (fringe-research documents) Examples: query="ClearFake" → returns the Apothecary/ClearFake records and the related research post. query="ShinyHunters" indexes="iocs,adversaries,blog" → the UNC6040 actor across indicators, its adversary profile and research posts. query="CVE-2026-31431" → the Linux kernel KEV entry plus public proof-of-concept repositories we have collected.
| Name | Type | Req | Description |
|---|---|---|---|
| indexes | string | – | Optional comma-separated indexes. Default: iocs,adversaries,cisa_kev,pulses,blog. Archive indexes (epstein_files, the_finders, bishop_accountability, paranormal) are searched only when named. |
| limit | integer | – | Max results (default 10, hard max 25). |
| query | string | yes | Search query. |
No output schema declared.
No examples provided.
stix-feed-summary Summarize the STIX feed ~271
Summarizes what is in the feed right now: useful for "what's active this week", feed freshness, or planning SIEM / blocklist ingestion. Shape report on the most recent 5,000 indicators in the DugganUSA STIX 2.1 feed, bounded to a 1-7 day window. Returns how many of those fall in the window (capped at 5,000), the top malware families or list labels (feeds such as Spamhaus DROP label by list, not family), top source feeds, a breakdown by indicator type, and top countries when the records carry one. Useful before pulling the full STIX bundle, to gauge feed depth and freshness, plan a SIEM ingestion budget, or check that a campaign is in the corpus. Does not return the full bundle (STIX 2.1 / TAXII 2.1), which is at bundle_url in the response and needs an API key. Public read (no auth), cached for 10 minutes. The full bundle needs a free API key. Example: `{"days": 7}` returns the last week's feed shape — useful for capacity planning and spot-checking recent ingest tags.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Lookback window in days (1–7). Default 1. |
No output schema declared.
No examples provided.
How do I install the Jeevesus — DugganUSA threat-intel MCP server?
Jeevesus — DugganUSA threat-intel MCP is a hosted endpoint at https://analytics.dugganusa.com/api/v1/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 · analytics.dugganusa.com
claude mcp add --transport http pduggusa-dugganusa-threat-intel 'https://analytics.dugganusa.com/api/v1/mcp'
What is the Jeevesus — DugganUSA threat-intel MCP server?
Jeevesus — DugganUSA threat-intel MCP is listed in the public MCP registry as io.github.pduggusa/dugganusa-threat-intel. Membrane for AI agents: threat intel you can check, IOC enrichment, pre-install package checks. This page covers its hosted endpoint (https://analytics.dugganusa.com/api/v1/mcp).
Is the Jeevesus — DugganUSA threat-intel MCP server safe to use?
Jeevesus — DugganUSA threat-intel MCP scores 74 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 Jeevesus — DugganUSA threat-intel MCP server expose?
Jeevesus — DugganUSA threat-intel MCP exposes 9 tools: search, enrich-ioc, stix-feed-summary, ai-model-price, kev-vendor-risk, and 4 more. Their descriptions and schemas cost roughly 3,234 tokens of context every time the server is loaded.
Does the Jeevesus — DugganUSA threat-intel MCP server require authentication?
No. We connected to Jeevesus — DugganUSA threat-intel MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Jeevesus — DugganUSA threat-intel MCP server still maintained?
Jeevesus — DugganUSA threat-intel MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.