{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:39:53.545Z","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp","markdownUrl":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp.md","server":{"slug":"nmarijane-lightspot-mcp","name":"LightSpot","registryName":"io.github.nmarijane/lightspot-mcp","description":"Audit a website for SEO and AI search visibility (ChatGPT, Perplexity, Gemini) and read the fixes.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"lightspot-mcp","type":"npm","identifier":"@lightspot/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp","version":"0.6.0","transport":"stdio","scoredAt":"2026-11-05T03:52:28.882Z"},"score":{"total":84,"tier":"high trust","status":"scored","weekDelta":1,"history":[{"date":"2026-11-05","total":84},{"date":"2026-11-04","total":84},{"date":"2026-11-03","total":84},{"date":"2026-11-02","total":84},{"date":"2026-11-01","total":84},{"date":"2026-10-31","total":84},{"date":"2026-10-30","total":83},{"date":"2026-10-29","total":83},{"date":"2026-10-28","total":82},{"date":"2026-10-27","total":82},{"date":"2026-10-26","total":81},{"date":"2026-10-25","total":81},{"date":"2026-10-24","total":80},{"date":"2026-10-23","total":80},{"date":"2026-10-22","total":79},{"date":"2026-10-21","total":79},{"date":"2026-10-20","total":78},{"date":"2026-10-19","total":78},{"date":"2026-10-18","total":78},{"date":"2026-10-17","total":77},{"date":"2026-10-16","total":77},{"date":"2026-10-15","total":76},{"date":"2026-10-14","total":76},{"date":"2026-10-13","total":75},{"date":"2026-10-12","total":75},{"date":"2026-10-11","total":74},{"date":"2026-10-04","total":71},{"date":"2026-10-03","total":56},{"date":"2026-10-02","total":55}]},"categories":[{"name":"Supply Chain Security","score":98,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","30 of 92 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"92","unhealthy":"30"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 31 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"31"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":76,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 937 tokens (~85/item across 11 items; 11 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"85","items":"11","tools":"11","tokens":"937","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"11"}},{"code":"toolsafety.manipulation_clean","args":{"units":"11","judged":"11"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"lightspot-mcp","type":"npm","identifier":"@lightspot/mcp","withdrawn":false,"score":84,"current":true,"url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp","markdownUrl":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@lightspot/mcp"},{"label":"Version","value":"0.6.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"audit_and_wait","title":"Audit a URL and wait for the result","description":"Runs a LightSpot SEO and AI-visibility audit on a URL, waits for it to finish, and returns a summary (score, top actions, main issues). Ideal for \"audit this site and tell me what to fix\". Can take 1 to 3 minutes; past the time limit, it returns the id so you can follow up with get_audit_status / get_audit.","inputs":[{"name":"maxPages","type":"integer","required":false,"description":"Number of pages to crawl (capped by your plan)."},{"name":"url","type":"string","required":true,"description":"URL to audit (home page or a specific page)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":124},{"name":"run_audit","title":"Start an audit (non-blocking)","description":"Starts an SEO and AI-visibility audit on a URL without waiting. Returns the id and status. Use get_audit_status to follow progress and get_audit for the results.","inputs":[{"name":"maxPages","type":"integer","required":false,"description":"Number of pages to crawl."},{"name":"siteId","type":"string","required":false,"description":"Attach the audit to an existing site (optional)."},{"name":"url","type":"string","required":true,"description":"URL to audit."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":85},{"name":"get_audit_status","title":"Get audit status","description":"Lightweight status of an audit (PENDING/RUNNING/DONE/FAILED) with a progress value from 0 to 1.","inputs":[{"name":"id","type":"string","required":true,"description":"Audit identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"get_audit","title":"Get audit results","description":"Fetches the results of an audit: a summary by default (score, top actions, main issues), or the full payload with full=true (all pages and all issues).","inputs":[{"name":"full","type":"boolean","required":false,"description":"true for the full payload, otherwise a summary."},{"name":"id","type":"string","required":true,"description":"Audit identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":69},{"name":"list_sites","title":"List your sites","description":"Paginated list of your LightSpot team's sites (with their latest score).","inputs":[{"name":"limit","type":"integer","required":false,"description":"Page size (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Pagination offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":45},{"name":"get_site","title":"Get a site","description":"A site's metadata and its recent audits.","inputs":[{"name":"id","type":"string","required":true,"description":"Site identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":25},{"name":"list_site_audits","title":"List a site's audit history","description":"Paginated audit history of a site.","inputs":[{"name":"id","type":"string","required":true,"description":"Site identifier."},{"name":"limit","type":"integer","required":false,"description":"Page size (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Pagination offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"get_competitors","title":"Get a site's competitor analysis","description":"Fetches a site's latest existing competitor analysis (detected competitors, tiers, citations, recommendations). Requires the Zenith plan. Does NOT trigger a new analysis — if none has been started from the app yet, returns status: \"NONE\".","inputs":[{"name":"siteId","type":"string","required":true,"description":"Site identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"get_expert_report","title":"Get a site's expert report","description":"Fetches the latest report from our 8 experts (technical SEO, editorial quality, AI visibility, structured data, sitemaps, performance, visual analysis, brand authority) produced after a site audit: prioritized findings, recommended actions with their steps, limitations and ready-to-apply artifacts (JSON-LD, sitemap…). Summary by default (findings + actions); full=true adds the rationale of the actions, the limitations, the artifacts and the evidence; expert=… limits the read to a single expert (useful with full=true to read one whole chapter without loading everything). auditId targets the analysis of a specific audit, otherwise the site's most recent one. Does NOT trigger an analysis — if none exists, returns status: \"NONE\"; PENDING/RUNNING = try again later.","inputs":[{"name":"auditId","type":"string","required":false,"description":"Identifier of a specific audit (otherwise the site's latest analysis)."},{"name":"expert","type":"string","required":false,"description":"Return only this expert's chapter."},{"name":"full","type":"boolean","required":false,"description":"true for the full report (rationale, limitations, artifacts, evidence), otherwise a summary."},{"name":"siteId","type":"string","required":true,"description":"LightSpot site identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":238},{"name":"get_editorial_calendar","title":"Read a site's editorial calendar","description":"Reads a site's LightSpot editorial calendar over a period: imported slots, content being prepared, scheduled or published, and upcoming autopilot runs.","inputs":[{"name":"from","type":"string","required":true,"description":"Inclusive start of the period, ISO 8601 with time zone."},{"name":"siteId","type":"string","required":true,"description":"LightSpot site identifier."},{"name":"to","type":"string","required":true,"description":"Exclusive end of the period, ISO 8601 with time zone (366 days maximum)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"create_editorial_calendar","title":"Create or update an editorial calendar","description":"Imports up to 50 dated editorial slots into a LightSpot site's calendar. The import is idempotent: externalId lets you update a slot without creating a duplicate. This action only creates the schedule; it does not generate, schedule or publish any content and consumes no AI credit.","inputs":[{"name":"items","type":"array","required":true,"description":"Slots to show in the LightSpot calendar."},{"name":"siteId","type":"string","required":true,"description":"LightSpot site identifier."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:52:28.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":null,"reasonLabel":null,"discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":92,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-02","recent":[{"id":"chg_01a19532-361f-7b19-bc25-ea974ae1a5a1","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a19532-361f-7b19-bc25-ea974ae1a5a1"},{"id":"chg_01a1900b-2ac6-7520-ab5b-691de4529767","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a1900b-2ac6-7520-ab5b-691de4529767"},{"id":"chg_01a185be-c276-743e-b6c4-f29aa15b4359","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a185be-c276-743e-b6c4-f29aa15b4359"},{"id":"chg_01a17b6f-1f0d-7ef1-90df-cd75d2c2ad73","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a17b6f-1f0d-7ef1-90df-cd75d2c2ad73"},{"id":"chg_01a17122-7f62-7d23-9b46-e13333b55f70","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a17122-7f62-7d23-9b46-e13333b55f70"},{"id":"chg_01a166d3-3b01-782b-9f39-7fa18abbcf36","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a166d3-3b01-782b-9f39-7fa18abbcf36"},{"id":"chg_01a15c87-8086-7178-a7b9-73a452da7649","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a15c87-8086-7178-a7b9-73a452da7649"},{"id":"chg_01a14d18-0a96-76b9-94ee-2e551aef4b11","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a14d18-0a96-76b9-94ee-2e551aef4b11"},{"id":"chg_01a142d3-4237-7f21-b460-aec943f59a74","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a142d3-4237-7f21-b460-aec943f59a74"},{"id":"chg_01a13887-e13d-7850-8ee5-ccf72bebed21","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a13887-e13d-7850-8ee5-ccf72bebed21"},{"id":"chg_01a13350-106f-74fa-bcc0-43dcc0ecd749","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a13350-106f-74fa-bcc0-43dcc0ecd749"},{"id":"chg_01a12f2a-9053-79f5-8f62-9586a2c7c253","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a12f2a-9053-79f5-8f62-9586a2c7c253"},{"id":"chg_01a12d23-14a2-7033-aa9d-a4ce6d173004","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a12d23-14a2-7033-aa9d-a4ce6d173004"},{"id":"chg_01a12d23-14a3-70ff-bf62-e70ab9ccec8f","kind":"score.total_changed","summary":"Trust score (71 → 74)","materiality":"functional","direction":"improvement","scoreDelta":3,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a12d23-14a3-70ff-bf62-e70ab9ccec8f"},{"id":"chg_01a10913-bb00-71bc-a6cc-aa7c37d725d4","kind":"check.measure","summary":"Schema quality (96 → 85)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a10913-bb00-71bc-a6cc-aa7c37d725d4"},{"id":"chg_01a10913-bb01-7bf5-8645-5ab40dfb3d00","kind":"score.total_changed","summary":"Trust score (38 → 71)","materiality":"functional","direction":"improvement","scoreDelta":33,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a10913-bb01-7bf5-8645-5ab40dfb3d00"},{"id":"chg_01a108b9-2f58-7eae-ba05-76d01e813db4","kind":"check.unverifiable","summary":"Stability (0.03 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a108b9-2f58-7eae-ba05-76d01e813db4"},{"id":"chg_01a108b9-3017-74f1-8f53-631419b84ca3","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a108b9-3017-74f1-8f53-631419b84ca3"},{"id":"chg_01a108b9-3022-7969-a8d4-af99f4a12611","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a108b9-3022-7969-a8d4-af99f4a12611"},{"id":"chg_01a108b9-3025-7f38-9f19-4247fd236f50","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp#chg-chg_01a108b9-3025-7f38-9f19-4247fd236f50"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp","markdown":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp.md","changelogJson":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/nmarijane-lightspot-mcp/lightspot-mcp.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@lightspot/mcp"},{"label":"Socket report","href":"https://socket.dev/npm/package/@lightspot/mcp"},{"label":"Repository","href":"https://github.com/nmarijane/lightspot-mcp"},{"label":"Website","href":"https://lightspot.ai/"}]}}