stockportfolio-mcp
https://www.stockportfolio.pro
Registry code: 7d762618f0791e7d
StockPortfolio.pro returns SEC filing data for US-listed public companies. If a company name is ambiguous, call search_companies first and use the exact ticker it returns. get_company_fundamentals returns financial statements by fiscal period, each value carrying the SEC filing that reports it. get_recent_filings lists each covered company’s most recent report and earnings release, get_filing_changes compares a company’s two most recent filings of the same form, and get_red_flags returns warning signs computed from filed statements. A value that was not reported is null and is never…
- endpoint
- https://www.stockportfolio.pro/mcp
- protocol
- http-sse ·2025-06-18
- authentication
- bearer
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is stockportfolio-mcp live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 98% of checks over the last 30 days.
- Is stockportfolio-mcp free to use?
- Partly — some of its tools are open, others need a key or payment.
- What tools does stockportfolio-mcp have?
- 9 tools: sp_health, get_red_flags, search_companies, search_filings, get_recent_filings, get_company_fundamentals, get_filing, ask_filings, ….
- Is stockportfolio-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 98.5%· all time 98.5%
last good check
of 9 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- get us company financial statements
- search sec filings
- ask questions about a company's filings
- takes → gives
- text → data, text
- tools
- 6 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
sp_health reads open 5h ago
Liveness probe: reports the server version and the number of tools. Safe to call before any other tool and useful for verifying a connection. Free: needs no account and consumes no allowance.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesget_red_flags auth-required 13h ago
Conservative warning signs computed from a company’s filed statements — receivables or inventory outrunning sales, earnings ahead of cash, dilution, heavy debt, shrinking margins — each with the filed figures behind it. A missing figure never raises a flag, and nothing here is a judgement or advice. Costs one data lookup.
{ "type": "object", "required": [ "ticker" ], "properties": { "ticker": { "type": "string", "description": "US ticker, e.g. NVDA or AAPL." } }, "additionalProperties": false }arguments 13 linessearch_companies reads auth-required 13h ago
Resolve a company name or ticker to the US-listed company it refers to, returning ticker, company name and SEC CIK. Use this first when a company is named ambiguously, when only a name is known, or before another tool when the ticker is uncertain. Reads a bundled company catalog and returns no financial data and no filing content. Costs one data lookup.
{ "type": "object", "required": [ "query" ], "properties": { "limit": { "type": "integer", "default": 10, "maximum": 25, "minimum": 1, "description": "Maximum number of matches to return." }, "query": { "type": "string", "description": "Company name or ticker, e.g. \"Apple\", \"AAPL\" or \"Berkshire\"." } }, "additionalProperties": false }arguments 20 linessearch_filings reads auth-required 13h ago
Find SEC filings for one company by filing type and date range. Returns each filing’s form, filing date, fiscal period, accession number, SEC document description and a direct filing URL. Use this to locate a 10-K, 10-Q, 8-K, 20-F or proxy, or to answer "when did they last file X". This searches filing metadata, not the text inside filings — use get_filing for the text.
{ "type": "object", "required": [ "ticker" ], "properties": { "limit": { "type": "integer", "default": 10, "maximum": 25, "minimum": 1, "description": "Maximum number of filings to return." }, "ticker": { "type": "string", "description": "US ticker, e.g. AAPL." }, "end_date": { "type": "string", "description": "Optional latest filing date (YYYY-MM-DD)." }, "start_date": { "type": "string", "description": "Optional earliest filing date (YYYY-MM-DD)." }, "filing_type": { "type": [ "string", "array" ], "items": { "type": "string" }, "description": "Optional filing type or types, e.g. \"10-K\" or [\"10-Q\",\"8-K\"]." } }, "additionalProperties": false }arguments 38 linesget_recent_filings auth-required 5h ago
List what is newly filed across covered companies: each company’s MOST RECENT annual (10-K/20-F/40-F), quarterly (10-Q) and earnings-release filing from a date window — not every filing. Each row carries the form, filing date, period end and filing URL, and whether that period appears in the company’s financial statements. Filter by kind and ticker. Costs one data lookup.
{ "type": "object", "properties": { "kinds": { "type": "array", "items": { "enum": [ "quarterly", "annual", "earnings_release" ], "type": "string" }, "description": "Kinds to include. Defaults to all three." }, "limit": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum rows to return." }, "since": { "type": "string", "description": "Earliest filing date (YYYY-MM-DD). Defaults to 7 days ago and never reaches further back than 92 days." }, "tickers": { "type": "array", "items": { "type": "string" }, "description": "Optional tickers, restricting the result to those companies." } }, "additionalProperties": false }arguments 36 linesget_company_fundamentals reads auth-required 10h ago
Return one US-listed company’s financial statements by fiscal period: revenue, gross profit, operating income, net income, diluted EPS, free cash flow, cash, debt and shares outstanding. Every figure carries its fiscal period and the SEC filing that reports it (form, filing date, accession number and source URL). Defaults to the five most recent annual periods. A figure the company did not report is null and is never estimated or annualised. Use get_filing or ask_filings when the question is about what a filing says rather than about reported numbers.
{ "type": "object", "required": [ "ticker" ], "properties": { "year": { "type": "integer", "maximum": 2100, "minimum": 1990, "description": "Optional fiscal year to restrict the result to, e.g. 2024. Use this instead of periods when a specific year was asked for." }, "ticker": { "type": "string", "description": "US ticker, e.g. NVDA or AAPL." }, "metrics": { "type": "array", "items": { "type": "string" }, "description": "Optional metric ids to return instead of the default set, e.g. [\"revenue\",\"net_income\"]. An id outside the catalog is an error." }, "periods": { "type": "integer", "default": 5, "maximum": 20, "minimum": 1, "description": "Number of most recent periods to return. Ignored when year is given." }, "period_type": { "enum": [ "annual", "quarterly" ], "type": "string", "default": "annual", "description": "Fiscal period type." } }, "additionalProperties": false }arguments 42 linesget_filing reads auth-required 5h ago
Read one SEC filing — its metadata plus short excerpts of its text. Identify it by accession number (preferred, as returned by search_filings), or by ticker with an optional filing type, which defaults to the company’s latest 10-K. Request a named section such as "Risk Factors", "MD&A" or "Legal Proceedings", or search the filing for a term. Returns excerpts with their section and the filing URL, not the whole document. Use get_company_fundamentals for reported numbers.
{ "type": "object", "anyOf": [ { "required": [ "accession_number" ] }, { "required": [ "ticker" ] } ], "properties": { "query": { "type": "string", "description": "Optional term to find inside the filing; excerpts around each match are returned." }, "ticker": { "type": "string", "description": "US ticker. Required when accession_number is not given, optional otherwise." }, "section": { "type": "string", "description": "Optional section name, e.g. \"Risk Factors\", \"MD&A\", \"Business\", \"Legal Proceedings\"." }, "max_chars": { "type": "integer", "default": 4000, "maximum": 12000, "minimum": 500, "description": "Maximum characters per excerpt or section." }, "filing_type": { "type": "string", "description": "Optional filing type when no accession number is given, e.g. 10-K, 10-Q or 8-K. Defaults to the latest 10-K." }, "max_excerpts": { "type": "integer", "default": 3, "maximum": 8, "minimum": 1 }, "accession_number": { "type": "string", "description": "SEC accession number, e.g. 0000320193-25-000079. Enough on its own — the company is derived from it." } }, "additionalProperties": false }arguments 51 linesask_filings reads auth-required 10h ago
Ask a question about one US-listed company and get an answer researched from its SEC filings, with the SEC filing URLs it drew on. Use this when the question needs reasoning over filing content — what management said about margins, why a segment declined, what the risk factors are — rather than a single reported number, for which get_company_fundamentals is faster and exact. The answer states what it could not source rather than estimating, and its figures can be checked against the cited filings. Metered: consumes the account’s allowance. Not investment advice. Needs a StockPortfolio.pro account on a plan with API/MCP access.
{ "type": "object", "required": [ "ticker", "question" ], "properties": { "ticker": { "type": "string", "description": "US ticker the question is about, e.g. NVDA." }, "question": { "type": "string", "description": "The question, in natural language." } }, "additionalProperties": false }arguments 18 linesget_filing_changes auth-required 10h ago
What changed between a company’s newest 10-K/10-Q/20-F/40-F and its previous filing of the same form: guidance and outlook language, risk factors, demand and margin commentary, quoted from both documents and checked against them. The first comparison for a filing pair can take 30–60 seconds; later calls are served from the cache. Needs a signed-in StockPortfolio.pro account. Metered like ask_filings: consumes the account’s allowance.
{ "type": "object", "required": [ "ticker" ], "properties": { "ticker": { "type": "string", "description": "US ticker, e.g. NVDA or AAPL." } }, "additionalProperties": false }arguments 13 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id7d762618f0791e7d.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/7d762618f0791e7d/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/7d762618f0791e7d?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.