US equity risk: decompose any stock into market/sector/subsector/residual bets + ETF hedge ratios.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
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
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
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/.agents/skills/portal-cli-deps/SKILL.md
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/.agents/skills/repo-sync/SKILL.md
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/.agents/skills/riskmodels-smart-subheader/SKILL.md
- agent-rules BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/rules/maintainers-internal-pointer.mdc
- agent-rules BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/rules/repo-sync-enforcer.mdc
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/skills/risk-judgment-shape/SKILL.md
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/.cursor/skills/riskmodels-api-discovery/SKILL.md
- agent-rules BlueWaterCorp-RiskModels_API-9a9c9bb/.cursorrules
- agent-rules BlueWaterCorp-RiskModels_API-9a9c9bb/AGENTS.md
- agent-rules BlueWaterCorp-RiskModels_API-9a9c9bb/CLAUDE.md
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/SKILL.md
- skill BlueWaterCorp-RiskModels_API-9a9c9bb/examples/agents/risk-analyst-agent/SKILL.md
danger signals2
- dynamic code execution new Function() BlueWaterCorp-RiskModels_API-9a9c9bb/scripts/generate-mcp-capabilities.mjs :19
new Function("module", "exports", "require", res.outputFiles[0].text)(mod, mod.exports, require); - suspicious endpoint us.i.posthog.com (telemetry)
expected for this server's purpose
BlueWaterCorp-RiskModels_API-9a9c9bb/lib/posthog-client.ts :3
const POSTHOG_HOST = process.env.NEXT_PUBLIC_POSTHOG_HOST || 'https://us.i.posthog.com';
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