MCP Server

just-signal

com.ou-reports/just-signal
Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Provides stock and ETF quotes, investment panel grades, signal scorecards, public reports, and report publishing.

get_panel_grade
The Investment Panel's read on one ticker: its Chophouse doneness grade (RAW..CHARRED, how much value is already cooked in) plus every seat's vote across 11 emulated investor lenses, with the registry verdict for context. The panel advises, the reader decides. Says so if the ticker is not plated yet.
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'US ticker, e.g. NVDA'}}}
get_scorecard
Audit past signals: projected vs actual return for every grounded ticker, graded AHEAD / TRACKING / BEHIND, pro-rated by elapsed time.
Input schema
{'type': 'object', 'properties': {}}
get_stock_quote
Live stock/ETF quote (price + % change) via Just Signal's market-data relay. Establishes a ticker's Day-0 baseline before projecting.
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'US ticker, e.g. NVDA'}}}
list_reports
List recent Just Signal reports from the public library (newest first).
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number'}}}
publish_report
Ground, render, and PUBLISH a Just Signal briefing to the public library. Grounds each ticker's live Day-0 price and computes exact dollar targets from your % projections. Targets MUST be percentages ("+18%") or multiples ("2.5x"), never dollars. assetOrSector: "Name (TICKER)" or "(PRIVATE)" for relative basis. Open to community contributions: the server itself renders every report, and tokenless publishing is rate-limited per day.
Input schema
{'type': 'object', 'required': ['briefingTitle', 'executiveSummary', 'sectors', 'trends'], 'properties': {'token': {'type': 'string', 'description': 'Optional owner token; bypasses the daily community rate limits'}, 'trends': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'assetOrSector', 'target1Y', 'target5Y', 'target10Y'], 'properties': {'hook': {'type': 'string'}, 'title': {'type': 'string'}, 'signal': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string'}, 'category': {'type': 'string'}, 'keyRisks': {'type': 'array', 'items': {'type': 'string'}}, 'target1Y': {'type': 'string'}, 'target5Y': {'type': 'string'}, 'narrative': {'type': 'string'}, 'target10Y': {'type': 'string'}, 'instruments': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'type': {'type': 'string', 'description': 'e.g. Stock, ETF, REIT, Fund'}, 'access': {'type': 'string', 'description': 'PUBLIC unless genuinely accredited-only'}, 'ticker': {'type': 'string'}}}, 'maxItems': 6, 'description': 'Optional 3-4 additional vehicles for this trend (ETF, leader, picks-and-shovels, contrarian) - richness parity with app-published briefings'}, 'assetOrSector': {'type': 'string'}, 'qualitativeAnalysis': {'type': 'string'}, 'quantitativeAnalysis': {'type': 'string'}}}, 'maxItems': 8, 'minItems': 1}, 'sectors': {'type': 'string', 'description': 'Short topic label — becomes the report filename keywords'}, 'briefingTitle': {'type': 'string'}, 'durationSeconds': {'type': 'number'}, 'executiveSummary': {'type': 'string'}}}
Added
get_panel_grade
Sept. 17, 2026, 12:36 p.m.
Added
get_scorecard
Sept. 17, 2026, 12:36 p.m.
Added
list_reports
Sept. 17, 2026, 12:36 p.m.
Added
publish_report
Sept. 17, 2026, 12:36 p.m.
Added
get_stock_quote
Sept. 17, 2026, 12:36 p.m.