Qanat MCP

An MCP server that screens companies on metrics from filings as of any past date, with no look-ahead

  • 331 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • In the default scope the agent writes steps, sources and company lists into project files
  • Sources go out to the network: SEC EDGAR and, if enabled, Yahoo, whose terms do not allow redistributing data
All reasons and checks

fidetolabs/qanat

Install

Manual install

uv tool install qanat-fdtl

Or pip install qanat-fdtl. Requires Python 3.10 or newer. Set SEC_USER_AGENT to your name and email.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • In the default scope the agent writes steps, sources and company lists into project files
  • Sources go out to the network: SEC EDGAR and, if enabled, Yahoo, whose terms do not allow redistributing data

This is third-party code. Review the repository files before installing.

What it does

Qanat reads company filings, computes the metrics you define and answers as the question looked on a chosen past date. Every number is stored with two dates: the period it covers and the day it became public. A question about March 2022 therefore shows only what was known in March 2022. The main job is screening: you set a metric and a threshold and the server returns the companies that pass. For example, `qanat screen --filter '[{"metric":"pe","op":"<","value":30}]' --as-of 2025-12-31`. The answer has three parts: the list that passed on each date, each company's return from its own filing to the next one, and a count of companies that could and could not be evaluated. Averages across years and an equity curve are deliberately not computed. Data comes from SEC EDGAR, Yahoo Finance and your own sources over HTTP, SQL or CSV. There is one store: a DuckDB file or Postgres on localhost. Layers, steps in SQL or Python and metrics are described in a single `qanat.yaml` file, and `qanat check` validates it before a run. The server hands data to the agent over MCP. The `--scope` option sets the tool set, from reading tables and filings only to writing steps, sources and company lists.

Who it is for. For researchers, analysts and developers who test stock screening ideas on company filings through Claude Code or another agent.

Good fit when

  • You want to know which companies passed a rule such as P/E below 30 as of a specific past date
  • You want the layers, steps and metrics of a study in one file, checked before a run
  • You need numbers and sections pulled from 10-K filings on SEC EDGAR for a set of companies
  • Your research is built around your own metric formula with a name and a version, and the threshold stays with you
  • You want to limit an agent to read-only access: the `--scope data` mode does that

Not a fit when

  • You need prices and an answer to what the list did next: the project has no prices yet, and an outside source has to be connected for them
  • You need a general data pipeline across many machines: Airflow, Dagster and Prefect fit that, while Qanat solves one problem
  • You want ready advice on trades: the server places no orders and never will
  • You need grouping by industry: that is not built yet, and a ranking runs within the list of companies you pass in

Example request

Which companies in the demo set passed a P/E below 30 filter at the end of 2022, and how did their reported figures change by the next filing?

MCP

Transport
stdio
Authentication
not required

Environment variables

SEC_USER_AGENT required
Your name and email, which the SEC uses to see who is querying EDGAR

Limitations

The project is in beta: it covers its author's own tasks, and few others have run it. The main connector reads 10-K filings from SEC EDGAR, and other sources you bring yourself. There are no prices yet, and the optional Yahoo source through the yfinance library is unofficial and grants no redistribution rights.

Section detection in 10-K filings is a heuristic and can miss on unseen documents, so every found span stores the rule that found it. Python 3.10 or newer is required. Choosing thresholds and formulas stays with you.

How to disable. Remove the server from Claude Code with `claude mcp remove qanat`. The project and its data stay in your folder and can be deleted by hand.

FAQ

How do I connect Qanat to Claude Code?

Run `claude mcp add qanat -- qanat mcp --scope research` from the project folder. For another MCP client use an entry with the command `qanat`, the argument `mcp` and the project working directory.

How do the data, research and default scopes differ?

`data` gives 12 tools to read tables as of a past date and read filings. `research` adds reading steps and screening, 15 tools in total. The default offers 23, including writing steps, sources and company lists.

How does Qanat guard against look-ahead?

Every row stores a period date and a publication date. A step can read only the tables it declared, and a query for a past date returns what was public by then. You and your agent still see the full data while choosing an idea.

Where does the data come from and do I need a key?

The demo downloads four 10-K filings from SEC EDGAR in under a minute. No key or account is needed, only a contact address in the `SEC_USER_AGENT` variable that the SEC asks for.

Can an agent place trades through Qanat?

No. The project places no orders, and the author has no plans to add that.

Discussion

No questions or reviews yet.

An MCP server for SEC EDGAR: US company filings, forms 10-K, 10-Q and 8-K, XBRL-parsed financials and insider trades

MCP serverBroad access387Repository stars

MCP lets an agent read a local Chinese-market archive and inspect financial data coverage, provenance and dates

MCP serverExtended access1KRepository stars

MCP server over Korean DART and US SEC EDGAR disclosures: company financials, peer comparison and valuation for an agent.

MCP serverExtended access227Repository stars

A Python MCP server for SEC EDGAR: 10-K and 8-K filings, XBRL financials, insider trades and fund portfolios, no API key.

MCP serverMinimal access2.8KRepository stars
Official

The MCP server gives agents daily stock screens, relative-strength ratings, industry rankings and market breadth.

MCP serverExtended access417Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Qanat (this card)nonot required331
SEC EDGAR MCPnonot required387serves SEC filings, forms 10-K, 10-Q and 8-K and insider trades, without computing metrics as of a past date
Financial Datasets MCPyesAPI key2,326ready financial data, prices and news from an outside API without its own date-aware store

README in short

The author presents Qanat as a data platform for metrics from filings and notes that website screeners check only today. The project's structure from store to metrics follows, and a cautions section lists what the project lacks.

README badge

Report a problem