{"$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:24:49.945Z","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp","markdownUrl":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp.md","server":{"slug":"reksely-korpi-api-mcp","name":"Korpi API","registryName":"io.github.Reksely/korpi-api-mcp","description":"MCP server for the Korpi API: every top AI video, image and text model behind one key and one bill.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"korpiai-api-mcp","type":"npm","identifier":"@korpiai/api-mcp","withdrawn":false,"url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp","version":"0.1.0","transport":"stdio","scoredAt":"2026-11-05T07:13:33.606Z"},"score":{"total":71,"tier":"medium","status":"scored","weekDelta":4,"history":[{"date":"2026-11-05","total":71},{"date":"2026-11-04","total":70},{"date":"2026-11-03","total":70},{"date":"2026-11-02","total":69},{"date":"2026-11-01","total":69},{"date":"2026-10-31","total":68},{"date":"2026-10-30","total":68},{"date":"2026-10-29","total":67},{"date":"2026-10-28","total":67},{"date":"2026-10-27","total":66},{"date":"2026-10-26","total":66},{"date":"2026-10-25","total":65},{"date":"2026-10-24","total":65},{"date":"2026-10-23","total":61},{"date":"2026-10-22","total":61},{"date":"2026-10-21","total":61},{"date":"2026-10-20","total":61},{"date":"2026-10-19","total":61},{"date":"2026-10-18","total":61},{"date":"2026-10-17","total":61},{"date":"2026-10-16","total":61}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","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.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":6,"verdict":"fail","reasons":["Repository check failed: no source repository is declared.","Provenance check failed: no build-provenance attestation is published.","License check failed: no license is declared.","Actively maintained (last published 20 days ago).","Security-disclosure policy not yet verified: we couldn't inspect the source repository."],"codes":[{"code":"provenance.repo_none","args":{}},{"code":"provenance.none","args":{}},{"code":"license.absent","args":{}},{"code":"maintenance.recent","args":{"age_days":"20"}},{"code":"disclosure.repo_inconclusive","args":{"reason":"no_repo_declared"}}]},{"name":"Schema Quality & AI Usability","score":70,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 509 tokens (~101/item across 5 items; 5 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":"101","items":"5","tools":"5","tokens":"509","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":67,"verdict":"partial","reasons":["Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"20"}}]},{"name":"Tool Coverage","score":92,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","76% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"76"}}]},{"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 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 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":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"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":["Security-disclosure policy not yet verified: we couldn't inspect the source repository."],"malware":[],"components":[{"slug":"korpiai-api-mcp","type":"npm","identifier":"@korpiai/api-mcp","withdrawn":false,"score":71,"current":true,"url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp","markdownUrl":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@korpiai/api-mcp"},{"label":"Version","value":"0.1.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_models","title":"List Korpi models","description":"List the Korpi API models with their ids, type (video, image or text), options and current per-use price in USD. Free; no key needed.","inputs":[{"name":"type","type":"string","required":false,"description":"Only return models of this type."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":54},{"name":"generate_video","title":"Generate a video","description":"Start a paid video generation (charged per second from the API balance; see list_models). Returns a job id. Poll get_job_status until status is completed or failed. Do not resubmit after a timeout: the first job may already be running.","inputs":[{"name":"aspect_ratio","type":"string","required":false,"description":null},{"name":"duration","type":"integer","required":false,"description":"Length in seconds."},{"name":"image_url","type":"string","required":false,"description":"Optional https URL of a start image."},{"name":"model","type":"string","required":false,"description":"Video model id from list_models."},{"name":"prompt","type":"string","required":true,"description":"What happens in the video."},{"name":"wait_seconds","type":"integer","required":false,"description":"Wait up to this many seconds for the video to finish before returning."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":137},{"name":"generate_image","title":"Generate an image","description":"Generate a paid image (charged per image from the API balance; see list_models). Returns the image URL when done.","inputs":[{"name":"aspect_ratio","type":"string","required":false,"description":null},{"name":"image_urls","type":"array","required":false,"description":"Optional https reference images."},{"name":"model","type":"string","required":false,"description":"Image model id from list_models."},{"name":"prompt","type":"string","required":true,"description":"What the image shows."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":76},{"name":"generate_text","title":"Generate text","description":"Run a paid chat completion (charged per request from the API balance; see list_models). Pass a prompt, or a full messages array.","inputs":[{"name":"max_tokens","type":"integer","required":false,"description":null},{"name":"messages","type":"array","required":false,"description":null},{"name":"model","type":"string","required":false,"description":"Text model id from list_models."},{"name":"prompt","type":"string","required":false,"description":"User message. Ignored when messages is set."},{"name":"system","type":"string","required":false,"description":"Optional system message used with prompt."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"get_job_status","title":"Check a video job","description":"Check a video job started with generate_video. Returns status (queued, in_progress, completed or failed) and the video URL once completed. Free.","inputs":[{"name":"id","type":"string","required":true,"description":"Job id returned by generate_video."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":52}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T07:13:33.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":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-16","recent":[{"id":"chg_01a1aa8e-47bc-76c8-bf81-dcb870f9664c","kind":"score.total_changed","summary":"Trust score (70 → 71)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a1aa8e-47bc-76c8-bf81-dcb870f9664c"},{"id":"chg_01a1a042-0136-7079-9b28-3994f994ab25","kind":"score.total_changed","summary":"Trust score (69 → 70)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a1a042-0136-7079-9b28-3994f994ab25"},{"id":"chg_01a195f5-2bf0-7117-b97a-b02709f0346f","kind":"score.total_changed","summary":"Trust score (68 → 69)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a195f5-2bf0-7117-b97a-b02709f0346f"},{"id":"chg_01a18ba9-3c66-7c3c-9119-09e3982e6d5a","kind":"score.total_changed","summary":"Trust score (67 → 68)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a18ba9-3c66-7c3c-9119-09e3982e6d5a"},{"id":"chg_01a1815b-9c76-7a0d-bd2b-750e2e321b68","kind":"score.total_changed","summary":"Trust score (66 → 67)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a1815b-9c76-7a0d-bd2b-750e2e321b68"},{"id":"chg_01a1770b-627b-74bd-8125-fa3677277053","kind":"score.total_changed","summary":"Trust score (65 → 66)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a1770b-627b-74bd-8125-fa3677277053"},{"id":"chg_01a16cbd-e9ad-721b-8ce4-4c36f9e300cc","kind":"check.reverified","summary":"Stability (unverified → 0.27)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a16cbd-e9ad-721b-8ce4-4c36f9e300cc"},{"id":"chg_01a16cbd-e9b3-7b44-8be4-a1b081168950","kind":"score.total_changed","summary":"Trust score (61 → 65)","materiality":"functional","direction":"improvement","scoreDelta":4,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a16cbd-e9b3-7b44-8be4-a1b081168950"},{"id":"chg_01a14311-a812-7d92-95e2-1753e9e99c47","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a14311-a812-7d92-95e2-1753e9e99c47"},{"id":"chg_01a142e1-f8a2-785f-9368-34d04e051a14","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp#chg-chg_01a142e1-f8a2-785f-9368-34d04e051a14"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp","markdown":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp.md","changelogJson":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/reksely-korpi-api-mcp/korpiai-api-mcp.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@korpiai/api-mcp"},{"label":"Socket report","href":"https://socket.dev/npm/package/@korpiai/api-mcp"},{"label":"Website","href":"https://korpi.ai/api-site/mcp"}]}}