{"$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-05T18:19:39.766Z","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm.md","server":{"slug":"pipeworx-io-pjm","name":"Pjm","registryName":"io.github.pipeworx-io/pjm","description":"Real-time electricity market data from PJM Interconnection, the largest US grid operator (13…","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pipeworx-mcp-pjm","type":"npm","identifier":"@pipeworx/mcp-pjm","withdrawn":false,"url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm","version":"0.2.1","transport":"stdio","scoredAt":"2026-11-05T01:31:39.297Z"},"score":{"total":82,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":82},{"date":"2026-11-04","total":56},{"date":"2026-11-03","total":79},{"date":"2026-11-02","total":79},{"date":"2026-11-01","total":79},{"date":"2026-10-31","total":79},{"date":"2026-10-30","total":79},{"date":"2026-10-29","total":79}]},"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":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-pjm).","Clear OSI-approved license (MIT).","Actively maintained (last published 0 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"pipeworx-io/mcp-pjm"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":64,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 875 tokens (~218/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"218","items":"4","tools":"4","tokens":"875","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":23,"verdict":"partial","reasons":["Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"7"}}]},{"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 4 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 5 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":"4"}},{"code":"toolsafety.manipulation_clean","args":{"units":"5","judged":"5"}}]},{"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":"pjm-mcp","type":"remote","identifier":"https://gateway.pipeworx.io/pjm/mcp","withdrawn":false,"score":71,"current":false,"url":"https://verifymcp.io/servers/pipeworx-io-pjm/pjm-mcp","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-pjm/pjm-mcp.md"},{"slug":"pipeworx-mcp-pjm","type":"npm","identifier":"@pipeworx/mcp-pjm","withdrawn":false,"score":82,"current":true,"url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@pipeworx/mcp-pjm"},{"label":"Version","value":"0.2.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"pjm_feeds","title":null,"description":"List the feeds published by PJM Data Miner 2 — the catalog of every market-data dataset PJM exposes (LMPs, load, generation, ancillary services, capacity, transmission). Returns each feed's name and metadata so you can fetch it. Use to discover what PJM data exists before querying it. Requires a PJM API key.","inputs":[{"name":"_apiKey","type":"string","required":false,"description":"PJM Data Miner 2 subscription key. Free after registering at https://apiportal.pjm.com/."},{"name":"feed","type":"string","required":false,"description":"Optional: fetch ANY Data Miner 2 feed by its exact name (e.g. \"da_hrl_lmps\", \"inst_load\", \"ops_sum_prev_period\") instead of listing the catalog. This is the escape hatch for the hundreds of feeds wit…"},{"name":"row_count","type":"number","required":false,"description":"Rows to return (default 50, max 500)."},{"name":"start_row","type":"number","required":false,"description":"1-based row offset for paging (default 1)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":210},{"name":"pjm_lmp_realtime","title":null,"description":"PJM real-time five-minute locational marginal prices (LMP $/MWh) by pricing node, with the total price and its congestion and marginal-loss components. PJM is the largest US grid operator (13 states + DC, ~65M people). Use for \"PJM power price right now\", \"PJM Western Hub price\", \"which PJM nodes are congested\". Requires a PJM API key.","inputs":[{"name":"_apiKey","type":"string","required":false,"description":"PJM Data Miner 2 subscription key. Free at https://apiportal.pjm.com/."},{"name":"datetime_beginning_ept","type":"string","required":false,"description":"Eastern Prevailing Time range filter in Data Miner syntax, e.g. \"9/17/2026 00:00 to 9/17/2026 23:59\". Omit for the most recent intervals."},{"name":"pnode_id","type":"string","required":false,"description":"Filter to one PJM pricing-node id (e.g. 51288 for Western Hub)."},{"name":"pnode_name","type":"string","required":false,"description":"Filter to one pricing-node name (e.g. \"WESTERN HUB\")."},{"name":"row_count","type":"number","required":false,"description":"Rows to return (default 50, max 500)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":250},{"name":"pjm_load_forecast","title":null,"description":"PJM seven-day load forecast — forecast electricity demand in MW by forecast area (each transmission zone plus the RTO total), hour by hour. Use for \"what will PJM demand be tomorrow\", \"PJM peak forecast this week\", capacity and demand-response planning. Requires a PJM API key.","inputs":[{"name":"_apiKey","type":"string","required":false,"description":"PJM Data Miner 2 subscription key. Free at https://apiportal.pjm.com/."},{"name":"forecast_area","type":"string","required":false,"description":"Filter to one forecast area, e.g. \"RTO_COMBINED\", \"PJM RTO\", \"BGE\", \"PEPCO\"."},{"name":"row_count","type":"number","required":false,"description":"Rows to return (default 50, max 500)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":156},{"name":"pjm_generation_fuel_mix","title":null,"description":"PJM generation by fuel type — MW generated and percentage of total from coal, natural gas, nuclear, wind, solar, hydro, oil, storage and other, per published interval. Use for \"what is PJM burning right now\", \"PJM nuclear share\", \"PJM coal vs gas\". Requires a PJM API key.","inputs":[{"name":"_apiKey","type":"string","required":false,"description":"PJM Data Miner 2 subscription key. Free at https://apiportal.pjm.com/."},{"name":"datetime_beginning_ept","type":"string","required":false,"description":"Eastern Prevailing Time range filter, e.g. \"9/17/2026 00:00 to 9/17/2026 23:59\". Omit for the most recent intervals."},{"name":"fuel_type","type":"string","required":false,"description":"Filter to one fuel type, e.g. \"Nuclear\", \"Gas\", \"Coal\", \"Wind\"."},{"name":"row_count","type":"number","required":false,"description":"Rows to return (default 50, max 500)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":207}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T01:31:39.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","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-29","recent":[{"id":"chg_01a1a955-41bf-7504-8730-aecc73d8bc27","kind":"check.reverified","summary":"Known CVEs (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a955-41bf-7504-8730-aecc73d8bc27"},{"id":"chg_01a1a955-41c0-73f1-9414-42f512fbf3d8","kind":"check.reverified","summary":"Dependency health (unverified → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a955-41c0-73f1-9414-42f512fbf3d8"},{"id":"chg_01a1a955-41bd-712c-b4e0-8b8b5fcc303a","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a955-41bd-712c-b4e0-8b8b5fcc303a"},{"id":"chg_01a1a955-41c0-7c7f-8961-6b9799ceb01e","kind":"score.total_changed","summary":"Trust score (56 → 82)","materiality":"functional","direction":"improvement","scoreDelta":26,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a955-41c0-7c7f-8961-6b9799ceb01e"},{"id":"chg_01a1a474-81a6-7b41-9de9-3536d561634a","kind":"score.total_changed","summary":"Trust score (79 → 56)","materiality":"functional","direction":"regression","scoreDelta":-23,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a6-7b41-9de9-3536d561634a"},{"id":"chg_01a1a474-81a4-746b-a0dd-3bd02abea27b","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a4-746b-a0dd-3bd02abea27b"},{"id":"chg_01a1a474-81a6-756a-a7d3-5d4cfbc9f048","kind":"package.version_changed","summary":"Package version (0.2.0 → 0.2.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a6-756a-a7d3-5d4cfbc9f048"},{"id":"chg_01a1a474-81a5-72fa-89fc-26ed977f1d24","kind":"check.unverifiable","summary":"Known CVEs (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a5-72fa-89fc-26ed977f1d24"},{"id":"chg_01a1a474-81a6-7072-be2f-4012ff2941b1","kind":"check.reverified","summary":"Stability (unverified → 0.20)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a6-7072-be2f-4012ff2941b1"},{"id":"chg_01a1a474-81a5-78d4-8b92-b5adcf1473a4","kind":"check.unverifiable","summary":"Dependency health (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1a474-81a5-78d4-8b92-b5adcf1473a4"},{"id":"chg_01a199f2-1599-7228-b365-0f5c2453a249","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a199f2-1599-7228-b365-0f5c2453a249"},{"id":"chg_01a19501-8085-7dbd-9019-7674ea4f4267","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a19501-8085-7dbd-9019-7674ea4f4267"},{"id":"chg_01a18a70-f6fc-71bc-9fd5-bc9c784bd721","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a18a70-f6fc-71bc-9fd5-bc9c784bd721"},{"id":"chg_01a1870b-e9d1-741f-8845-4b095340f266","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm#chg-chg_01a1870b-e9d1-741f-8845-4b095340f266"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm/changelog.json"},"links":{"html":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm","markdown":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm.md","changelogJson":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm/changelog.json","changelogRss":"https://verifymcp.io/servers/pipeworx-io-pjm/pipeworx-mcp-pjm.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@pipeworx/mcp-pjm"},{"label":"Socket report","href":"https://socket.dev/npm/package/@pipeworx/mcp-pjm"},{"label":"Repository","href":"https://github.com/pipeworx-io/mcp-pjm"},{"label":"Website","href":"https://pipeworx.io/packs/pjm"}]}}