{ "name": "crypto-quant-signal-mcp", "version": "1.30.0", "repository": { "type": "git", "url": "git+https://github.com/AlgoVaultLabs/crypto-quant-signal-mcp.git" }, "homepage": "https://algovault.com", "bugs": { "url": "https://github.com/AlgoVaultLabs/crypto-quant-signal-mcp/issues" }, "mcpName": "io.github.AlgoVaultFi/crypto-quant-signal-mcp", "description": "The Brain Layer for AI Trading Agents — one MCP call returns a composite trade verdict (direction, confidence, regime) across major crypto perp venues. On-chain Merkle-verified track record.", "main": "dist/index.js", "module": "src/index.ts", "bin": { "crypto-quant-signal-mcp": "dist/index.js" }, "scripts": { "build": "tsc", "build:knowledge": "node scripts/build-knowledge-json.mjs", "start": "node dist/index.js", "start:stdio": "TRANSPORT=stdio node dist/index.js", "dev": "tsx src/index.ts", "test": "vitest run", "test:watch": "vitest", "validate-spec": "vitest run tests/interop-spec-v1.test.ts", "seed": "tsx src/scripts/seed-signals.ts", "backfill": "tsx src/scripts/backfill-outcomes.ts", "backfill:signup-class": "tsx src/scripts/backfill-signup-attribution-class.ts", "cron:signals": "tsx src/scripts/seed-signals.ts && tsx src/scripts/backfill-outcomes.ts", "cron:prod": "node dist/scripts/seed-signals.js && node dist/scripts/backfill-outcomes.js", "backtest": "npx tsx scripts/backtest.ts", "edge:audit:crypto": "node dist/scripts/calibration-audit.js --asset crypto", "edge:audit:crypto:edge": "node dist/scripts/calibration-audit.js --asset crypto --edge", "replay:r1": "npx tsx src/scripts/verdict-mix-r1-point.ts", "replay:mix": "npx tsx src/scripts/verdict-mix-report.ts", "build:landing": "tsc && node scripts/build_docs.mjs && node scripts/build_landing.mjs", "snapshot:capabilities": "tsc && node scripts/snapshot_capabilities.mjs", "snapshot:capabilities:live": "tsc && node scripts/snapshot_capabilities.mjs --live", "snapshot:capabilities:check": "tsc && node scripts/snapshot_capabilities.mjs --check", "registry:drift:check": "tsc && node scripts/check-feature-registry-drift.mjs --check", "integrations:lockstep:check": "node scripts/check-integrations-registry-lockstep.mjs --check", "partner:install:check": "node scripts/check-partner-install-coords.mjs --check", "comment:hygiene:check": "node scripts/check-rendered-comment-hygiene.mjs --check", "comment:hygiene:selftest": "node scripts/check-rendered-comment-hygiene.mjs --self-test", "partner:install:selftest": "node scripts/check-partner-install-coords.mjs --self-test", "assets:version": "node scripts/build_asset_versions.mjs", "assets:version:check": "node scripts/build_asset_versions.mjs --check", "registry:drift:live": "node scripts/check-feature-registry-drift.mjs --live https://api.algovault.com", "rank:parity:check": "tsc && node scripts/check-rank-metrics-parity.mjs --check", "rank:parity:live": "node scripts/check-rank-metrics-parity.mjs --live", "scan:digest:parity:check": "tsc && node scripts/check-scan-digest-parity.mjs --check", "quota:surface:check": "tsc && node scripts/check-quota-surface-conformance.mjs", "quota:surface:selftest": "node scripts/check-quota-surface-conformance.mjs --self-test", "release:divergence": "node scripts/check-shipped-set-divergence.mjs", "release:divergence:selftest": "node scripts/check-shipped-set-divergence.mjs --self-test", "declaration:coverage:check": "node scripts/check-declaration-coverage.mjs", "declaration:coverage:selftest": "node scripts/check-declaration-coverage.mjs --self-test", "boot:contract:check": "node scripts/check-boot-contract-parity.mjs --check", "boot:contract:write": "node scripts/check-boot-contract-parity.mjs --write", "boot:contract:selftest": "node scripts/check-boot-contract-parity.mjs --self-test", "alert:copy:check": "node scripts/check-alert-copy-claims.mjs", "alert:copy:selftest": "node scripts/check-alert-copy-claims.mjs --self-test", "scan:digest:parity:live": "node scripts/check-scan-digest-parity.mjs --live", "entitlement:channels:check": "node scripts/check-entitlement-channel-drift.mjs", "idempotency:helper:check": "node scripts/check-idempotency-helper.mjs", "credential:outcome:check": "node scripts/check-credential-outcome-conformance.mjs", "credential:outcome:selftest": "node scripts/check-credential-outcome-conformance.mjs --self-test", "docs:samples:live": "node scripts/check-docs-samples-live.mjs", "docs:samples:selftest": "node scripts/check-docs-samples-live.mjs --self-test", "test:budget:check": "node scripts/check-test-budget.mjs", "suite:classify": "node scripts/classify-suite-verdict.mjs", "map:shape:check": "bash scripts/check_map_shape.sh --system-map", "map:shape:selftest": "bash scripts/check_map_shape.sh --self-test", "map:edges:check": "node scripts/check-map-edges.mjs", "map:edges:selftest": "node scripts/check-map-edges.mjs --self-test", "map:edges:sync": "node scripts/check-map-edges.mjs --sync", "check:kb-reachability": "node scripts/check-kb-reachability.mjs --offline", "check:kb-reachability:live": "node scripts/check-kb-reachability.mjs --live", "readme:links:check": "node scripts/check-readme-links.mjs", "readme:links:selftest": "node scripts/check-readme-links.mjs --self-test", "readme:snapshot:check": "node scripts/check-readme-snapshot-freshness.mjs --check", "readme:snapshot:selftest": "node scripts/check-readme-snapshot-freshness.mjs --self-test", "smithery:sync:selftest": "node scripts/check-smithery-sync.mjs --self-test", "plugin:manifests": "node scripts/check-plugin-manifests.mjs", "plugin:manifests:selftest": "node scripts/check-plugin-manifests.mjs --self-test", "cursor:manifest:sync": "node scripts/check-plugin-manifests.mjs --sync", "prepublishOnly": "npm run build && node scripts/snapshot_capabilities.mjs --check && node scripts/check-source-greppable.mjs --check && node scripts/check-monitoring-schedules.mjs && node scripts/check-declaration-coverage.mjs && node scripts/check-audit-cadence-schema.mjs --self-test && node scripts/check-audit-cadence-schema.mjs && node scripts/check-alert-registry.mjs && node scripts/check-boot-contract-parity.mjs --check && node scripts/check-cron-interlock-coverage.mjs && node scripts/check-alert-copy-claims.mjs && node scripts/check-shared-state.mjs --self-test && node scripts/check-feature-registry-drift.mjs --check && node scripts/check-rank-metrics-parity.mjs --check && node scripts/check-scan-digest-parity.mjs --check && node scripts/check-quota-surface-conformance.mjs && node scripts/build_docs.mjs --check && node scripts/build_nav.mjs --check && node scripts/build_analytics.mjs --check && node scripts/build_asset_versions.mjs --check && npm run entitlement:channels:check && npm run idempotency:helper:check && npm run credential:outcome:check && npm run docs:samples:selftest && npm run test:budget:check && npm run readme:links:selftest && npm run readme:snapshot:selftest && npm run readme:snapshot:check && node scripts/check-claim-coverage.mjs && node scripts/check-mcp-client-copy.mjs && node scripts/check-live-numeric-claims.mjs", "check:robots": "node scripts/check-robots-ai-allowlist.mjs", "check:wellknown": "node scripts/generate-wellknown.mjs --check", "report:crawlers": "node scripts/edge-crawler-report.mjs --daily" }, "keywords": [ "mcp", "trading", "crypto", "trade-call", "signals", "hyperliquid", "binance", "bybit", "okx", "bitget", "funding-rate", "quant", "defi", "arbitrage", "technical-analysis", "model-context-protocol", "ai-agent", "x402" ], "author": "AlgoVault Labs", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.96.0", "@buildersgarden/siwa": "^0.0.24", "@circle-fin/x402-batching": "^3.2.0", "@coinbase/cdp-sdk": "1.51.0", "@coinbase/x402": "^2.1.0", "@modelcontextprotocol/sdk": "^1.12.1", "@okxweb3/x402-core": "0.1.0", "@okxweb3/x402-evm": "0.2.1", "@okxweb3/x402-express": "0.1.1", "@slicekit/erc8128": "^0.3.3", "@virtuals-protocol/acp-node-v2": "0.1.7", "@x402/core": "~2.20.0", "@x402/evm": "~2.20.0", "@x402/extensions": "~2.20.0", "ajv": "^8.20.0", "better-sqlite3": "^13.0.2", "binance": "^3.5.4", "bitget-api": "^3.1.6", "bybit-api": "^4.6.1", "express": "^4.21.2", "express-rate-limit": "^8.3.2", "fast-xml-parser": "^5.8.0", "isbot": "^5.1.44", "js-yaml": "^4.1.0", "lru-cache": "^10.4.3", "mailchecker": "6.0.20", "markdown-it": "14.1.1", "okx-api": "^3.1.3", "p-limit": "3.1.0", "pg": "^8.13.3", "redis": "^4.7.1", "resend": "^6.12.2", "stripe": "^22.0.1", "undici": "^6.24.1", "viem": "~2.54.0", "wink-bm25-text-search": "^3.1.2", "zod": "^3.25.76" }, "devDependencies": { "@babel/core": "^7.29.0", "@babel/plugin-transform-modules-commonjs": "^7.28.6", "@babel/preset-react": "^7.28.5", "@nomicfoundation/hardhat-viem": "^3.0.4", "@types/better-sqlite3": "^7.6.13", "@types/express": "^5.0.1", "@types/js-yaml": "^4.0.9", "@types/node": "^22.14.0", "@types/pg": "^8.11.11", "ajv-cli": "^5.0.0", "ajv-formats": "^3.0.1", "hardhat": "^3.3.0", "jsdom": "^25.0.1", "react": "^18.3.1", "react-dom": "^18.3.1", "tsx": "^4.21.0", "typescript": "^5.8.3", "vitest": "^3.1.1" }, "overrides": { "@privy-io/node": "^0.16.0" }, "files": [ "dist", "README.md", "LICENSE", "logo.png", "server.json", "smithery.yaml", "plugin.json", "mcp.json", ".cursor-plugin/plugin.json" ], "engines": { "node": ">=22" } }