deepviews-mcp 1.1.1 → 1.1.3

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 CHANGED
@@ -1,14 +1,59 @@
1
- # DeepViews MCP Server
1
+ <div align="center">
2
2
 
3
- Free financial data MCP server for Claude Code and any MCP-compatible AI client. Access company analysis, DCF valuation, comparable companies, industry benchmarks, stock screening, and news sentiment -- **no API key required**.
3
+ <img src="https://raw.githubusercontent.com/Rswcf/deepviews-mcp/main/assets/logo.png" width="72" height="72" alt="DeepViews" />
4
4
 
5
- A free alternative to paid financial data MCP integrations like FactSet ($20-80K/year) and S&P Capital IQ ($25-100K/year).
5
+ # DeepViews MCP
6
6
 
7
- ## Quick Start
7
+ **Free SEC-EDGAR fundamentals, DCF valuation and WACC for Claude, Cursor, VS Code and any MCP client. No API key.**
8
8
 
9
- ### Option 1: npx (no install)
9
+ [![npm](https://img.shields.io/npm/v/deepviews-mcp?color=f5a824&label=npm)](https://www.npmjs.com/package/deepviews-mcp)
10
+ [![npm downloads](https://img.shields.io/npm/dm/deepviews-mcp?color=f5a824)](https://www.npmjs.com/package/deepviews-mcp)
11
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.Rswcf%2Fdeepviews-0b0e13)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.Rswcf/deepviews)
12
+ [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/Rswcf/deepviews-mcp/blob/main/LICENSE)
13
+ [![GitHub stars](https://img.shields.io/github/stars/Rswcf/deepviews-mcp?style=social)](https://github.com/Rswcf/deepviews-mcp)
10
14
 
11
- Add to your MCP settings:
15
+ [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=deepviews&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRlZXB2aWV3cy1tY3AiXX0%3D)
16
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=deepviews&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22deepviews-mcp%22%5D%7D)
17
+ [![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=deepviews&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22deepviews-mcp%22%5D%7D&quality=insiders)
18
+
19
+ </div>
20
+
21
+ <p align="center">
22
+ <img src="https://raw.githubusercontent.com/Rswcf/deepviews-mcp/main/assets/demo.png" alt="calculate_dcf for MSFT: inputs, fair value vs previous close, reverse DCF and sensitivity table" width="860" />
23
+ </p>
24
+
25
+ Ask your assistant things like:
26
+
27
+ ```text
28
+ > Run a DCF on MSFT and show me which assumptions drive the result
29
+ > Compare NVDA with its closest peers on margins, ROE and EV/EBITDA
30
+ > Screen for technology companies with ROE above 20% and P/E under 25
31
+ > How does Costco's gross margin compare with its industry?
32
+ ```
33
+
34
+ ## Why DeepViews MCP
35
+
36
+ - **No API key, no signup, no bill.** `npx -y deepviews-mcp` and you are done.
37
+ - **Fundamentals straight from SEC filings.** About 13,700 US-listed companies from a self-built SEC EDGAR (XBRL) pipeline, normalised to one schema.
38
+ - **Valuation you can inspect.** The same DCF model as [deepviews.dev/dcf](https://www.deepviews.dev/en/dcf): every input is shown, any input can be overridden, and you get a reverse DCF and a sensitivity matrix, not a single number.
39
+ - **Built for agents.** Plain-text, table-shaped results that language models read reliably, with the data source and period on every answer.
40
+
41
+ ## Install
42
+
43
+ **Claude Code**
44
+
45
+ ```bash
46
+ claude mcp add --transport stdio --scope user deepviews -- npx -y deepviews-mcp
47
+ ```
48
+
49
+ Or install it as a Claude Code plugin (adds the `/deepviews:analyze` and `/deepviews:screen` commands and a financial-analysis skill):
50
+
51
+ ```text
52
+ /plugin marketplace add Rswcf/deepviews-mcp
53
+ /plugin install deepviews@deepviews
54
+ ```
55
+
56
+ **Claude Desktop, Cursor, Windsurf, Cline and most other clients** use the same `mcpServers` block:
12
57
 
13
58
  ```json
14
59
  {
@@ -21,82 +66,88 @@ Add to your MCP settings:
21
66
  }
22
67
  ```
23
68
 
24
- ### Option 2: Global install
25
-
26
- ```bash
27
- npm install -g deepviews-mcp
28
- ```
29
-
30
- Then add to your MCP settings:
69
+ **VS Code** (`.vscode/mcp.json`), or use the install button above:
31
70
 
32
71
  ```json
33
72
  {
34
- "mcpServers": {
73
+ "servers": {
35
74
  "deepviews": {
36
- "command": "deepviews-mcp"
75
+ "type": "stdio",
76
+ "command": "npx",
77
+ "args": ["-y", "deepviews-mcp"]
37
78
  }
38
79
  }
39
80
  }
40
81
  ```
41
82
 
42
- ### Option 3: Claude Code Plugin
83
+ **Gemini CLI**
43
84
 
44
- If available in the Claude Code plugin directory:
45
-
46
- ```
47
- /plugin install deepviews@claude-plugins-official
85
+ ```bash
86
+ gemini mcp add -s user deepviews -- npx -y deepviews-mcp
48
87
  ```
49
88
 
50
- ## Available Tools
51
-
52
- | Tool | Description | Data Source |
53
- |------|-------------|-------------|
54
- | `analyze_company` | Comprehensive financial analysis: valuation ratios, income statement, balance sheet, cash flow, profitability margins | SEC EDGAR + Polygon.io |
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
- | `get_comparables` | Comparable company analysis: target vs 10 closest peers by market cap, 8 metrics each | SEC EDGAR + Polygon.io |
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
- | `screen_stocks` | Filter stocks by sector, industry, P/E, P/B, EV/EBITDA, ROE, D/E, market cap, revenue | SEC EDGAR + Polygon.io |
59
- | `get_news_sentiment` | 30-day news sentiment score, trend, and article breakdown | Polygon.io News API |
89
+ Requires Node.js 18 or newer.
60
90
 
61
- ## Example Usage
91
+ ## Tools
62
92
 
63
- ```
64
- > Analyze Apple's financials and tell me how it compares to peers
65
-
66
- > Calculate a DCF for MSFT with 12% growth rate and 10% WACC
93
+ | Tool | What it returns | Try asking |
94
+ |---|---|---|
95
+ | `analyze_company` | Valuation ratios, the latest income statement, balance sheet and cash flow, several years of revenue and margins | "Give me an overview of Apple's financials" |
96
+ | `calculate_dcf` | Fair value per share vs the previous close, reverse DCF (implied growth), projected FCFs, WACC x terminal-growth sensitivity matrix; override growth, terminal growth, WACC or years | "Run a DCF on MSFT with 9% WACC" |
97
+ | `get_comparables` | The company vs its closest peers by market cap: P/E, P/B, P/S, EV/EBITDA, gross and net margin, ROE, D/E, with group medians | "Who are NVDA's closest peers and how does it compare?" |
98
+ | `get_industry_benchmarks` | 25th / 50th / 75th percentiles for valuation multiples, margins, ROE, current ratio and D/E in the company's industry | "Is Tesla's margin high for its industry?" |
99
+ | `screen_stocks` | Companies filtered by sector, industry, P/E, P/B, EV/EBITDA, ROE, D/E, market cap and revenue | "Healthcare stocks with P/E under 20 and D/E below 1" |
100
+ | `get_market_signals` | RSI, MACD, SMA 50/200, news sentiment and short interest (delayed market data) | "What do the technicals and short interest say about AMD?" |
101
+ | `get_news_sentiment` | 30-day news sentiment score, trend and article breakdown | "What's the news sentiment on TSLA this month?" |
67
102
 
68
- > Show me NVDA's comparable companies in the semiconductor industry
103
+ All tools are read-only.
69
104
 
70
- > Screen for technology stocks with P/E under 25 and ROE above 20%
105
+ ## Data and limits
71
106
 
72
- > What's the news sentiment around TSLA right now?
73
- ```
107
+ - **Financial statements:** SEC EDGAR XBRL filings (10-K, 10-Q, 20-F, 40-F). Annual statements from fiscal 2021, recent quarters, and trailing twelve months. Foreign filers are converted to USD.
108
+ - **Prices and market caps:** the previous trading day's close from Polygon.io (Massive). Not real-time quotes.
109
+ - **Rates:** 10-year Treasury from FRED; equity risk premium from Damodaran.
110
+ - **Rate limit:** 60 requests per minute per client.
111
+ - **Not investment advice.** Model outputs depend on the assumptions shown with them.
74
112
 
75
- ## Data Coverage
113
+ ## Privacy
76
114
 
77
- - **US-listed equities**: All companies filing with SEC EDGAR (10-K, 10-Q)
78
- - **Market data**: Real-time prices and market caps via Polygon.io
79
- - **Financial statements**: Up to 4 years of annual data
80
- - **Comparable companies**: SIC-based peers sorted by market cap proximity
81
- - **Industry benchmarks**: SIC-code based peer groups with hybrid EDGAR/Polygon metrics
82
- - **News**: 30-day rolling window, up to 50 articles per ticker
115
+ The server runs on your machine and calls the public DeepViews API (`https://www.deepviews.dev/api`) with the tool arguments only: tickers and screening filters. It sends no personal data and has no telemetry.
83
116
 
84
117
  ## Configuration
85
118
 
86
119
  | Variable | Default | Description |
87
- |----------|---------|-------------|
88
- | `DEEPVIEWS_API_URL` | `https://www.deepviews.dev` | Base URL for API calls. Override for local development. |
120
+ |---|---|---|
121
+ | `DEEPVIEWS_API_URL` | `https://www.deepviews.dev` | Base URL for API calls, e.g. for local development |
122
+
123
+ ## How it works
124
+
125
+ ```text
126
+ MCP client (Claude, Cursor, VS Code, …)
127
+ │ stdio
128
+ ▼
129
+ deepviews-mcp (this repo, runs locally)
130
+ │ HTTPS
131
+ ▼
132
+ DeepViews API ── SEC EDGAR pipeline (Cloudflare D1) · FRED · delayed market data
133
+ ```
134
+
135
+ ## Contributing
89
136
 
90
- ## Data Sources & Attribution
137
+ Issues and pull requests are welcome. See [CONTRIBUTING.md](https://github.com/Rswcf/deepviews-mcp/blob/main/CONTRIBUTING.md) and the [good first issues](https://github.com/Rswcf/deepviews-mcp/labels/good%20first%20issue).
91
138
 
92
- - **SEC EDGAR** -- Financial statements, peer groupings, SIC classifications
93
- - **Polygon.io** -- Market caps, stock prices, news articles, company metadata
94
- - **DeepViews** -- DCF calculations, analyst rating estimates, sentiment analysis, comparable company analysis
139
+ If DeepViews saves you an API bill, a ⭐ helps other people find it.
95
140
 
96
- ## Rate Limits
141
+ ## 中文说明
142
+
143
+ DeepViews MCP 让 Claude、Cursor、VS Code 等 AI 工具直接调用美股基本面数据:公司财务、DCF 估值、WACC、可比公司、行业基准和股票筛选,数据来自 SEC EDGAR,覆盖约 13,700 家美股上市公司。**无需 API key,免费。**
144
+
145
+ ```bash
146
+ claude mcp add --transport stdio --scope user deepviews -- npx -y deepviews-mcp
147
+ ```
97
148
 
98
- The DeepViews API enforces rate limiting (60 requests/minute). The MCP server respects these limits. If you receive a rate limit error, wait a moment and retry.
149
+ 网页版(中英双语):[deepviews.dev/zh](https://www.deepviews.dev/zh)。结果仅为模型计算,不构成投资建议。
99
150
 
100
151
  ## License
101
152
 
102
- Apache-2.0
153
+ [Apache-2.0](https://github.com/Rswcf/deepviews-mcp/blob/main/LICENSE)
package/dist/tools.d.ts CHANGED
@@ -5,6 +5,7 @@
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 handleAnalyzeCompany(ticker: string): Promise<string>;
8
9
  export declare function handleCalculateDcf(args: {
9
10
  ticker: string;
10
11
  growth_rate?: number;
@@ -12,4 +13,5 @@ export declare function handleCalculateDcf(args: {
12
13
  wacc?: number;
13
14
  projection_years?: number;
14
15
  }): Promise<string>;
16
+ export declare function handleGetIndustryBenchmarks(ticker: string): Promise<string>;
15
17
  export declare function registerTools(server: Server): void;
package/dist/tools.js CHANGED
@@ -79,6 +79,21 @@ function safeNum(v) {
79
79
  const n = typeof v === "string" ? parseFloat(v) : v;
80
80
  return isFinite(n) ? n : null;
81
81
  }
82
+ /** "FY2025 ending 2025-09-27" / "TTM ending 2026-06-27" for a financial statement record */
83
+ function describePeriod(record) {
84
+ const date = typeof record.FiscalDate === "string" && record.FiscalDate ? record.FiscalDate : null;
85
+ const isTTM = record.isTTM === true || String(record.FiscalYear).toUpperCase() === "TTM";
86
+ const period = isTTM
87
+ ? "TTM"
88
+ : record.FiscalYear !== undefined && record.FiscalYear !== null && record.FiscalYear !== "" ? `FY${record.FiscalYear}` : null;
89
+ if (period && date)
90
+ return `${period} ending ${date}`;
91
+ return period ?? (date ? `period ending ${date}` : null);
92
+ }
93
+ /** The price the site reports is the prior trading day's close: say so, with its date */
94
+ function previousCloseLabel(priceAsOf) {
95
+ return typeof priceAsOf === "string" && priceAsOf ? `Previous close (${priceAsOf})` : "Previous close";
96
+ }
82
97
  function line(label, value) {
83
98
  return ` ${label.padEnd(28)} ${value}`;
84
99
  }
@@ -88,7 +103,8 @@ function line(label, value) {
88
103
  const TOOL_DEFINITIONS = [
89
104
  {
90
105
  name: "analyze_company",
91
- description: "Get comprehensive financial analysis for a company including valuation ratios, financial statements, and key metrics. Data sourced from SEC EDGAR filings and Polygon.io market data.",
106
+ annotations: { title: "Analyze company financials", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
107
+ description: "Get comprehensive financial analysis for a company: valuation ratios, the latest financial statements, several fiscal years of revenue and margins, and key metrics. Data sourced from SEC EDGAR filings and Polygon.io market data.",
92
108
  inputSchema: {
93
109
  type: "object",
94
110
  properties: {
@@ -102,6 +118,7 @@ const TOOL_DEFINITIONS = [
102
118
  },
103
119
  {
104
120
  name: "calculate_dcf",
121
+ annotations: { title: "Run a DCF valuation", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
105
122
  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
123
  inputSchema: {
107
124
  type: "object",
@@ -132,6 +149,7 @@ const TOOL_DEFINITIONS = [
132
149
  },
133
150
  {
134
151
  name: "get_industry_benchmarks",
152
+ annotations: { title: "Compare with industry benchmarks", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
135
153
  description: "Get industry benchmark data comparing a company against its sector peers. Returns 25th/50th/75th percentile for P/E, P/B, P/S, EV/EBITDA, margins, ROE, current ratio, and debt-to-equity. Data from SEC EDGAR filings with Polygon.io market caps.",
136
154
  inputSchema: {
137
155
  type: "object",
@@ -146,7 +164,8 @@ const TOOL_DEFINITIONS = [
146
164
  },
147
165
  {
148
166
  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.",
167
+ annotations: { title: "Get market signals", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
168
+ description: "Get market signals for a stock: technical indicators (RSI, MACD, SMA 50/200), news sentiment, and short interest. Market data is delayed, not live. All data sourced from Polygon.io.",
150
169
  inputSchema: {
151
170
  type: "object",
152
171
  properties: {
@@ -160,6 +179,7 @@ const TOOL_DEFINITIONS = [
160
179
  },
161
180
  {
162
181
  name: "screen_stocks",
182
+ annotations: { title: "Screen stocks", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
163
183
  description: "Screen stocks by sector, industry, and financial metrics. Filter by P/E, P/B, EV/EBITDA, ROE, debt-to-equity, market cap, and revenue. Returns matching companies with full financial profiles.",
164
184
  inputSchema: {
165
185
  type: "object",
@@ -234,6 +254,7 @@ const TOOL_DEFINITIONS = [
234
254
  },
235
255
  {
236
256
  name: "get_news_sentiment",
257
+ annotations: { title: "Get news sentiment", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
237
258
  description: "Get aggregated news sentiment analysis for a company over the last 30 days. Returns sentiment score (-100 to +100), label, trend, and article count breakdown. Powered by Polygon.io news API.",
238
259
  inputSchema: {
239
260
  type: "object",
@@ -248,6 +269,7 @@ const TOOL_DEFINITIONS = [
248
269
  },
249
270
  {
250
271
  name: "get_comparables",
272
+ annotations: { title: "Find comparable companies", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
251
273
  description: "Get comparable company analysis showing a target company vs its closest peers by market cap. Returns per-company metrics (P/E, P/B, P/S, EV/EBITDA, Gross Margin, Net Margin, ROE, D/E) with group statistics. Data from SEC EDGAR filings + Polygon.io market caps.",
252
274
  inputSchema: {
253
275
  type: "object",
@@ -264,7 +286,7 @@ const TOOL_DEFINITIONS = [
264
286
  // ---------------------------------------------------------------------------
265
287
  // Tool handlers
266
288
  // ---------------------------------------------------------------------------
267
- async function handleAnalyzeCompany(ticker) {
289
+ export async function handleAnalyzeCompany(ticker) {
268
290
  const data = (await callApi(`/api/company/${encodeURIComponent(ticker)}`));
269
291
  const name = data.name || ticker.toUpperCase();
270
292
  const m = data.metrics || {};
@@ -331,9 +353,31 @@ async function handleAnalyzeCompany(ticker) {
331
353
  lines.push(line("Operating Cash Flow", fmtMoney(safeNum(latestCF.OperatingCashFlow ?? latestCF.NetCashFromOperating))));
332
354
  lines.push(line("Capital Expenditure", fmtMoney(safeNum(latestCF.CapitalExpenditure ?? latestCF.CapitalExpenditures))));
333
355
  lines.push(line("Free Cash Flow", fmtMoney(safeNum(latestCF.FreeCashFlow))));
356
+ // Earlier fiscal years too, so history questions need no web search
357
+ const annualRows = (fin.incomeStatement || [])
358
+ .filter((row) => row.isTTM !== true && String(row.FiscalYear).toUpperCase() !== "TTM")
359
+ .slice(0, 5);
360
+ if (annualRows.length > 0) {
361
+ lines.push("");
362
+ lines.push("--- Annual History (SEC EDGAR, fiscal years) ---");
363
+ for (const row of annualRows) {
364
+ const revenue = safeNum(row.Revenue ?? row.Revenues);
365
+ const margin = (value) => {
366
+ const amount = safeNum(value);
367
+ return revenue && revenue > 0 && amount !== null ? fmtPct(amount / revenue) : "N/A";
368
+ };
369
+ const eps = safeNum(row.EPS ?? row.EarningsPerShare ?? row.EarningsPerShareDiluted);
370
+ lines.push(` ${describePeriod(row) ?? `FY${row.FiscalYear}`}: Revenue ${fmtMoney(revenue)}` +
371
+ ` | Gross margin ${margin(row.GrossProfit)}` +
372
+ ` | Operating margin ${margin(row.OperatingIncome ?? row.OperatingIncomeLoss)}` +
373
+ ` | Net margin ${margin(row.NetIncome ?? row.NetIncomeLoss)}` +
374
+ (eps !== null ? ` | EPS ${fmt(eps)}` : ""));
375
+ }
376
+ }
334
377
  if (data.currentPrice) {
378
+ const asOf = typeof data.priceAsOf === "string" && data.priceAsOf ? `${data.priceAsOf}, ` : "";
335
379
  lines.push("");
336
- lines.push(line("Current Price", fmtPrice(data.currentPrice)));
380
+ lines.push(line(`Previous close (${asOf}Polygon)`, fmtPrice(data.currentPrice)));
337
381
  }
338
382
  if (m.sector) {
339
383
  lines.push(line("Sector", m.sector));
@@ -364,7 +408,7 @@ export async function handleCalculateDcf(args) {
364
408
  `Standard FCF-based DCF is not recommended for this company type (${data.label ?? data.category}).`,
365
409
  String(data.reason ?? ""),
366
410
  "",
367
- `Previous close: ${fmtPrice(currentPrice)}`,
411
+ `${previousCloseLabel(data.priceAsOf)}: ${fmtPrice(currentPrice)}`,
368
412
  ].join("\n");
369
413
  }
370
414
  if (data.status === "insufficient-data") {
@@ -373,7 +417,7 @@ export async function handleCalculateDcf(args) {
373
417
  : data.reason === "no-shares"
374
418
  ? "shares outstanding could not be determined"
375
419
  : "WACC could not be computed from the available data";
376
- return [header, "", `Unable to perform DCF analysis: ${reason}.`, "", `Previous close: ${fmtPrice(currentPrice)}`].join("\n");
420
+ return [header, "", `Unable to perform DCF analysis: ${reason}.`, "", `${previousCloseLabel(data.priceAsOf)}: ${fmtPrice(currentPrice)}`].join("\n");
377
421
  }
378
422
  const inputs = data.inputs || {};
379
423
  const result = data.result || {};
@@ -412,7 +456,7 @@ export async function handleCalculateDcf(args) {
412
456
  "",
413
457
  "--- Results ---",
414
458
  line("Fair Value / Share", fmtPrice(fairValue)),
415
- line("Previous Close", fmtPrice(currentPrice)),
459
+ line(previousCloseLabel(data.priceAsOf), fmtPrice(currentPrice)),
416
460
  line("Fair Value vs Price", upsidePct === null ? "N/A" : `${upsidePct >= 0 ? "+" : ""}${upsidePct.toFixed(1)}%`),
417
461
  line("Note", "Model output under these assumptions, not a price target."),
418
462
  "",
@@ -446,8 +490,12 @@ export async function handleCalculateDcf(args) {
446
490
  }
447
491
  return lines.join("\n");
448
492
  }
449
- async function handleGetIndustryBenchmarks(ticker) {
493
+ export async function handleGetIndustryBenchmarks(ticker) {
450
494
  const data = (await callApi(`/api/industry-benchmarks/${encodeURIComponent(ticker)}`));
495
+ // Anything but a real SEC peer group is a generic placeholder, not peer data
496
+ if (data.dataSource !== "edgar_hybrid") {
497
+ return `No peer benchmark data for ${ticker.toUpperCase()}: DeepViews has no usable SEC peer group for this company. Do not substitute generic sector figures.`;
498
+ }
451
499
  const sector = data.sector || "Unknown";
452
500
  const peerCount = data.peerCount ?? 0;
453
501
  const metrics = data.metrics || {};
@@ -455,10 +503,10 @@ async function handleGetIndustryBenchmarks(ticker) {
455
503
  const lines = [
456
504
  `=== Industry Benchmarks: ${ticker.toUpperCase()} ===`,
457
505
  `Sector: ${sector}`,
458
- `Peer Count: ${peerCount} companies`,
506
+ `Peer Count: ${peerCount} companies (the company itself excluded)`,
459
507
  `Data Source: ${source === "edgar_hybrid" ? "SEC EDGAR + Polygon.io" : source}`,
460
508
  "",
461
- " Metric P25 Median P75",
509
+ " Metric P25 Median P75 Peers",
462
510
  " " + "-".repeat(65),
463
511
  ];
464
512
  const metricLabels = {
@@ -479,7 +527,8 @@ async function handleGetIndustryBenchmarks(ticker) {
479
527
  if (!m)
480
528
  continue;
481
529
  const formatter = isMargin(key) ? fmtPct : (v) => fmt(v);
482
- lines.push(` ${label.padEnd(28)} ${formatter(m.p25).padStart(9)} ${formatter(m.median).padStart(9)} ${formatter(m.p75).padStart(9)}`);
530
+ lines.push(` ${label.padEnd(28)} ${formatter(m.p25).padStart(9)} ${formatter(m.median).padStart(9)} ${formatter(m.p75).padStart(9)}` +
531
+ (typeof m.sampleSize === "number" ? ` ${String(m.sampleSize).padStart(5)}` : ""));
483
532
  }
484
533
  return lines.join("\n");
485
534
  }
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.1.1",
3
+ "version": "1.1.3",
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",
@@ -34,8 +34,12 @@
34
34
  "comparable-companies",
35
35
  "industry-benchmarks"
36
36
  ],
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/Rswcf/deepviews-mcp.git"
40
+ },
37
41
  "bugs": {
38
- "url": "https://www.deepviews.dev"
42
+ "url": "https://github.com/Rswcf/deepviews-mcp/issues"
39
43
  },
40
44
  "homepage": "https://www.deepviews.dev",
41
45
  "author": "DeepViews <contact@deepviews.dev>",