AlphaCreek SEC Filings MCP
by alphacreek.ai · remote · no sign-in to list tools · v1.0.1 · published by ai.alphacreek
Access SEC filings efficiently (10-K, 10-Q, etc), save time and tokens, and get cited answers.
5 tools: 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads5Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http alphacreek https://mcp.alphacreek.ai/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
The description is 2,394 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...cross periods, and numeric thresholds in the source text. Cite CITATION_MARKDOWN."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Only reads 5Claude Code: allow
get_filing_tocReturn the full filing table of contents for one filing.No findings
Why it is in this group
- The name "get_filing_toc" says "get": a word for reading.
Description, as the server wrote it Return the full filing table of contents for one filing. If artifact_document_id is omitted, resolves the single latest filing for ticker/company (and optional document_type) only. Use list_filings first to discover a specific reporting period. Pass document_type=DEF 14A for US proxy statements. For DEF 14A, TOC rows are native proxy section labels when the filing has a linked HTML TOC; otherwise they use sec-parser headings. For FCA filings, pass filing_registry=fca_nsm; TOC node ids are HTML page element ids (e.g. pf2a, page12, pageView1) for annual ESEF reports or sec-parser ids (e.g. sp-0000001) for half-year RNS HTML reports.
Annotations the server declares
- title: Get filing table of contents
- readOnlyHint: true
- destructiveHint: false
get_latest_filingReturn latest filing metadata for a company or ticker.No findings
Why it is in this group
- The name "get_latest_filing" says "get": a word for reading.
Description, as the server wrote it Return latest filing metadata for a company or ticker. If ticker and company are omitted, return newly ingested filings newest-first. Omit filing_registry in that mode to include both SEC and FCA. Company results include one metadata object; newly ingested results include a filings list. Each row includes Filing metadata object. Includes `document_type` (Canonical document type. SEC: 10-K, 10-Q, 20-F, 6-K, 8-K, DEF 14A. FCA: annual, half-year, press.) and, for FCA press rows, `announcement_type` (FCA press subtype when document_type is press; null for annual and half-year. Values: 1st Quarter Results, 2nd Quarter Results, 3rd Quarter Results, 4th Quarter Results, Final Results, Preliminary Results, Share Buyback, Trading Update.).
Annotations the server declares
- title: Get latest filing
- readOnlyHint: true
- destructiveHint: false
list_filingsList available filings for a ticker (newest first) with artifact_document_id and dates.No findings
Why it is in this group
- The name "list_filings" says "list": a word for reading.
Description, as the server wrote it List available filings for a ticker (newest first) with artifact_document_id and dates. Use filing_registry=fca_nsm for UK FCA NSM reports. Use this first when you need a specific reporting period, including DEF 14A proxy statements (pass document_type=DEF 14A). Each row includes Filing metadata object. Includes `document_type` (Canonical document type. SEC: 10-K, 10-Q, 20-F, 6-K, 8-K, DEF 14A. FCA: annual, half-year, press.) and, for FCA press rows, `announcement_type` (FCA press subtype when document_type is press; null for annual and half-year. Values: 1st Quarter Results, 2nd Quarter Results, 3rd Quarter Results, 4th Quarter Results, Final Results, Preliminary Results, Share Buyback, Trading Update.).
Annotations the server declares
- title: List available filings
- readOnlyHint: true
- destructiveHint: false
read_node_contentReturn content for one or more navigation nodes in a filing.No findings
Why it is in this group
- The name "read_node_content" says "read": a word for reading.
Description, as the server wrote it Return content for one or more navigation nodes in a filing. Pass one node via node_id or several via node_ids, using the node ids from TOC lines (the same values shown as NODE_ID lines in this tool's output). Returns plain MCP text: an ARTIFACT_DOCUMENT_ID header, then per-node blocks with NODE_ID, TITLE, CITATION_URL, CITATION_MARKDOWN, CONTENT_START … CONTENT_END. Each block's CITATION_URL links to the reader location for that node; CITATION_MARKDOWN is the same link as ready-to-paste markdown [TITLE](CITATION_URL). A requested TOC node may expand into more granular child NODE_ID blocks, each with its own TITLE, CITATION_URL, and CITATION_MARKDOWN. Responses that include citations end with a CITATIONS_IN_THIS_RESPONSE list.
Annotations the server declares
- title: Read node content
- readOnlyHint: true
- destructiveHint: false
search_sec_event_filingsSearch US SEC filing nodes for a disclosure claim.1 finding
Why it is in this group
- The name "search_sec_event_filings" says "search": a word for reading.
Findings
- Info
The description is 2,394 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...cross periods, and numeric thresholds in the source text. Cite CITATION_MARKDOWN."
Description, as the server wrote it Search US SEC filing nodes for a disclosure claim. The search covers 8-K, 6-K, 10-K, 10-Q, and 20-F. Omit document_type to search all of those forms. Pass document_type to search only the forms you name. Do not use this for DEF 14A. How to search: 1. Always pass concept_groups. Every group is required (AND). Within each group's any_of list, one alternative must match (OR). Use 2-5 groups for separate parts of the claim: topic, action, metric, and a causal link when that link is essential. Example: geography + weaker demand + decline, or AI + productivity + margin. Add synonyms. English stemming covers inflections (decline/declined), not synonyms (sales is not revenue). Do not add a group for a detail the filing may leave implicit. 2. query is optional. Each item is an exact adjacent-token phrase. Put alternate full phrasings in the same list. Query plus concept_groups is hybrid search: an exact phrase ranks first, so a generic phrase such as "margin expansion" can outrank the causal sentence you want. Prefer phrases that state the relationship. Do not pass a broad topic word alone. Do not search with query only. Omit query for concept-only search. 3. start_date and end_date are required. tickers limits issuers. Optional document_type limits the search to one or more of 8-K, 6-K, 10-K, 10-Q, and 20-F. Omit it to search all of those forms. How to continue: 4. Each call returns one page. There is no total count. If HAS_MORE is true, call again with cursor set to NEXT_CURSOR and the same concept_groups, dates, query, tickers, ne_tickers, document_type, and match_scope. A cursor from different inputs is rejected. An empty page with HAS_MORE true is not the end: call again with that cursor. Stop when HAS_MORE is false or when later pages are not relevant. 5. If a page is mostly co-occurrence (the terms appear, but not the claim), start a new search with no cursor. Add a concept group or exact causal phrases. If a page is too sparse, start a new search with no cursor and drop the least essential group. Do not change filters while passing a cursor. 6. ne_tickers excludes issuers you have already reviewed. It does not load the next page. Results are candidates. Call read_node_content with document_id and node_id. node_id may start with sp-. Verify negation, causality, comparisons across periods, and numeric thresholds in the source text. Cite CITATION_MARKDOWN.
Annotations the server declares
- title: Search SEC filing nodes
- readOnlyHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http alphacreek https://mcp.alphacreek.ai/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__alphacreek__get_latest_filing",
"mcp__alphacreek__list_filings",
"mcp__alphacreek__get_filing_toc",
"mcp__alphacreek__read_node_content",
"mcp__alphacreek__search_sec_event_filings"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as alphacreek. Review it before you use it.