github re-analysis due

BlueWaterCorp/RiskModels_API

github

US equity risk: decompose any stock into market/sector/subsector/residual bets + ETF hedge ratios.

maintainer
BlueWaterCorp
license
first seen
2026-06-05
last seen
2026-06-05
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 38 tools
transport stdio · streamable-http · http verified reported listed in the official MCP registry counts 38 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • get_fundamentals
  • get_l3_decomposition
  • get_metrics
  • get_portfolio_risk_snapshot
  • post_snapshot
  • riskmodels_analyze_portfolio
  • riskmodels_batch_lstar
  • riskmodels_call_endpoint
  • riskmodels_compare
  • riskmodels_decompose
  • riskmodels_decompose_selection_vs_drift
  • riskmodels_get_benchmark_fit
  • riskmodels_get_capability
  • riskmodels_get_cohorts
  • riskmodels_get_etf
  • riskmodels_get_etf_holdings
  • riskmodels_get_filer_holdings
  • riskmodels_get_filer_snapshot
  • riskmodels_get_fundamentals
  • riskmodels_get_hedge_levels
  • riskmodels_get_lstar
  • riskmodels_get_macro_correlation
  • riskmodels_get_openapi_spec
  • riskmodels_get_rankings
  • riskmodels_get_residual_signal
  • riskmodels_get_return_attribution
  • riskmodels_get_returns
  • riskmodels_get_schema
  • riskmodels_hedge_portfolio
  • riskmodels_hedge_position
  • riskmodels_list_endpoints
  • riskmodels_portfolio_decompose
  • riskmodels_render_artifact
  • riskmodels_screen_rankings
  • riskmodels_search_etfs
  • riskmodels_search_filers
  • riskmodels_search_tickers
  • riskmodels_whitepaper_example
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 9a9c9bb · analyzer v33 · 6d ago

skills & prompt files 12

danger signals2

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 857

filesystem 30

  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/app/.well-known/agent-manifest.json/route.ts :2 import { readFileSync, existsSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/mcp.ts :4 import { existsSync } from "node:fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/portfolio.ts :1 import { readFile } from "node:fs/promises";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/cli-version.ts :1 import { readFileSync } from "node:fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/config.ts :1 import { mkdir, readFile, writeFile, stat } from "node:fs/promises";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/mcp-config-paths.ts :1 import { access } from "node:fs/promises";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/mcp-config-writer.ts :1 import { mkdir, readFile, writeFile, copyFile } from "node:fs/promises";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/api/format-response.ts :9 import * as fs from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/chat/load-analyst-doctrine-append.ts :1 import fs from "fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/lib/dal/benchmark-catalog.ts :18 import { existsSync, readFileSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/dal/etf-catalog.ts :16 import { existsSync, readFileSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/dal/funds-zarr-reader.ts :44 import { readFile } from "node:fs/promises";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :17 import { readFileSync, existsSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :1 import { readFileSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mdx.ts :1 import fs from 'fs';
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/scripts/write-dist-wrappers.mjs :1 import { mkdirSync, writeFileSync } from "fs";
  • fs BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :13 import { readFileSync, existsSync } from "fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/cli-openapi-check.mjs :7 import { readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/generate-mcp-capabilities.mjs :4 import { writeFileSync, readFileSync } from "fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/yaml-to-json.js :2 const fs = require('fs');
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/artifacts/slug-params-parity.test.ts :15 import { readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/funds-f1-tearsheet.test.ts :11 import { readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/funds-snapshot-composer.test.ts :2 import { readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/funds-snapshot-routes.test.ts :2 import { readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/onboarding-upgrade.test.ts :2 import { readFileSync } from "fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/openbb-connect-qa.test.ts :11 import { existsSync, readFileSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/skip-billing-public-guard.test.ts :2 import fs from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/synthetic-entity-local-zarr.test.ts :1 import { existsSync } from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/system-prompt.test.ts :21 import fs from "node:fs";
  • fs (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/v4-skill-inference-leaf.test.ts :10 import { readFileSync } from "fs";

shell / exec 5

  • shell BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/doctor.ts :1 import { spawnSync } from "node:child_process";
  • shell BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/mcp.ts :3 import { spawn } from "node:child_process";
  • shell BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/mcp-config-paths.ts :4 import { spawnSync } from "node:child_process";
  • shell BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/mcp-config-writer.ts :2 import { spawnSync } from "node:child_process";
  • shell (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/security-history-guard.test.ts :2 import { execFileSync } from "node:child_process";

network 28

  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/account/usage/page.tsx :63 const res = await fetch('/api/usage');
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/affiliate/page.tsx :190 const res = await fetch('/api/affiliate/me');
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/api-reference/page.tsx :237 const res = await fetch(`${BASE_URL}/estimate`, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/snapshot/[entity_kind]/[id]/panels/[slug]/route.ts :68 const upstream = await fetch(url, { cache: "no-store" });
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/snapshot/[entity_kind]/route.ts :83 upstream = await fetch(url, { cache: "no-store" });
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/get-key/page.tsx :247 fetch('/api/account'),
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/openbb/_lib/portfolio.ts :51 res = await fetch(`${portalBase()}/api/positions`, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/openbb/_lib/upstream.ts :62 const res = await fetch(url, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/app/openbb/query/route.ts :299 const res = await fetch(`${upstreamBase()}/landing/chat`, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/schema.ts :47 const res = await fetch(url, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/lib/api-client.ts :55 const res = await fetch(url, init);
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/UTMTracker.tsx :57 void fetch('/api/agent-accounts/attribution', {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/chat/ChatBubble.tsx :88 const res = await fetch(endpoint, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/landing/BridgeSection.tsx :43 fetch("/api/landing/concentration")
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/landing/PortfolioConcentration.tsx :117 fetch(ENDPOINT, { method: "GET" })
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/landing/RiskWalkthroughChart.tsx :904 const res = await fetch(
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/components/landing/RiskWalkthroughWithToggle.tsx :21 fetch('/api/landing/mag7-hero', { method: 'GET' })
  • net (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/examples/typescript/hedge_portfolio.ts :66 const resp = await fetch(`${BASE_URL}/batch/analyze`, {
  • net (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/examples/typescript/quickstart.ts :7 * npm install node-fetch (or use native fetch in Node 18+)
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/lib/agent/rate-limiter.ts :44 const response = await fetch(
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/lib/api/webhooks.ts :72 const res = await fetch(sub.url, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/lib/artifacts/render-client.ts :712 res = await fetch(upstream, {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :97 const res = await fetch(url.toString(), {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :145 const res = await fetch(url.toString(), {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/packages/riskmodels-web/src/components/ApiCallTabs.tsx :23 const js = `const r = await fetch("${origin}/api/metrics/${ticker}", {
  • net BlueWaterCorp-RiskModels_API-9a9c9bb/packages/riskmodels-web/src/fetch.ts :19 return fetch(url, { ...rest, headers });
  • net (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/evals/copilot-eval.mjs :84 const res = await fetch(`${BASE}/api/landing/chat`, {
  • net (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/spike-claude-managed-agents.mjs :29 const res = await fetch(`${API}${path}`, {

secrets 47

  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/account/route.ts :36 const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/admin/cache/fundamentals/route.ts :31 const secret = process.env.CRON_SECRET?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/admin/cache/funds/route.ts :28 const secret = process.env.CRON_SECRET?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/auth/provision/route.ts :27 const stripe = process.env.STRIPE_SECRET_KEY
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/cron/notify-expiring-keys/route.ts :19 const secret = process.env.CRON_SECRET?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/internal/google-ads/offline-conversions/route.ts :41 const secret = process.env.GOOGLE_ADS_OFFLINE_UPLOAD_TOKEN?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/landing/chat/route.ts :93 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/rankings/[ticker]/badge/route.ts :60 const secret = process.env.RANKINGS_BADGE_TOKEN;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/stripe/payment-method/route.ts :48 const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/stripe/payment-methods/route.ts :37 const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/stripe/setup-session/route.ts :36 const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/stripe/setup-success/route.ts :56 const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/app/api/stripe/webhook/route.ts :22 const secret = process.env.STRIPE_WEBHOOK_SECRET;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/doctor.ts :38 ok: !!cfg?.apiKey || !!process.env.RISKMODELS_API_KEY,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/cli/src/commands/install.ts :47 return process.env.RISKMODELS_API_KEY?.trim() || undefined;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/agent/api-keys.ts :120 keyWithoutChecksum + (process.env.API_KEY_SECRET || "default-secret"),
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/agent/billing-middleware.ts :211 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/agent/billing.ts :749 if (!process.env.STRIPE_SECRET_KEY) {
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/agent/idempotency-cache.ts :19 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/artifacts/gcp-id-token.ts :10 process.env.GCS_SERVICE_ACCOUNT_KEY?.trim() ||
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/cache/redis.ts :15 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/chat/agent-runner.ts :288 const moonshotKey = process.env.MOONSHOT_API_KEY?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/chat/anthropic-agent.ts :101 if (!process.env.ANTHROPIC_API_KEY) {
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/chat/llm-backend.ts :43 const moonshotKey = process.env.MOONSHOT_API_KEY?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/data-license.ts :70 const key = process.env.RISKMODELS_API_SERVICE_KEY;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/email-service.ts :30 return new Resend(process.env.RESEND_API_KEY || "");
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/env.ts :7 UPSTASH_REDIS_REST_TOKEN: process.env.UPSTASH_REDIS_REST_TOKEN,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/gateway-auth.ts :37 const key = process.env.RISKMODELS_API_SERVICE_KEY;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/plaid/client.ts :9 const secret = process.env.PLAID_SECRET;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/plaid/token-crypto.ts :4 const secret = process.env.PLAID_TOKEN_ENCRYPTION_SECRET;
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/ratelimit/data-gateway-rate-limit.ts :39 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/ratelimit/playground-metrics-rate-limit.ts :15 token: process.env.UPSTASH_REDIS_REST_TOKEN!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/supabase/admin.ts :7 process.env.SUPABASE_SERVICE_ROLE_KEY!,
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/ticker-aliases.ts :112 !process.env.SUPABASE_SERVICE_ROLE_KEY
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/upstash-redis-config.ts :8 const rawToken = process.env.UPSTASH_REDIS_REST_TOKEN?.trim();
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/lib/user-api-keys.ts :23 .update(keyWithoutChecksum + (process.env.API_KEY_SECRET || 'default-secret'))
  • secrets BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :62 apiKey: opts.apiKey ?? process.env.RISKMODELS_API_KEY ?? null,
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/evals/copilot-eval.mjs :133 const key = process.env.RISKMODELS_API_KEY;
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/generate-ci-test-key.mjs :22 const API_KEY_SECRET = process.env.API_KEY_SECRET ?? 'default-secret';
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/spike-claude-managed-agents.mjs :15 const key = process.env.ANTHROPIC_API_KEY;
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/admin-cache-fundamentals-route.test.ts :23 process.env.CRON_SECRET = "test-secret";
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/admin-cache-purge-route.test.ts :23 process.env.CRON_SECRET = "test-secret";
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/api-key-checksum.test.ts :10 keyWithoutChecksum + (process.env.API_KEY_SECRET || "default-secret");
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/data-gateway-rate-limit.test.ts :31 const ORIG_KEY = process.env.RISKMODELS_API_SERVICE_KEY;
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/data-license.test.ts :95 const ORIG = process.env.RISKMODELS_API_SERVICE_KEY;
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/funds-data-routes.test.ts :82 delete process.env.RISKMODELS_API_SERVICE_KEY;
  • secrets (weak) BlueWaterCorp-RiskModels_API-9a9c9bb/tests/risk-engine-share-class-resolution.test.ts :128 process.env.SUPABASE_SERVICE_ROLE_KEY = "stub-key";

tool registrations 44

  • riskmodels_render_artifact BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/render-tool.ts :28
  • riskmodels_list_endpoints BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :320
  • riskmodels_get_capability BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :343
  • riskmodels_get_schema BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :366
  • get_l3_decomposition BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :390
  • get_metrics BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :417
  • get_portfolio_risk_snapshot BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/server.ts :440
  • riskmodels_decompose BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :179
  • riskmodels_get_returns BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :199
  • riskmodels_get_return_attribution BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :226
  • riskmodels_get_lstar BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :268
  • riskmodels_batch_lstar BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :313
  • riskmodels_get_hedge_levels BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :356
  • riskmodels_compare BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :376
  • riskmodels_hedge_position BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :396
  • riskmodels_analyze_portfolio BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :417
  • riskmodels_hedge_portfolio BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :448
  • riskmodels_portfolio_decompose BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :488
  • riskmodels_whitepaper_example BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :518
  • riskmodels_search_tickers BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :542
  • riskmodels_search_filers BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :568
  • riskmodels_search_etfs BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :591
  • riskmodels_get_rankings BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :617
  • riskmodels_get_cohorts BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :646
  • riskmodels_decompose_selection_vs_drift BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :696
  • riskmodels_get_fundamentals BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :747
  • riskmodels_screen_rankings BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :792
  • riskmodels_get_macro_correlation BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :825
  • riskmodels_get_residual_signal BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :854
  • riskmodels_get_filer_snapshot BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :889
  • riskmodels_get_filer_holdings BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :911
  • riskmodels_get_etf BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :938
  • riskmodels_get_etf_holdings BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :960
  • riskmodels_get_benchmark_fit BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :984
  • riskmodels_call_endpoint BlueWaterCorp-RiskModels_API-9a9c9bb/lib/mcp/tools/riskmodels-tools.ts :1030
  • riskmodels_get_openapi_spec BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :377
  • riskmodels_list_endpoints BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :397
  • riskmodels_get_capability BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :420
  • riskmodels_get_schema BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :442
  • get_l3_decomposition BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :465
  • get_metrics BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :506
  • get_fundamentals BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :532
  • get_portfolio_risk_snapshot BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :590
  • post_snapshot BlueWaterCorp-RiskModels_API-9a9c9bb/mcp/src/server.ts :645

install hooks 2

  • prepublishOnly BlueWaterCorp-RiskModels_API-9a9c9bb/cli/package.json :15 npm run build
  • postinstall BlueWaterCorp-RiskModels_API-9a9c9bb/package.json :37 npm run build:sdk && npm run build:web-sdk

declared dependencies 65

  • @modelcontextprotocol/sdk@^1.29.0
  • @anthropic-ai/sdk@^0.95.1
  • @google-cloud/storage@^7.19.0
  • @mdx-js/loader@^3.1.0
  • @mdx-js/react@^3.1.0
  • @next/mdx@^15.1.0
  • @react-email/components@^1.0.12
  • @react-email/render@^1.0.4
  • @riskmodels/sdk@workspace:*
  • @riskmodels/web@workspace:*
  • @supabase/ssr@^0.9.0
  • @supabase/supabase-js@^2.99.2
  • @tailwindcss/typography@^0.5.19
  • @upstash/ratelimit@^2.0.8
  • @upstash/redis@^1.37.0
  • @vercel/og@^0.11.1
  • chalk@^5.4.1
  • class-variance-authority@^0.7.0
  • clsx@^2.1.1
  • commander@^13.1.0
  • exceljs@^4.4.0
  • framer-motion@^11.18.2
  • fuse.js@^7.1.0
  • google-auth-library@^9.15.1
  • gray-matter@^4.0.3
  • inquirer@^9.3.7
  • js-yaml@^4.1.0
  • katex@^0.16.38
  • lucide-react@^0.460.0
  • next@^15.1.0
  • next-mdx-remote@^6.0.0
  • next-themes@^0.4.0
  • openai@^6.33.0
  • ora@^8.1.1
  • parquetjs-lite@^0.8.7
  • pdf-lib@^1.17.1
  • plaid@^41.4.0
  • posthog-js@^1.387.0
  • react@^19.0.0
  • react-dom@^19.0.0
  • react-markdown@^10.1.0
  • recharts@^2.15.4
  • rehype-katex@^7.0.1
  • remark-gfm@^4.0.1
  • remark-math@^6.0.0
  • resend@^4.1.2
  • shiki@^1.22.0
  • stripe@^20.4.1
  • tailwind-merge@^2.5.2
  • tailwindcss-animate@^1.0.7
  • zarrita@^0.6.2
  • zod@^4.3.6
  • @types/inquirer@^9.0.7
  • @types/js-yaml@^4.0.9
  • @types/node@^22.0.0
  • @types/react@^19.0.0
  • @types/react-dom@^19.0.0
  • autoprefixer@^10.4.0
  • eslint@^8.0.0
  • eslint-config-next@^15.1.0
  • playwright-core@^1.59.1
  • postcss@^8.4.0
  • tailwindcss@^3.4.0
  • typescript@^5.6.0
  • vitest@^3.2.4

cursor-plugin 3

  • opaque (low) BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/mcp.json bundled .cursor/ plugin descriptor (BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/mcp.json) — presence-detected; review the descriptor
  • opaque (low) BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/rules/maintainers-internal-pointer.mdc bundled .cursor/ plugin descriptor (BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/rules/maintainers-internal-pointer.mdc) — presence-detected; review the descriptor
  • opaque (low) BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/skills/risk-judgment-shape/SKILL.md bundled .cursor/ plugin descriptor (BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/skills/risk-judgment-shape/SKILL.md) — presence-detected; review the descriptor