Source-linked SEC 13F research, quality checks, watchlists and audit trails for agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Reconstructs hedge-fund / superinvestor portfolios straight from SEC EDGAR 13F-HR filings, and diffs quarter-over-quarter to surface new positions, exits, adds and trims. Data is U.S.-government public domain β free to use and redistribute.
Guides: TEST_LOCAL.md to run it on your machine in minutes Β·
INSTALL_SERVER.md for production deployment Β· SECURITY.md
for the threat model and audit.
Offline tests (no network):
13F rows carry only CUSIPs. resolver.py runs a confidence-ranked chain so the tail that
OpenFIGI misses still gets resolved where possible, with provenance recorded:
The CUSIP-prefix step reuses a confident sibling's ticker for a different share class/unit of
the same issuer; the SEC step matches nameOfIssuer against SEC company_tickers.json. Misses
are cached with a timestamp and re-tried after a TTL (the tail shrinks as data improves), not
forever. --sync --enrich uses the full chain.
Provenance + confidence are stored per holding, so the dashboard's reconcile dot and the
valuation reconcile ratio can flag weak mappings. Optional cusip_overrides.json ({"<cusip>":"TKR"})
hard-maps stubborn names at top confidence.
A read-only Flask API exposes the store as JSON, and a single-file dashboard consumes it.
Open http://localhost:5000. The UI is branded 13FLOW (dark editorial theme β emerald =
institutions, amber = insiders, converging like the Confluence score) with five screens:
Consensus (who's buying / most owned), Funds (holdings, current weights, implied P&L,
conviction sparklines), Compare (overlap matrix across funds), Alerts (subscriptions +
the diff feed), and Confluence (13F accumulation Γ insider buying). A served FAQ page
(/faq) explains the product, linked from the sidebar. Demo data is available only when
explicitly requested (?demo=1 in the browser or SMARTMONEY_CONFLUENCE_DEMO=1 for the
Confluence API); production errors are shown instead of silently substituting samples. API endpoints:
/api/live-status, /api/funds, /api/fund/<cik>,
/api/consensus/{buys,holdings}, /api/compare,
/api/signals/confluence, /api/signals/confluence/history,
/api/methodology/confluence-v1, /api/data-quality, /api/agent-stats,
/api/openapi.json, and the
MCP Streamable HTTP endpoint /api/mcp. The Registry surface exposes only bounded, read-only
public tools. Optional Pro/x402 tools are disabled by default and are not advertised publicly.
The official Registry manifest is server.json. Static,
crawler-friendly pages are
served at /funds, /funds/<cik>, /stocks, /stocks/<ticker>, /signals, and
/signals/<ticker>, with SEC links where an accession or issuer search can be resolved.
/agents and /fr/agents publish 7/30-day MCP activity from durable UTC aggregates. They
make no unique-user claim and retain no IP address, User-Agent, client version, raw client
identifier, arguments, prompts, responses or keys.
The separate operator-only /stats/ surface is an optional password-protected GoAccess
report generated from Apache logs. It adds no browser tracking, strips query strings,
anonymizes report IPs at level 2 and keeps a 90-day reporting window. Its dedicated CSP is
scoped to the authenticated report so the public site's nonce policy remains unchanged.
Production also installs a first-in-order static 000-zen-default.conf vhost. Unknown Host
headers receive an inert ZEN page and a separate minimal access log instead of reaching
13FLOW or contaminating 13flow_access.log; named vhosts continue to route normally.
/api/live-status is the public,
machine-readable proof of live state: SHA, source (SEC EDGAR), latest quarter, row counts,
data-quality summary, and uses_synthetic_data=false. /api/product-status is the
machine-readable operational status surface: it states live data coverage, disabled
claims, and why full quantitative validation remains blocked until imported 2013-2026
adjusted-price and normalized Form 4 transaction artifacts are available. See the
Core V1 scope gate in docs/CORE_V1_BOUNDARY.md.
Current product and research boundaries are exposed at /status, /readiness,
/api/product-status and /api/research-readiness. /api/pro-offer remains a retired
compatibility endpoint and is not exposed as a canonical MCP tool.
Core V1 deliberately has no browser account system, no public signup, no
self-serve checkout and no Stripe billing flow. Pro API access is operator
issued: create a scoped key, deliver the plaintext token once through an
approved secure channel, verify /api/pro/v1/status, and keep audit/rotation
in the Pro control plane.
The Pro API is an explicit, versioned API-key surface for institutional and automated use.
It is off by default. Enable it with SMARTMONEY_PRO_API=1 and store keys, counters, and
audit events in a dedicated control-plane SQLite file via SMARTMONEY_PRO_DB.
Recommended production split:
Do not grant /var/lib/13flow-pro write access to the public 13flow.service. Apache
should route only /api/pro/ to 13flow-pro.service, while the public site and open JSON
endpoints stay on the read-only service.
Admin panel access at /pro/admin is protected by a server-side admin session. Generate
the session secret and password hash on the server; the Pro API key used inside the panel
is still separate and must carry admin:read,admin:write.
Create an API key offline as the operator. The plaintext token is shown exactly once. In
production, only an HMAC-SHA256 hash derived with the server-only
SMARTMONEY_PRO_KEY_PEPPER is stored, so tokens generated from a GitHub clone or another
instance cannot authenticate against 13flow.eu. With
SMARTMONEY_PRO_REQUIRE_KEY_PEPPER=1, legacy SHA-256 rows are rejected unless
SMARTMONEY_PRO_ACCEPT_LEGACY_SHA256_KEYS=1 is explicitly set for a short migration window.
Use Authorization: Bearer <token> or X-13FLOW-Key: <token>.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/13flow)<a href="https://allmcps.com/mcp/13flow"><img src="https://allmcps.com/api/badge/13flow?style=directory" alt="13FLOW on AllMCPs" /></a>