Valuein — SEC EDGAR Fundamentals & Smart-Money Data
io.github.valuein/mcp-sec-edgar · v2.45.1 · MCP 2025-11-25
Point-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.
Reachability
reachable
checked 2026-07-14 04:29 UTC
Registry status active
Tools pinned 102
d1ff81cb3ff1
Tools last changed
unchanged since first capture 2026-07-14
Provenance
Registry namespace io.github.valuein
(GitHub-account verified by the official registry)
Repository
github.com/valuein/valuein
Website
https://valuein.biz
Remote endpoints
https://mcp.valuein.biz/mcp (streamable-http)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-07-14 03:22 | first capture | 102 tools pinned |
Pinned tool definitions (102)
| Tool | Description |
|---|---|
| search_companies | Search for US public companies by name, ticker symbol, CIK (SEC identifier), or SIC industry code. Returns ticker, company name, sector, industry, exchange, and current S&P 500 membership status. Use this tool to resolve a company name... |
| get_company_fundamentals | Retrieve standardized SEC EDGAR fundamental financial metrics for a US public company. Returns revenue, gross profit, operating income, net income, EPS (diluted), total assets, total liabilities, stockholders' equity, cash &... |
| get_valuation_metrics | Get comprehensive valuation and profitability metrics for a US public company. Returns per-period data combining computed ratios (gross_margin, operating_margin, net_margin, ROE, ROA, ROIC, debt_to_equity, FCF, FCF margin),... |
| get_financial_ratios | Get pipeline-computed financial ratios from ratio.parquet. Served categories: profitability (margins, ROE, ROA, ROIC), liquidity (current ratio, quick ratio), leverage (D/E, interest coverage, net debt/EBITDA), efficiency (asset... |
| get_sec_filing_links | Get direct links to original SEC EDGAR filings for any US public company. Returns four per-filing deep links: `sec_url` (the EDGAR filing-index page listing every document), `viewer_url` (the cgi-bin Financial-Report viewer for the... |
| get_capital_allocation_profile | Get a multi-year capital allocation breakdown for a US public company. Shows how management deploys cash across all six categories — capex, R&D, M&A, dividends, buybacks, and debt — plus pre-computed deployment ratios (% of operating... |
| get_peer_comparables | Get ratio-based peer comparison for a company and its closest competitors. Peers are selected by matching 2-digit SIC industry code. Returns pipeline-computed ratios from up to 10 peers alongside the subject company for direct... |
| get_pit_universe | Use this tool to answer questions about historical index membership — e.g. "Was Company X in the S&P 500 on date Y?" or "Which companies were in the Russell 2000 on 2010-01-01?" Use this INSTEAD OF `search_companies` when the question... |
| get_compute_ready_stream | Returns a short-lived (15-min) download URL for a bulk Parquet object that can be piped directly into Python/DuckDB/Polars for high-throughput computation that exceeds the MCP context window. The URL streams the object straight from... |
| describe_schema | Returns the Parquet schema for all tables in the Valuein SEC data warehouse. Includes table descriptions, column names, types, primary keys, and foreign-key references. Use this tool to understand the data model before querying with... |
| verify_fact_lineage | Use this tool when the user asks BOTH what a financial figure is AND which filing reported it — e.g. "What was Apple's most recently reported revenue, and which 10-Q filed it?" or "Show me the accession ID for Tesla's latest net... |
| compare_periods | Compare a company's core financial metrics across two fiscal periods side-by-side. Shows absolute and percentage changes with significance classification (minor < 5%, notable 5–15%, significant > 15%). The response includes a... |
| screen_universe | Rank companies by cross-sectional factor scores from factor_scores.parquet. Returns the underlying factors (roe, gross_margin, operating_margin, net_profit_margin, revenue_growth_yoy, fcf_to_assets, debt_to_equity, asset_turnover,... |
| get_earnings_signals | Reported earnings results and a model-derived earnings-trend signal for a company, by fiscal period: actual reported EPS, a trailing-trend EPS estimate (`eps_trend_est`), the deviation of actual vs that trend (`eps_surprise_pct`),... |
| get_stock_price | End-of-day closing price for a company AS OF any calendar date. Pass `date` to get the close on that day; if the date falls on a weekend or market holiday, it resolves backward to the most recent prior trading day's close (the... |
| get_price_history | Daily EOD bar series (OHLCV + adjusted_close) for a company over a date range. Returns up to 252 trading-day bars oldest-first. Each bar carries: open / high / low / close (raw, unadjusted), adjusted_close (vendor... |
| get_pit_valuation_ratios | Returns a full snapshot of valuation multiples for a company on a specific historical date — zero look-ahead bias (the 'Compustat + CRSP merge' pattern). The EOD close is sourced from stock_price_daily.parquet at `as_of_date` (or the... |
| list_restatements | List financial-statement restatements — facts a later SEC filing materially changed (>0.5% swing) from what was originally reported. Each event carries the as-reported value, the restated value, the signed delta, a severity bucket, the... |
| submit_feedback | File product feedback to the Valuein team — a bug, feature request, experience note, or data-quality issue — directly from the agent surface. Available on EVERY tier including guest/sample (no token required), so an agent can report a... |
| submit_artifact_feedback | File EXPLICIT, structured feedback about a specific artifact you (or the model) produced — a chat message, a report, a thesis, a claim, a tool call, or the schema. Use this (not `submit_feedback`) when you can name WHAT was judged and... |
| get_insider_transactions | Form 3 / 4 / 5 / 144 line items for a US public company. Returns each transaction (or initial holding / proposed sale) with the insider's name, role, transaction code, share count, price, and notional. Filters by lookback window,... |
| get_institutional_holdings | Returns top-N institutional holders of a US public company at a specific period_end (latest by default), with aggregate institutional shares, total market value, holder count, and HHI concentration (sum of squared share-of-total... |
| get_manager_portfolio | Returns a 13F filer's full portfolio at a specific period_end (latest by default), with QoQ deltas vs the prior quarter (new / increased / decreased / exited / unchanged). Specify the filer either by filer_cik (preferred) or filer_name... |
| get_blockholders | Returns SC 13D / SC 13G blockholder disclosures (5%+ stakes) for a US public company. Each row carries percent_owned, sole/shared voting + dispositive split, schedule_type, and the first-class ``going_active`` flag — TRUE when the same... |
| get_insider_sentiment | Role-weighted insider sentiment score on a fixed [-100, +100] scale for a single issuer over a lookback window. Role weights: CEO/CFO = 3.0 (via officer_title pattern), other NEO Officer = 2.0, 10%-Owner = 1.5, Director = 1.0. P = +1,... |
| get_top_holders | Classification-aware UNION across insider transactions (latest post_transaction_shares per insider), 13F institutional holdings, and SC 13D / 13G blockholder filings for one issuer. Each row carries holder_class ∈ {insider,... |
| get_smart_money_flow | Composite flow score on [-100, +100] aggregating insider transactions, 13F institutional Δ-shares vs the prior quarter, and SC 13D/13G blockholder changes over a lookback window. Each component normalised independently, then combined... |
| save_thesis | Persist a directional investment thesis (bull / bear / neutral) on a ticker. The thesis becomes part of the caller's private research diary; pair with `list_theses` + `score_thesis_outcome` to track conviction-vs-outcome over time. Pass... |
| list_theses | Return the caller's saved theses, newest-first. Filters: ticker (exact), view, status. Cursor-based pagination — pass `next_cursor` from the previous response to fetch the next page. Sample tier rejected (no per-user state). |
| get_thesis | Fetch a single saved thesis by its id. Returns the full record including outcome (if scored). Returns NOT_FOUND if the id is unknown or belongs to another user. For the claims composing a thesis use list_claims_for_thesis; for an... |
| delete_thesis | Soft-delete a saved thesis: status flips to `archived` (the row stays for audit / re-scoring). Idempotent — archiving an already-archived thesis succeeds. Hard-delete is not supported by design; future versions may expire archived... |
| score_thesis_outcome | Grade a saved thesis against fundamental momentum since its creation. Pulls revenue / operating-margin / EPS / OCF deltas and aggregates into a score in [-1, +1]. Bull theses are graded by directional alignment, bear by inverse, neutral... |
| score_due_theses | Find every thesis past its horizon with no outcome yet, and grade each via `score_thesis_outcome`. Operates on the caller's own theses by default; can target any user when called with `customer_id` from a `full`-tier (admin) token.... |
| run_workflow | Resolve a saved workflow by id and return a structured execution plan for a single ticker. Each plan entry names a real MCP tool or SOP plus its ticker-substituted arguments; the calling agent invokes them in order, applying any... |
| list_public_theses_by_user | Return the PUBLIC theses + reputation aggregate for a user identified by Stripe customer_id. Used by the /[handle] profile page to render an analyst's track record. Only entries with visibility='public' are surfaced — private theses... |
| publish_thesis | Make a saved thesis discoverable by flipping its visibility: `public` (default) surfaces it on the author's /[handle] profile and counts toward their reputation aggregate; `unlisted` makes it reachable at a known direct link but keeps... |
| unpublish_thesis | Revert a published thesis (public or unlisted) back to `private` — removes it from the author's /[handle] profile and excludes it from the public reputation aggregate. The inverse of publish_thesis. Owner-only, idempotent. Tier: sp500+... |
| save_claim | Persist a single falsifiable, evidence-backed CLAIM — the atomic unit of the research graph. Use this for each discrete assertion an analysis produces (e.g. 'NVDA gross margin stays above 70% through FY2026'), then compose claims into a... |
| list_claims | List the caller's saved claims, most-recent-first, with AND-composed filters and cursor pagination. Filter by ticker, claim_type (assertion/prediction/judgment), tag, or lifecycle status... |
| get_claim | Fetch a single claim by id, plus the ids of theses it supports/refutes and its full append-only score history. Use this to inspect a claim's evidence, current status, and how its outcome has evolved. Tier: all paid + free tiers (sample... |
| delete_claim | Soft-delete a claim by id. The row and its score history are preserved for audit (archived, not erased); the claim drops out of default list_claims results. Idempotent — deleting an already-archived claim succeeds. Tier: all paid +... |
| link_claim_to_thesis | Attach a claim to a thesis with a role: 'supports' (the claim, if true, strengthens the thesis), 'refutes' (if true, weakens it — track disconfirming evidence first-class), or 'context' (relevant but not directional). Idempotent —... |
| unlink_claim_from_thesis | Remove the link between a claim and a thesis. Idempotent — succeeds whether or not the link existed. The claim and thesis themselves are untouched. Tier: paid + free (sample rejected). |
| list_claims_for_thesis | List the claims composing a thesis, each with its role (supports/refutes/context). This is how you read a thesis as the structured argument it is — its supporting and disconfirming claims with their current statuses. Archived claims are... |
| score_claim | Resolve a claim's outcome. By default auto-grades an `auto` claim by evaluating its verifiable_condition against SEC fundamentals (confirmed/refuted), or marks it `needs_review` when it can't be resolved deterministically (judgment,... |
| score_due_claims | Find every auto-gradable claim that is due (assertions in open/needs_review/stale; predictions whose horizon has passed) and resolve each against fundamentals. Operates on the caller's own claims by default; can target any user when... |
| list_public_claims_by_user | Return the PUBLIC claims + claim-accuracy reputation for a user identified by Stripe customer_id. Used by the /[handle] profile to render an analyst's claim-level track record — a separate signal from thesis-outcome accuracy. Only... |
| publish_claim | Make a saved claim discoverable by flipping its visibility: `public` (default) surfaces it on the author's /[handle] profile and counts toward their claim-accuracy reputation; `unlisted` makes it reachable at a known direct link but... |
| unpublish_claim | Revert a published claim (public or unlisted) back to `private` — removes it from the author's /[handle] profile and excludes it from the public claim-accuracy aggregate. The inverse of publish_claim. Owner-only, idempotent. Tier:... |
| save_citation_override | Persist a correction of a citation value. The correction is keyed on the canonical `fact_id` (a stable hash of CIK + accession + concept + period) so it applies to every report that references that same fact — including... |
| list_citation_overrides | Author-only newest-first listing of the caller's citation corrections. Filterable by ticker (e.g. all AAPL corrections) or by a single fact_id (returns 0 or 1 row). Pair with `save_citation_override` and `delete_citation_override`.... |
| delete_citation_override | Remove a user-authored citation correction by fact_id. Idempotent — deleting a missing override returns deleted=false without error. Once deleted, reports that previously rendered the corrected value revert to the canonical fact value... |
| save_watchlist | Upsert a named watchlist with a list of tickers. Replace semantics — the full ticker list is the source of truth for that name. Use this for both creation AND modification (delete + recreate is not required for edits). 500-ticker cap... |
| list_watchlists | Paginated newest-first listing of the caller's watchlists (id, name, tickers, status, counts). Filter by `status` (active/archived/all). Returns metadata only — use get_watchlist for one list's full ticker set, or watchlist_diff for new... |
| get_watchlist | Fetch a single watchlist (full ticker set + criteria) by its name, not an id (case-insensitive). NOT_FOUND if the name is unknown to this user. Tier: sp500+ (sample rejected). |
| delete_watchlist | Soft-delete a watchlist by its name (not id): status flips to `archived` (still readable via list_watchlists status=all/archived). The name is freed for reuse by a new save_watchlist. Idempotent. Tier: sp500+ (sample rejected). |
| set_agent_memory | Store or update ONE durable memory entry (key → value) for this user so context survives across sessions — preferences, prior conclusions, working context. Replace semantics per key (reusing a key overwrites it). Do NOT store a number... |
| get_agent_memory | Recall this user's durable memory. Omit `key` (or pass null) to read EVERYTHING you have remembered, newest-first — do this at the START of a task to re-ground yourself. Pass a specific `key` to fetch one entry. An absent key returns an... |
| watchlist_diff | Return new SEC filings across the caller's watchlist tickers since a given date. Reads filing.parquet — does not call insider/ratio surfaces (use those tools separately if you need them). Concurrency-bounded; max 50 tickers per call. |
| create_alert | Persist an alert and register it with the firing pipeline. Five condition shapes: * `filing_event` — fire when a ticker files a chosen form type (8-K, 10-K, etc.). * `ratio_threshold` — fire when a ticker's financial ratio crosses a... |
| list_alerts | Paginated newest-first listing of the caller's alerts (id, condition, channel, status, trigger_count, evaluator health). Filter by `status` (active/paused/deleted/all). Use the returned alert id with delete_alert or test_alert. Tier:... |
| delete_alert | Soft-delete an alert by its id (from create_alert/list_alerts): status flips to `deleted` and it is removed from the cron evaluator index so it stops firing. Alerts are immutable — to change one, delete then create_alert. Idempotent.... |
| test_alert | Fire a synthetic notification through the alert's configured channel. Use this immediately after `create_alert` to verify the channel (email address valid / webhook URL reachable + HMAC verification on the receiver). The synthetic fire... |
| list_alert_inbox | Newest-first listing of the caller's in-app inbox. Items are alert FIRES with a `dashboard` channel — written by the cron evaluator (or `test_alert`) — plus platform notifications written by the edge-gateway (agent run completions,... |
| mark_inbox_read | Set `read_at` on a single inbox item by its id (from list_alert_inbox or the alerts feed resource) — not an alert id. Idempotent — re-marking does NOT reset the first-read timestamp; there is no unmark. Returns the new unread_count so... |
| dismiss_inbox_item | Soft-delete a single inbox item by its id (from list_alert_inbox) — not an alert id; sets `dismissed_at`. The row stays queryable via `list_alert_inbox(include_dismissed=true)` for audit. Idempotent. Tier: sp500+ (sample rejected). |
| stage_action | Propose an MCP tool call for human approval BEFORE running it. Call this — instead of calling the tool directly — whenever an autonomous or unattended caller (a scheduled standing agent, an unattended agent-runner run, or any MCP client... |
| list_pending_approvals | List the caller's own staged actions still awaiting a human decision (status='proposed'), newest-first. Use this to check what an autonomous run has queued up before you approve or reject it with `approve_staged_action` /... |
| approve_staged_action | Approve a staged action by id and RUN the underlying tool call it proposed, using the caller's own current credentials — never the original proposer's. Idempotent and race-safe: an action already decided (approved by a concurrent call,... |
| reject_staged_action | Reject a staged action by id. Terminal — the underlying tool is NEVER called, and a rejected (or otherwise already-decided) action can never be flipped back by a later approve/reject call; `transitioned` tells you whether THIS call is... |
| schedule_task | Defer a follow-up task ("re-check AAPL margin compression in 30 days") for up to 90 days. This is an AGENT-facing primitive — call it mid-conversation/mid-run when you decide something is worth re-checking later; it is NOT a... |
| list_scheduled_tasks | Paginated newest-first listing of the caller's own scheduled (deferred) tasks — transparency into what an agent has queued for the future. Filter by `status` (pending/completed/cancelled/cancelled_owner_inactive/all). Tier: sp500+... |
| cancel_scheduled_task | Cancel a pending scheduled task by id (from schedule_task or list_scheduled_tasks). Only a `pending` task can be cancelled — one that already woke (completed) cannot be un-woken. Idempotent: cancelling an already-cancelled task is a... |
| create_rule | Persist a trigger -> action rule and register it with the evaluator. Seven trigger types accepted (alert_fired, schedule_tick, inbox_item, price_threshold, filing_event, manual, scheduled_task_wake) x six action types (run_team,... |
| list_rules | Paginated newest-first listing of the caller's own rules. Tier: sp500+ (sample rejected). |
| delete_rule | Delete a rule by id (from create_rule/list_rules) — removes it from both the catalog and the evaluator's scan index, so it stops firing immediately. Rules are immutable — to change one, delete then create_rule. Idempotent. Tier: sp500+... |
| test_rule | Dry-run a rule's condition_expr against a SYNTHETIC trigger payload — reports whether it WOULD have fired, but NEVER dispatches the action (no report generated, no team run, no message sent, no inbox write). Use this immediately after... |
| get_morning_brief | Read the caller's Morning Brief — a daily AI-generated market digest covering overnight moves across the customer's own watchlists and theses, produced by the Workspace. Omit `day` to get the most recent brief available (not necessarily... |
| list_agent_runs | List the caller's own standing-agent runs, newest first — status, goal, cost, and timing for each. A run may have been kicked off by this same agent (e.g. via create_rule's run_team action or a schedule_task wake) OR by the customer's... |
| get_agent_run | Fetch full detail for one of the caller's own standing-agent runs by id (from list_agent_runs) — status, goal, tickers, cost, artifact ids, role breakdown, and any error. A run may have been triggered by this same agent or by the... |
| create_report | Synchronously generate a research report and persist it under the caller's authorship. Two subtypes: • `reverse_dcf` — solves the stage-1 free-cash-flow growth rate the market price implies, with a 5×5 sensitivity grid across WACC ×... |
| get_report | Fetch the current HEAD of a report by id. `format=markdown` returns the rendered body, `format=json` returns the full structured payload (sections + citations + report-type-specific data), `format=preview` returns abstract-only. Authors... |
| list_my_reports | Cursor-paginated newest-first listing of the caller's own reports (owner-scoped). Filters compose with AND; `status` defaults to 'ready' so pass status='draft' or 'all' to see drafts. Use `cursor` from the previous response's... |
| delete_report | Soft-delete a report owned by the caller: status flips to `delisted`, visibility to `private` — not a hard delete, the row and R2 artifact are preserved (90-day audit window). Idempotent (deleting an already-delisted report succeeds).... |
| publish_report | Publish a report for FREE at `listed` or `unlisted` visibility to build your public author profile. `listed` makes it discoverable via `search_reports` (keyword catalog search); `unlisted` keeps it out of the catalog but accessible by... |
| unpublish_report | Revert a published report (listed or unlisted) back to `private` visibility, removing it from the public catalog. Author-only. Idempotent. |
| search_reports | Search the catalog of published research reports. All listings are free to read. Filters: free-text (matches title + abstract), ticker, report_type. Sort: `newest` (default) or `oldest`. Tier-gated: callers only see reports their plan... |
| compute_dcf | Forward discounted-cash-flow valuation (two-stage Gordon-growth model): caller provides growth + WACC + terminal assumptions, returns per-share intrinsic value (`value_per_share_cents`, cents USD) + 5×5 sensitivity grid. Pulls FCF base... |
| forensic_audit | Deterministic forensic-accounting scores for a single ticker: partial Beneish M-Score, Sloan accruals, and a solvency snapshot. Returns a red-flag narrative ranked by severity, with citations to source filings. Used by the... |
| run_backtest | A SMALL, BOUNDED, in-Worker sanity-check backtest — NOT a full-universe backtesting engine. Answers a quick question like 'does this factor actually work on these 5 names over the last year' inline, mid-conversation, without leaving... |
| project_three_statement | Linked forward Income Statement / Balance Sheet / Cash Flow projection, seeded from the company's latest historical annual period. The balance sheet ties out (assets == liabilities + equity) EVERY projected year by algebraic... |
| compute_lbo | Leveraged buyout returns analysis: caller provides entry/exit multiples, leverage, and a hold period; the tool builds a Day-1 pro-forma opening balance sheet from the deal's own sources & uses (cash-free, debt-free convention —... |
| compute_accretion_dilution | M&A accretion/dilution: the standard sell-side/banker quick-screen for whether a proposed acquisition adds to (accretive) or subtracts from (dilutive) the acquirer's EPS in the first pro-forma year. Pulls net income + shares outstanding... |
| update_report | Replace one or more sections of an existing report owned by the caller. Useful for authoring workflows where the agent's first draft (`create_report`) is refined by additional analysis before publishing. Bumps `version`. Does NOT change... |
| list_report_versions | Author-only newest-first listing of a report's archived version history. Each entry summarises what changed (sections edited, etc.) so the workspace UI can render a clickable history without loading every artifact. Pair with... |
| get_report_version | Author-only fetch of a specific archived version of one of your reports, by positive-integer `version`. Returns metadata + the full payload (sections, citations, structured, markdown) — enough to render a diff against the current HEAD... |
| render_report | Return a 15-minute presigned download URL for a report in the requested binary format. `format=md` presigns the cached markdown — instant, no compute. `format=docx` returns a branded Word document with a cover page (title as the hero,... |
| save_freeform_report | Save free-form markdown (e.g. a chat synthesis) as a DRAFT report you can refine in the editor and export to Word/PDF. Unlike `create_report` (which computes a structured reverse_dcf or thesis report), this accepts raw markdown and... |
| generate_dcf_xlsx | Render a forward DCF result into a professional Excel workbook (Summary + 5×5 Sensitivity heatmap + Inputs sheet). Native conditional formatting — no chart images needed. Returns a 15-minute presigned R2 download URL. SERVER-TRUST: the... |
| generate_research_brief_docx | Render a structured research brief into a professionally-styled Word document — a cover page (title as the hero, the named analyst credited directly beneath it, a small 'Built on Valuein' credit linked to valuein.biz) followed by page 2... |
| generate_comps_xlsx | Render a peer comparables table into an Excel workbook. The Comps sheet is formatted as a named Excel Table (`ValueinPeerComps`) so the user gets one-click Insert Chart on any column — the cleanest workaround for not embedding chart... |
| generate_lbo_xlsx | Render an LBO result into a professional Excel workbook (Summary + year-by-year Projection table + Inputs sheet). Returns a 15-minute presigned R2 download URL. SERVER-TRUST: the deal is re-derived in-Worker from the supplied... |
Status badge
[](https://toolpin.dev/servers/io.github.valuein/mcp-sec-edgar)
Maintain this server? Add the badge to your README — it links your users to this live status page.