deepviews-mcp 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/dist/index.js +1 -1
- package/dist/tools.d.ts +7 -0
- package/dist/tools.js +117 -199
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,10 +52,9 @@ If available in the Claude Code plugin directory:
|
|
|
52
52
|
| Tool | Description | Data Source |
|
|
53
53
|
|------|-------------|-------------|
|
|
54
54
|
| `analyze_company` | Comprehensive financial analysis: valuation ratios, income statement, balance sheet, cash flow, profitability margins | SEC EDGAR + Polygon.io |
|
|
55
|
-
| `calculate_dcf` | DCF
|
|
55
|
+
| `calculate_dcf` | The deepviews.dev DCF (same inputs as the /dcf page): fair value vs price, reverse DCF, sensitivity matrix | SEC EDGAR + Polygon.io + DeepViews |
|
|
56
56
|
| `get_comparables` | Comparable company analysis: target vs 10 closest peers by market cap, 8 metrics each | SEC EDGAR + Polygon.io |
|
|
57
57
|
| `get_industry_benchmarks` | Peer comparison with P25/P50/P75 for P/E, P/B, EV/EBITDA, margins, ROE, D/E across 10 metrics | SEC EDGAR + Polygon.io |
|
|
58
|
-
| `get_analyst_ratings` | Estimated consensus rating, price targets, and rating distribution (DeepViews estimate) | Polygon.io + DeepViews |
|
|
59
58
|
| `screen_stocks` | Filter stocks by sector, industry, P/E, P/B, EV/EBITDA, ROE, D/E, market cap, revenue | SEC EDGAR + Polygon.io |
|
|
60
59
|
| `get_news_sentiment` | 30-day news sentiment score, trend, and article breakdown | Polygon.io News API |
|
|
61
60
|
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
12
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
13
13
|
import { registerTools } from "./tools.js";
|
|
14
14
|
const SERVER_NAME = "deepviews-terminal";
|
|
15
|
-
const SERVER_VERSION = "1.0.
|
|
15
|
+
const SERVER_VERSION = "1.0.3";
|
|
16
16
|
async function main() {
|
|
17
17
|
const server = new Server({
|
|
18
18
|
name: SERVER_NAME,
|
package/dist/tools.d.ts
CHANGED
|
@@ -5,4 +5,11 @@
|
|
|
5
5
|
* Each tool calls the production API and formats the response as readable text.
|
|
6
6
|
*/
|
|
7
7
|
import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
|
+
export declare function handleCalculateDcf(args: {
|
|
9
|
+
ticker: string;
|
|
10
|
+
growth_rate?: number;
|
|
11
|
+
terminal_growth?: number;
|
|
12
|
+
wacc?: number;
|
|
13
|
+
projection_years?: number;
|
|
14
|
+
}): Promise<string>;
|
|
8
15
|
export declare function registerTools(server: Server): void;
|
package/dist/tools.js
CHANGED
|
@@ -102,7 +102,7 @@ const TOOL_DEFINITIONS = [
|
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
name: "calculate_dcf",
|
|
105
|
-
description: "
|
|
105
|
+
description: "Run the DeepViews DCF (same model and default inputs as the deepviews.dev /dcf page): fair value per share versus the previous close, reverse DCF, projected FCFs, and a WACC vs terminal growth sensitivity matrix. Optional arguments override single assumptions.",
|
|
106
106
|
inputSchema: {
|
|
107
107
|
type: "object",
|
|
108
108
|
properties: {
|
|
@@ -112,19 +112,19 @@ const TOOL_DEFINITIONS = [
|
|
|
112
112
|
},
|
|
113
113
|
growth_rate: {
|
|
114
114
|
type: "number",
|
|
115
|
-
description: "Annual FCF growth rate during projection period (decimal, e.g., 0.10 for 10%).
|
|
115
|
+
description: "Annual FCF growth rate during projection period (decimal, e.g., 0.10 for 10%). Default: the DeepViews /dcf page growth estimate.",
|
|
116
116
|
},
|
|
117
117
|
terminal_growth: {
|
|
118
118
|
type: "number",
|
|
119
|
-
description: "Perpetual growth rate after projection period (decimal, e.g., 0.025 for 2.5%). Default:
|
|
119
|
+
description: "Perpetual growth rate after projection period (decimal, e.g., 0.025 for 2.5%). Default: the /dcf page terminal growth.",
|
|
120
120
|
},
|
|
121
121
|
wacc: {
|
|
122
122
|
type: "number",
|
|
123
|
-
description: "Weighted Average Cost of Capital (decimal, e.g., 0.10 for 10%). Default:
|
|
123
|
+
description: "Weighted Average Cost of Capital (decimal, e.g., 0.10 for 10%). Default: WACC from company data with the live risk-free rate.",
|
|
124
124
|
},
|
|
125
125
|
projection_years: {
|
|
126
126
|
type: "number",
|
|
127
|
-
description: "Number of years to project FCF (
|
|
127
|
+
description: "Number of years to project FCF (3-25). Default: the /dcf page projection period.",
|
|
128
128
|
},
|
|
129
129
|
},
|
|
130
130
|
required: ["ticker"],
|
|
@@ -145,8 +145,8 @@ const TOOL_DEFINITIONS = [
|
|
|
145
145
|
},
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
|
-
name: "
|
|
149
|
-
description: "Get
|
|
148
|
+
name: "get_market_signals",
|
|
149
|
+
description: "Get real-time market signals for a stock including technical indicators (RSI, MACD, SMA 50/200), news sentiment analysis, and short interest data. All data sourced from Polygon.io.",
|
|
150
150
|
inputSchema: {
|
|
151
151
|
type: "object",
|
|
152
152
|
properties: {
|
|
@@ -166,7 +166,7 @@ const TOOL_DEFINITIONS = [
|
|
|
166
166
|
properties: {
|
|
167
167
|
sector: {
|
|
168
168
|
type: "string",
|
|
169
|
-
description: '
|
|
169
|
+
description: 'Sector name (e.g., "Technology", "Healthcare", "Financials", "Energy", "Industrials", "Consumer Discretionary", "Consumer Staples", "Communication Services", "Utilities", "Real Estate", "Materials", "Agriculture", "Construction", "Mining")',
|
|
170
170
|
},
|
|
171
171
|
industry: {
|
|
172
172
|
type: "string",
|
|
@@ -340,188 +340,110 @@ async function handleAnalyzeCompany(ticker) {
|
|
|
340
340
|
}
|
|
341
341
|
return lines.join("\n");
|
|
342
342
|
}
|
|
343
|
-
async function handleCalculateDcf(args) {
|
|
343
|
+
export async function handleCalculateDcf(args) {
|
|
344
344
|
const ticker = args.ticker.toUpperCase();
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
345
|
+
const params = new URLSearchParams();
|
|
346
|
+
if (args.growth_rate !== undefined)
|
|
347
|
+
params.set("growth", String(args.growth_rate));
|
|
348
|
+
if (args.terminal_growth !== undefined)
|
|
349
|
+
params.set("terminalGrowth", String(args.terminal_growth));
|
|
350
|
+
if (args.wacc !== undefined)
|
|
351
|
+
params.set("wacc", String(args.wacc));
|
|
352
|
+
if (args.projection_years !== undefined)
|
|
353
|
+
params.set("years", String(args.projection_years));
|
|
354
|
+
const query = params.toString();
|
|
355
|
+
// The site's DCF (same model and default inputs as the /dcf page)
|
|
356
|
+
const data = (await callApi(`/api/dcf/${encodeURIComponent(ticker)}${query ? `?${query}` : ""}`));
|
|
357
|
+
const name = data.companyName || ticker;
|
|
352
358
|
const currentPrice = safeNum(data.currentPrice) ?? 0;
|
|
353
|
-
const
|
|
354
|
-
|
|
355
|
-
const baseFCF = safeNum(latestCF.FreeCashFlow);
|
|
356
|
-
if (!baseFCF || baseFCF <= 0) {
|
|
359
|
+
const header = `=== DCF Valuation: ${name} (${ticker}) ===`;
|
|
360
|
+
if (data.status === "not-applicable") {
|
|
357
361
|
return [
|
|
358
|
-
|
|
362
|
+
header,
|
|
359
363
|
"",
|
|
360
|
-
`
|
|
361
|
-
|
|
364
|
+
`Standard FCF-based DCF is not recommended for this company type (${data.label ?? data.category}).`,
|
|
365
|
+
String(data.reason ?? ""),
|
|
362
366
|
"",
|
|
363
|
-
`
|
|
364
|
-
`Market Cap: ${fmtMoney(marketCap)}`,
|
|
367
|
+
`Previous close: ${fmtPrice(currentPrice)}`,
|
|
365
368
|
].join("\n");
|
|
366
369
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
: safeNum(m.sharesOutstanding) ?? 0;
|
|
375
|
-
if (sharesOutstanding <= 0) {
|
|
376
|
-
return `Unable to perform DCF: cannot determine shares outstanding for ${ticker}.`;
|
|
377
|
-
}
|
|
378
|
-
// Defaults
|
|
379
|
-
const projectionYears = args.projection_years ?? 10;
|
|
380
|
-
const terminalGrowth = args.terminal_growth ?? 0.025;
|
|
381
|
-
// Compute WACC via CAPM if not provided
|
|
382
|
-
let wacc = args.wacc;
|
|
383
|
-
if (wacc === undefined) {
|
|
384
|
-
const beta = safeNum(m.beta) ?? 1.0;
|
|
385
|
-
const riskFreeRate = 0.0425;
|
|
386
|
-
const erp = 0.055;
|
|
387
|
-
const costOfEquity = riskFreeRate + beta * erp;
|
|
388
|
-
const costOfDebt = 0.05 * (1 - 0.21); // 5% pre-tax, 21% tax
|
|
389
|
-
const equityWeight = marketCap > 0 ? marketCap / (marketCap + totalDebt) : 0.8;
|
|
390
|
-
wacc = equityWeight * costOfEquity + (1 - equityWeight) * costOfDebt;
|
|
391
|
-
}
|
|
392
|
-
// Growth rate: use provided or default 8%
|
|
393
|
-
const growthRate = args.growth_rate ?? 0.08;
|
|
394
|
-
// Run DCF calculation inline (mirrors lib/dcf.ts logic)
|
|
395
|
-
function runDCF(base, growth, termGrowth, disc, years, nd, shares) {
|
|
396
|
-
const projections = [];
|
|
397
|
-
let currentFCF = base;
|
|
398
|
-
let totalPV = 0;
|
|
399
|
-
for (let i = 1; i <= years; i++) {
|
|
400
|
-
currentFCF = currentFCF * (1 + growth);
|
|
401
|
-
const df = 1 / Math.pow(1 + disc, i);
|
|
402
|
-
const pv = currentFCF * df;
|
|
403
|
-
projections.push({ year: i, fcf: currentFCF, pv });
|
|
404
|
-
totalPV += pv;
|
|
405
|
-
}
|
|
406
|
-
const finalFCF = projections[projections.length - 1]?.fcf ?? base;
|
|
407
|
-
const tv = disc > termGrowth
|
|
408
|
-
? (finalFCF * (1 + termGrowth)) / (disc - termGrowth)
|
|
409
|
-
: 0;
|
|
410
|
-
const pvTV = tv / Math.pow(1 + disc, years);
|
|
411
|
-
const ev = totalPV + pvTV;
|
|
412
|
-
const eqVal = ev - nd;
|
|
413
|
-
const fv = shares > 0 ? eqVal / shares : 0;
|
|
414
|
-
return {
|
|
415
|
-
projections,
|
|
416
|
-
terminalValue: tv,
|
|
417
|
-
pvTerminal: pvTV,
|
|
418
|
-
enterpriseValue: ev,
|
|
419
|
-
equityValue: eqVal,
|
|
420
|
-
fairValue: fv,
|
|
421
|
-
totalPVofFCFs: totalPV,
|
|
422
|
-
};
|
|
423
|
-
}
|
|
424
|
-
const dcf = runDCF(baseFCF, growthRate, terminalGrowth, wacc, projectionYears, netDebt, sharesOutstanding);
|
|
425
|
-
// Margin of safety
|
|
426
|
-
const mos = dcf.fairValue > 0
|
|
427
|
-
? ((dcf.fairValue - currentPrice) / dcf.fairValue) * 100
|
|
428
|
-
: 0;
|
|
429
|
-
// Reverse DCF (implied growth rate)
|
|
430
|
-
let impliedGrowth = 0;
|
|
431
|
-
let converged = false;
|
|
432
|
-
if (baseFCF > 0 && wacc > terminalGrowth && sharesOutstanding > 0 && currentPrice > 0) {
|
|
433
|
-
let lo = -0.2;
|
|
434
|
-
let hi = 0.6;
|
|
435
|
-
for (let i = 0; i < 100; i++) {
|
|
436
|
-
const mid = (lo + hi) / 2;
|
|
437
|
-
const res = runDCF(baseFCF, mid, terminalGrowth, wacc, projectionYears, netDebt, sharesOutstanding);
|
|
438
|
-
const diff = res.fairValue - currentPrice;
|
|
439
|
-
if (Math.abs(diff) < 0.01) {
|
|
440
|
-
converged = true;
|
|
441
|
-
impliedGrowth = mid;
|
|
442
|
-
break;
|
|
443
|
-
}
|
|
444
|
-
if (diff > 0)
|
|
445
|
-
hi = mid;
|
|
446
|
-
else
|
|
447
|
-
lo = mid;
|
|
448
|
-
impliedGrowth = mid;
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
// Sensitivity matrix (5x5: WACC x Terminal Growth)
|
|
452
|
-
const waccStep = 0.005;
|
|
453
|
-
const growthStep = 0.005;
|
|
454
|
-
const waccValues = [];
|
|
455
|
-
const tgValues = [];
|
|
456
|
-
for (let i = -2; i <= 2; i++) {
|
|
457
|
-
waccValues.push(wacc + i * waccStep);
|
|
458
|
-
tgValues.push(terminalGrowth + i * growthStep);
|
|
459
|
-
}
|
|
460
|
-
const sensitivityRows = [];
|
|
461
|
-
// Header
|
|
462
|
-
const header = " TG \\ WACC " +
|
|
463
|
-
waccValues.map((w) => `${(w * 100).toFixed(1)}%`.padStart(9)).join("");
|
|
464
|
-
sensitivityRows.push(header);
|
|
465
|
-
sensitivityRows.push(" " + "-".repeat(header.length - 2));
|
|
466
|
-
for (const tg of tgValues) {
|
|
467
|
-
const cells = [];
|
|
468
|
-
for (const w of waccValues) {
|
|
469
|
-
if (w <= tg) {
|
|
470
|
-
cells.push("N/A".padStart(9));
|
|
471
|
-
}
|
|
472
|
-
else {
|
|
473
|
-
const res = runDCF(baseFCF, growthRate, tg, w, projectionYears, netDebt, sharesOutstanding);
|
|
474
|
-
cells.push(fmtPrice(res.fairValue).padStart(9));
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
sensitivityRows.push(` ${(tg * 100).toFixed(1)}%`.padEnd(13) + cells.join(""));
|
|
370
|
+
if (data.status === "insufficient-data") {
|
|
371
|
+
const reason = data.reason === "non-positive-fcf"
|
|
372
|
+
? `the free cash flow base is ${fmtMoney(safeNum(data.baseFCF))}; a DCF needs a positive cash flow base`
|
|
373
|
+
: data.reason === "no-shares"
|
|
374
|
+
? "shares outstanding could not be determined"
|
|
375
|
+
: "WACC could not be computed from the available data";
|
|
376
|
+
return [header, "", `Unable to perform DCF analysis: ${reason}.`, "", `Previous close: ${fmtPrice(currentPrice)}`].join("\n");
|
|
478
377
|
}
|
|
479
|
-
|
|
378
|
+
const inputs = data.inputs || {};
|
|
379
|
+
const result = data.result || {};
|
|
380
|
+
const waccDetail = data.waccDetail || null;
|
|
381
|
+
const sensitivity = data.sensitivity || {};
|
|
382
|
+
const reverse = data.reverseDCF || {};
|
|
383
|
+
const fairValue = safeNum(data.fairValue) ?? 0;
|
|
384
|
+
const upsidePct = safeNum(data.upsidePct);
|
|
385
|
+
const rate = (value) => {
|
|
386
|
+
const n = safeNum(value);
|
|
387
|
+
return n === null ? "N/A" : `${(n * 100).toFixed(2)}%`;
|
|
388
|
+
};
|
|
389
|
+
const overridden = inputs.overridden || {};
|
|
390
|
+
const overriddenNames = [
|
|
391
|
+
overridden.growthRate ? "growth" : null,
|
|
392
|
+
overridden.terminalGrowthRate ? "terminal growth" : null,
|
|
393
|
+
overridden.wacc ? "WACC" : null,
|
|
394
|
+
overridden.projectionYears ? "projection years" : null,
|
|
395
|
+
].filter((value) => value !== null);
|
|
480
396
|
const lines = [
|
|
481
|
-
|
|
482
|
-
`Data Source:
|
|
397
|
+
header,
|
|
398
|
+
`Data Source: ${data.source ?? "DeepViews DCF model"}`,
|
|
483
399
|
"",
|
|
484
400
|
"--- Inputs ---",
|
|
485
|
-
line("Base Free Cash Flow", fmtMoney(baseFCF)),
|
|
486
|
-
line("Growth Rate", fmtPct(growthRate)),
|
|
487
|
-
line("Terminal Growth Rate", fmtPct(
|
|
488
|
-
line("WACC (Discount Rate)", fmtPct(wacc)),
|
|
489
|
-
line("
|
|
490
|
-
line("
|
|
491
|
-
line("
|
|
401
|
+
line("Base Free Cash Flow", `${fmtMoney(safeNum(inputs.baseFCF))} (${inputs.baseFCFSource ?? "n/a"})`),
|
|
402
|
+
line("Growth Rate", `${fmtPct(safeNum(inputs.growthRate))} (${inputs.growthRateSource ?? "n/a"})`),
|
|
403
|
+
line("Terminal Growth Rate", fmtPct(safeNum(inputs.terminalGrowthRate))),
|
|
404
|
+
line("WACC (Discount Rate)", fmtPct(safeNum(inputs.wacc))),
|
|
405
|
+
line("Risk-Free Rate", `${rate(inputs.riskFreeRate)}${inputs.riskFreeRateIsFallback ? " (fallback: live 10Y Treasury unavailable)" : ""}`),
|
|
406
|
+
line("Equity Risk Premium", rate(inputs.equityRiskPremium)),
|
|
407
|
+
...(waccDetail ? [line("Beta", fmt(safeNum(waccDetail.beta)))] : []),
|
|
408
|
+
line("Projection Period", `${inputs.projectionYears ?? "?"} years`),
|
|
409
|
+
line("Net Debt", fmtMoney(safeNum(inputs.netDebt))),
|
|
410
|
+
line("Shares Outstanding", `${((safeNum(inputs.sharesOutstanding) ?? 0) / 1e6).toFixed(1)}M`),
|
|
411
|
+
...(overriddenNames.length > 0 ? [line("Overridden Inputs", `${overriddenNames.join(", ")} (others are the /dcf page defaults)`)] : []),
|
|
492
412
|
"",
|
|
493
413
|
"--- Results ---",
|
|
494
|
-
line("Fair Value / Share", fmtPrice(
|
|
495
|
-
line("
|
|
496
|
-
line("
|
|
497
|
-
line("
|
|
498
|
-
? "UNDERVALUED (>25% margin of safety)"
|
|
499
|
-
: mos > 0
|
|
500
|
-
? "SLIGHTLY UNDERVALUED"
|
|
501
|
-
: mos > -15
|
|
502
|
-
? "FAIRLY VALUED"
|
|
503
|
-
: "OVERVALUED"),
|
|
414
|
+
line("Fair Value / Share", fmtPrice(fairValue)),
|
|
415
|
+
line("Previous Close", fmtPrice(currentPrice)),
|
|
416
|
+
line("Fair Value vs Price", upsidePct === null ? "N/A" : `${upsidePct >= 0 ? "+" : ""}${upsidePct.toFixed(1)}%`),
|
|
417
|
+
line("Note", "Model output under these assumptions, not a price target."),
|
|
504
418
|
"",
|
|
505
|
-
line("PV of Projected FCFs", fmtMoney(
|
|
506
|
-
line("Terminal Value", fmtMoney(
|
|
507
|
-
line("PV of Terminal Value", fmtMoney(
|
|
508
|
-
line("Enterprise Value", fmtMoney(
|
|
509
|
-
line("Equity Value", fmtMoney(
|
|
419
|
+
line("PV of Projected FCFs", fmtMoney(safeNum(result.totalPVofFCFs))),
|
|
420
|
+
line("Terminal Value", fmtMoney(safeNum(result.terminalValue))),
|
|
421
|
+
line("PV of Terminal Value", fmtMoney(safeNum(result.pvTerminalValue))),
|
|
422
|
+
line("Enterprise Value", fmtMoney(safeNum(result.enterpriseValue))),
|
|
423
|
+
line("Equity Value", fmtMoney(safeNum(result.equityValue))),
|
|
510
424
|
"",
|
|
511
425
|
"--- Reverse DCF ---",
|
|
512
|
-
line("Implied Growth Rate", converged ? fmtPct(
|
|
513
|
-
line("Interpretation", converged
|
|
514
|
-
? `Market is pricing in ${(impliedGrowth * 100).toFixed(1)}% annual FCF growth`
|
|
515
|
-
: "Could not determine implied growth"),
|
|
426
|
+
line("Implied Growth Rate", reverse.converged ? fmtPct(safeNum(reverse.impliedGrowthRate)) : "Did not converge"),
|
|
516
427
|
"",
|
|
517
428
|
"--- FCF Projections ---",
|
|
518
429
|
];
|
|
519
|
-
for (const
|
|
520
|
-
lines.push(` Year ${String(
|
|
430
|
+
for (const projection of (result.projectedFCFs || [])) {
|
|
431
|
+
lines.push(` Year ${String(projection.year).padStart(2)}: FCF ${fmtMoney(projection.fcf).padStart(10)} | PV ${fmtMoney(projection.presentValue).padStart(10)}`);
|
|
432
|
+
}
|
|
433
|
+
const waccRange = (sensitivity.waccRange || []);
|
|
434
|
+
const growthRange = (sensitivity.growthRange || []);
|
|
435
|
+
const matrix = (sensitivity.matrix || []);
|
|
436
|
+
if (matrix.length > 0) {
|
|
437
|
+
lines.push("");
|
|
438
|
+
lines.push("--- Sensitivity Analysis (Fair Value / Share) ---");
|
|
439
|
+
const headerRow = " TG \\ WACC " + waccRange.map((w) => `${(w * 100).toFixed(1)}%`.padStart(9)).join("");
|
|
440
|
+
lines.push(headerRow);
|
|
441
|
+
lines.push(" " + "-".repeat(headerRow.length - 2));
|
|
442
|
+
matrix.forEach((row, index) => {
|
|
443
|
+
const cells = row.map((value) => (typeof value === "number" ? fmtPrice(value) : "N/A").padStart(9)).join("");
|
|
444
|
+
lines.push(` ${((growthRange[index] ?? 0) * 100).toFixed(1)}%`.padEnd(13) + cells);
|
|
445
|
+
});
|
|
521
446
|
}
|
|
522
|
-
lines.push("");
|
|
523
|
-
lines.push("--- Sensitivity Analysis (Fair Value / Share) ---");
|
|
524
|
-
lines.push(...sensitivityRows);
|
|
525
447
|
return lines.join("\n");
|
|
526
448
|
}
|
|
527
449
|
async function handleGetIndustryBenchmarks(ticker) {
|
|
@@ -561,36 +483,32 @@ async function handleGetIndustryBenchmarks(ticker) {
|
|
|
561
483
|
}
|
|
562
484
|
return lines.join("\n");
|
|
563
485
|
}
|
|
564
|
-
async function
|
|
565
|
-
const data = (await callApi(`/api/
|
|
566
|
-
const
|
|
567
|
-
const ratings = data.ratings || {};
|
|
568
|
-
const pt = data.priceTarget || {};
|
|
569
|
-
const total = data.totalAnalysts ?? 0;
|
|
486
|
+
async function handleGetMarketSignals(ticker) {
|
|
487
|
+
const data = (await callApi(`/api/market-signals/${encodeURIComponent(ticker)}`));
|
|
488
|
+
const { technical, sentiment, shortInterest } = data;
|
|
570
489
|
const lines = [
|
|
571
|
-
`===
|
|
572
|
-
`Note: DeepViews Estimate (derived from valuation metrics, not real analyst data)`,
|
|
490
|
+
`=== Market Signals: ${ticker.toUpperCase()} ===`,
|
|
573
491
|
"",
|
|
574
|
-
|
|
575
|
-
line("
|
|
492
|
+
"--- Technical Indicators ---",
|
|
493
|
+
line("RSI (14)", technical?.rsi?.value != null ? `${technical.rsi.value.toFixed(1)} (${technical.rsi.signal})` : "N/A"),
|
|
494
|
+
line("MACD Trend", technical?.macd?.trend || "N/A"),
|
|
495
|
+
line("MACD Histogram", technical?.macd?.histogram != null ? technical.macd.histogram.toFixed(4) : "N/A"),
|
|
496
|
+
line("SMA 50", technical?.sma?.sma50 != null ? `$${technical.sma.sma50.toFixed(2)}` : "N/A"),
|
|
497
|
+
line("SMA 200", technical?.sma?.sma200 != null ? `$${technical.sma.sma200.toFixed(2)}` : "N/A"),
|
|
498
|
+
line("SMA Crossover", technical?.sma?.crossover?.replace("_", " ") || "N/A"),
|
|
499
|
+
line("Price vs SMA 50", technical?.sma?.priceVsSma50 || "N/A"),
|
|
576
500
|
"",
|
|
577
|
-
"---
|
|
578
|
-
line("
|
|
579
|
-
line("
|
|
580
|
-
line("
|
|
581
|
-
line("Sell", String(ratings.sell ?? 0)),
|
|
582
|
-
line("Strong Sell", String(ratings.strongSell ?? 0)),
|
|
501
|
+
"--- News Sentiment ---",
|
|
502
|
+
line("Sentiment", sentiment?.label || "N/A"),
|
|
503
|
+
line("Sentiment Score", sentiment?.score != null ? sentiment.score.toFixed(2) : "N/A"),
|
|
504
|
+
line("Articles Analyzed", String(sentiment?.articleCount ?? 0)),
|
|
583
505
|
"",
|
|
584
|
-
"---
|
|
585
|
-
line("
|
|
586
|
-
line("
|
|
587
|
-
line("
|
|
588
|
-
line("
|
|
506
|
+
"--- Short Interest ---",
|
|
507
|
+
line("Short Interest", shortInterest?.shortInterest != null ? shortInterest.shortInterest.toLocaleString() : "N/A"),
|
|
508
|
+
line("Days to Cover", shortInterest?.daysToCover != null ? shortInterest.daysToCover.toFixed(2) : "N/A"),
|
|
509
|
+
line("Avg Daily Volume", shortInterest?.avgDailyVolume != null ? shortInterest.avgDailyVolume.toLocaleString() : "N/A"),
|
|
510
|
+
line("Settlement Date", shortInterest?.settlementDate || "N/A"),
|
|
589
511
|
];
|
|
590
|
-
if (pt.current && pt.average) {
|
|
591
|
-
const upside = ((pt.average - pt.current) / pt.current) * 100;
|
|
592
|
-
lines.push(line("Implied Upside", `${upside.toFixed(1)}%`));
|
|
593
|
-
}
|
|
594
512
|
return lines.join("\n");
|
|
595
513
|
}
|
|
596
514
|
async function handleScreenStocks(args) {
|
|
@@ -756,8 +674,8 @@ async function handleGetComparables(ticker) {
|
|
|
756
674
|
lines.push("");
|
|
757
675
|
}
|
|
758
676
|
lines.push("--- Group Statistics (Medians) ---");
|
|
759
|
-
lines.push(` P/E: ${fmt(safeNum(medians.peRatio))} P/B: ${fmt(safeNum(medians.pbRatio))} EV/EBITDA: ${fmt(safeNum(medians.evEbitda))}`);
|
|
760
|
-
lines.push(` Gross Margin: ${fmtPct(safeNum(medians.grossMargin))} Net Margin: ${fmtPct(safeNum(medians.netMargin))} ROE: ${fmtPct(safeNum(medians.roe))} D/E: ${fmt(safeNum(medians.debtToEquity))}`);
|
|
677
|
+
lines.push(` P/E: ${fmt(safeNum(medians.peRatio?.median))} P/B: ${fmt(safeNum(medians.pbRatio?.median))} EV/EBITDA: ${fmt(safeNum(medians.evEbitda?.median))}`);
|
|
678
|
+
lines.push(` Gross Margin: ${fmtPct(safeNum(medians.grossMargin?.median))} Net Margin: ${fmtPct(safeNum(medians.netMargin?.median))} ROE: ${fmtPct(safeNum(medians.roe?.median))} D/E: ${fmt(safeNum(medians.debtToEquity?.median))}`);
|
|
761
679
|
return lines.join("\n");
|
|
762
680
|
}
|
|
763
681
|
// ---------------------------------------------------------------------------
|
|
@@ -777,8 +695,8 @@ async function handleToolCall(name, args) {
|
|
|
777
695
|
});
|
|
778
696
|
case "get_industry_benchmarks":
|
|
779
697
|
return handleGetIndustryBenchmarks(String(args.ticker));
|
|
780
|
-
case "
|
|
781
|
-
return
|
|
698
|
+
case "get_market_signals":
|
|
699
|
+
return handleGetMarketSignals(String(args.ticker));
|
|
782
700
|
case "screen_stocks":
|
|
783
701
|
return handleScreenStocks(args);
|
|
784
702
|
case "get_news_sentiment":
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepviews-mcp",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"mcpName": "io.github.Rswcf/deepviews",
|
|
5
5
|
"description": "Free financial data MCP server — company analysis, DCF valuation, comparable companies, industry benchmarks, stock screening, and news sentiment. No API key required. Powered by SEC EDGAR + Polygon.io.",
|
|
6
6
|
"license": "Apache-2.0",
|