Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Versions published
- 45Established · −30% score
- First published
- Oct 2025
- Publisher
- mcpjam-founders
Effective trust discount applied: −30% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Looks clean — keep monitoringNo high-signal indicators in the stored static report. PkgRadar will re-check on the next ingest pass.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["@mcpjam/[email protected]"],"fail_on":"review"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["@mcpjam/[email protected]"],"fail_on":"review"}'Why flagged
What the scanner saw
Obfuscation Density: high encoded/escaped-token density
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk low · score 0 · status changed
Evidence
Static findings
1 static · 0 from release diff · showing high-signal first.
No high-signal findings — see all findings below.
Show all 1 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| low | Obfuscation Density | package/dist/skill-reference.js | high encoded/escaped-token density | 0 |
Manifest
Package metadata
Scripts17
buildnpm run bundle:runtimes && tsupbundle:chatgpt-runtimenode scripts/bundle-chatgpt-apps-runtime.mjsbundle:mcp-apps-runtimenode scripts/bundle-mcp-apps-openai-compatible-runtime.mjsbundle:runtimesnpm run bundle:chatgpt-runtime && npm run bundle:mcp-apps-runtimedevtsup --watchformatprettier --write "src/**/*.ts" "tests/**/*.ts"format:checkprettier --check "src/**/*.ts" "tests/**/*.ts"linteslint src testslint:fixeslint src tests --fixprepublishOnlynpm run buildprettier-fixprettier --write "src/**/*.ts" "tests/**/*.ts"sentry:sourcemapssentry-cli sourcemaps inject ./dist && sentry-cli sourcemaps upload --release=@mcpjam/sdk@$(node -p "require('./package.json').version") --org=mcpjam-gh --project=mcpjam-sdk ./disttestvitest runtest:coveragevitest run --coveragetest:packagingnpm run build && node --input-type=module -e "await import('@mcpjam/sdk'); await import('@mcpjam/sdk/browser'); await import('@mcpjam/sdk/worker'); await import('@mcpjam/sdk/operations'); await import('@mcpjam/sdk/skill-reference'); await import('@mcpjam/sdk/model-factory'); await import('@mcpjam/sdk/matchers'); await import('@mcpjam/sdk/predicates'); await import('@mcpjam/sdk/host-config'); const m = await import('@mcpjam/sdk/host-config/internal'); for (const n of ['canonicalizeHostConfigV2','computeHostConfigHashV2','isAppOnlyTool','filterAppOnlyTools','applyVisibilityPolicyAndCountSignals','extractHostExecutionPolicy','buildHostIterationMetadata','resolveOpenAiCompatForHostConfig','readOpenAiCompatOverride','compatPresetForHostStyle','normalizeSdkEvalHostConfigForWire']) { if (typeof m[n] !== 'function') { throw new Error('missing export: ' + n); } }"test:watchvitesttypechecktsc --noEmit
Dependencies14
@ai-sdk/anthropic^2.0.17@ai-sdk/azure^2.0.79@ai-sdk/deepseek^1.0.5@ai-sdk/google^2.0.11@ai-sdk/mistral^2.0.19@ai-sdk/openai^2.0.32@ai-sdk/xai^2.0.29@cfworker/json-schema^4.1.1@modelcontextprotocol/client^2.0.0-alpha.2@openrouter/ai-sdk-provider^2.2.0ai^6.0.141ollama-ai-provider-v2^1.5.2posthog-node^5.24.10zod^4.1.12