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.

index365 MCP

NPM · @INDEX365/MCP · SCANNED SEP 20

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

Available components

0 this week 78 Trust /100
Trust breakdown (7 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 → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
Schema Quality & AI Usability81
  • 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 Management93
  • Stability observed for 28 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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 12 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 index365 MCP server?

index365 MCP runs locally as an npm package, launched with npx -y @index365/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @index365/mcp

# add to Claude Code
claude mcp add index365usa-index365 -- npx -y @index365/mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "index365usa-index365": {
      "command": "npx",
      "args": [
        "-y",
        "@index365/mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "index365usa-index365": {
      "command": "npx",
      "args": [
        "-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"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "index365usa-index365": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@index365/mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add index365usa-index365 -t stdio -c npx -a -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.

  • 18 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.

  • 16 Sept 26 −2
    • Stability: pass → 0.80 functional
  • 15 Sept 26 0
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1

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

  • 11 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.

  • 9 Sept 26 −2
    • Stability: pass → 0.80 functional
  • 8 Sept 26 0
    • Stability: 0.97 → pass security
  • 7 Sept 26 +1

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

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 20 Sept 2026 · Analysed npm/@index365/mcp@1.0.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 96 packages
Packages resolved 96
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

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. 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
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.

Common questions

What is the index365 MCP server?

index365 MCP is listed in the public MCP registry as io.github.index365usa/index365. Start index365 scans and read prioritized findings your coding agent can use. This page covers its npm package (@index365/mcp).

Is the index365 MCP server safe to use?

index365 MCP scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. 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 index365 MCP server expose?

index365 MCP exposes 11 tools: index365_list_projects, index365_create_project, index365_archive_project, index365_restore_project, index365_start_scan, and 6 more. Their descriptions and schemas cost roughly 2,051 tokens of context every time the server is loaded.

Is the index365 MCP server still maintained?

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

What licence is the index365 MCP server under?

index365 MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.