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

index365 MCP

NPM · @INDEX365/MCP · SCANNED AUG 3

Start index365 scans and read prioritized findings your coding agent can use.

Available components

+19 this week 63 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security83
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency19
Schema Quality & AI Usability79
  • 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 2308 tokens (~209/item across 11 items; 11 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 Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 85% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @index365/mcp

# add to Claude Code
claude mcp add index365usa-index365 -- npx -y @index365/mcp
# add to Codex CLI
codex mcp add index365usa-index365 -- npx -y @index365/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "index365usa-index365": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@index365/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add index365usa-index365 --command npx --arg -y --arg @index365/mcp
# ~/.hermes/config.yaml
mcp_servers:
  index365usa-index365:
    command: "npx"
    args: ["-y", "@index365/mcp"]
// mcp.json
{
  "mcpServers": {
    "index365usa-index365": {
      "command": "npx",
      "args": [
        "-y",
        "@index365/mcp"
      ]
    }
  }
}
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.

  • 3 Aug 26 +24
    • GHSA-frvp-7c67-39w9 affects this package: medium security
    • Known CVEs: unverified → fail security
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Stability: unverified → 0.27 functional
    • Schema quality: unverified → excellent functional
    • Licence: MIT functional
  • 1 Aug 26 +20
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → pass functional
  • 31 Jul 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +8
    • Malware scan: pass → unverified security
    • Schema quality: unverified → 100 functional
    • Tool coverage: unverified → 100 functional
  • 28 Jul 26 −26
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
  • 27 Jul 26 44

    First indexed and scored.

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 3 Aug 2026 · Analysed npm/@index365/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-frvp-7c67-39w9 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 11 exposed · ~2,051 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.

Tool Tokens
index365_archive_project ~164

Reversibly archive a project so it leaves active lists and cannot start new scans. Scan history and API keys remain available, and index365_restore_project reactivates the same row. Requires projects:delete. Safe to retry. Best for: retiring a domain you no longer scan. Not for: permanent deletion, which this is not. Common mistake: omitting confirmDomain, which must echo the project's exact domain. Example: index365_archive_project({ projectId: '<uuid>', confirmDomain: 'acme.com' }). Next: index365_list_projects with status archived to verify.

NameTypeReqDescription
confirmDomainstringyesThe project's exact domain, echoed to authorize the archive
projectIdstringyesProject id to archive (from index365_list_projects)

No output schema declared.

No examples provided.

index365_create_project ~157

Create a domain-anchored project in the organization. Requires the projects:write scope. Idempotent by domain: creating an existing domain returns that same project (no duplicate), so a retry is safe. Best for: registering a new site before its first scan. Not for: reactivating an archived project (use index365_restore_project). Common mistake: calling index365_start_scan before the project exists. Example: index365_create_project({ domain: 'acme.com', name: 'Acme' }). Next: index365_start_scan with the returned projectId.

NameTypeReqDescription
domainstringyesDomain to scan, e.g. acme.com
namestringDisplay name (defaults to the domain)

No output schema declared.

No examples provided.

index365_get_finding ~169

Full detail for one finding by its stable id (from index365_list_findings): evidence, affected URLs, remediation, machine-readable agentActions, and a composed copy-pasteable fixPrompt. Best for: pulling the exact fix instruction before editing a repo. Not for: discovery (call index365_list_findings first to get the findingId). Common mistake: re-deriving a fix when fixPrompt and agentActions already specify it. Example: index365_get_finding({ runId: '<uuid>', findingId: 'f_ab12cd34' }). Next: apply the fix, then index365_start_scan to confirm it is resolved.

NameTypeReqDescription
findingIdstringyesStable finding id (f_...)
runIdstringyesRun the finding belongs to

No output schema declared.

No examples provided.

index365_get_report ~276

Compact, product-aware report for a completed scan. Pass EXACTLY ONE of runId or projectId. runId reads that run's report. projectId reads the project's latest completed report: add product marketing_signal for the marketing report, otherwise the newest completed AI-Readiness run is used. Discriminate on the product field: AI-Readiness serves score, severity mix, and foundation files; Marketing Signal serves score, the five stage scores (find, trust, act, measure, improve), and source coverage. Best for: the FIRST read after a scan completes, before paging findings. Not for: per-finding detail (index365_get_finding) or starting scans (index365_start_scan). Common mistake: passing both runId and projectId, or dumping every finding into context without reading this first. Example: index365_get_report({ projectId: '<uuid>', product: 'marketing_signal' }). Next: index365_list_findings with the runId for the prioritized list.

NameTypeReqDescription
productstringWith projectId only: which product's latest report (default ai_readiness).
projectIdstringProject id for the latest completed report (pass this OR runId, not both)
runIdstringRun id (pass this OR projectId, not both)

No output schema declared.

No examples provided.

index365_get_scan_status ~148

Status and summary for one run: progress while running; score, severity counts, and links once completed. Adds pollAfterSeconds and, while running, a rough etaSeconds. Scans typically take 2-5 minutes. Best for: recovering when a blocking index365_start_scan call was cut off client-side, or checking an older run. Not for: findings (index365_get_report first, then index365_list_findings). Common mistake: starting a new scan while this one is still running. Example: index365_get_scan_status({ runId: '<uuid>' }). Next: index365_get_report once status is completed.

NameTypeReqDescription
runIdstringyesRun id

No output schema declared.

No examples provided.

index365_list_connected_signals ~116

Normalized signal rows imported from a project's connected sources. Best for: reading the evidence base behind Marketing Signal measure-stage findings. Not for: provider availability (index365_list_integrations). Common mistake: treating an empty list as an error; it stays empty with sourceCoverage public_only until integrations launch. Example: index365_list_connected_signals({ projectId: '<uuid>' }). Next: index365_start_scan with product marketing_signal to score the site against these signals.

NameTypeReqDescription
projectIdstringyesProject id

No output schema declared.

No examples provided.

index365_list_findings ~191

Paginated findings for a completed run of either product (contract v2: stable findingId, category, severity, evidence, remediation; Marketing Signal findings also carry a stage). Best for: triaging by severity, category, or stage. Not for: full detail of one finding (index365_get_finding) or first orientation (index365_get_report first). Common mistake: requesting a huge limit; it is capped at 50, so page with cursor. Example: index365_list_findings({ runId: '<uuid>', severity: 'critical' }). Next: index365_get_finding with a findingId for the exact fix.

NameTypeReqDescription
categorystring
cursorstring
limitinteger
runIdstringyesCompleted run id
severitystring
stagestringMarketing Signal funnel stage filter

No output schema declared.

No examples provided.

index365_list_integrations ~118

Provider registry plus per-project connection status for connected signals (GA4, Search Console, Tag Manager, ads, CRM). Best for: checking what a project can connect and each provider's phase. Not for: imported signal data (index365_list_connected_signals). Common mistake: expecting live connections; providers report phase planned until hosted connections launch. Example: index365_list_integrations({ projectId: '<uuid>' }). Next: index365_list_connected_signals for the imported rows.

NameTypeReqDescription
projectIdstringyesProject id

No output schema declared.

No examples provided.

index365_list_projects ~179

List the organization's projects (domain-anchored workspaces). Omitted status excludes archived projects; pass active, paused, archived, or all. Paginated: pass cursor from the previous page (default 20, max 50). Best for: resolving a projectId before a scan, or finding an archived project to restore. Not for: run history or scores. Common mistake: guessing a projectId instead of listing first. Example: index365_list_projects({ status: 'active' }). Next: index365_start_scan with the projectId, or index365_create_project if the domain is not listed.

NameTypeReqDescription
cursorstringpagination.nextCursor from the previous page
limitintegerPage size (default 20, max 50)
statusstringLifecycle filter. Omit to exclude archived projects.

No output schema declared.

No examples provided.

index365_restore_project ~125

Restore an archived project to active status without changing its id, history, or keys. Requires projects:write. Safe to retry; an active project remains active. Best for: reactivating a domain you archived. Not for: creating a new domain (use index365_create_project). Common mistake: looking for archived ids in the default listing; pass status archived to index365_list_projects. Example: index365_restore_project({ projectId: '<uuid>' }). Next: index365_start_scan for fresh findings.

NameTypeReqDescription
projectIdstringyesArchived project id to restore

No output schema declared.

No examples provided.

index365_start_scan ~408

Start a paid scan and wait for the result. product: ai_readiness (default; how well AI agents and AI search read the site), marketing_signal (find, trust, act, measure), or website_security (not available over MCP yet). Scans ONE URL: pass url for a same-domain page like '/pricing', or omit it for the project homepage. Spends 10 org credits (flat) and needs the runs:write scope. This call BLOCKS: it polls internally and returns the final status, score, severity counts, and dashboard link (scans typically take 2-5 minutes). If the wait cap expires it returns a non-error still-running payload; recover with index365_get_scan_status, never by starting again. Always pass idempotencyKey: a retry with the same key attaches to the same run. Best for: the one golden-path call that produces findings. Not for: reading an existing run (index365_get_scan_status) or a finished report (index365_get_report). Common mistake: retrying after a timeout without the same idempotencyKey, which double-spends credits. Example: index365_start_scan({ projectId: '<uuid>', product: 'marketing_signal', url: '/pricing', idempotencyKey: 'fix-loop-1' }). Next: index365_get_report with the returned runId.

NameTypeReqDescription
idempotencyKeystringRetry-safety key. A retry with the same key attaches to the same run.
productstringScan product (default ai_readiness). website_security is not available over MCP yet.
projectIdstringyesProject to scan (from index365_list_projects)
urlstringThe single page to scan on the project's own domain (its apex or any subdomain, e.g. staging.example.com). Absolute URL or root-relative path like '/pricing'. Omit to scan the project homepage. A cro…

No output schema declared.

No examples provided.