plugin-screener-mcp
Stock screener for Jaspers Terminal, an open source, extensible desktop terminal for financial research.
One view, screener-mcp/screener, on the Jaspers screener MCP server:
- A table of US SEC registrants, one row per company, filtered on any field of a company (latest-fiscal-year fundamentals, institutional holders from Form 13F, insiders from Forms 3/4/5) with filters of the form
{field, op, value}, sorted by any column, limited to a list of your own tickers if you give one. Over the table is the funnel: a row for each filter in its turn, with how many companies it left, how many it removed, and the first of those by name with the value that did not pass, filled in row by row as a screen runs. The fields, their units and their comparisons come from the server, so the view has no list of its own. - Criteria in words. Once the list is small enough (the server says how small), write criteria as yes/no questions ("Does the company depend on a sole-source supplier?") and run them: the server reads every company's newest 10-K and 10-Q against each criterion and answers pass, fail or unclear, with quotes it has verified. While a run goes on, the funnel's last row says what it is doing (fetching the companies' earnings calls, then reading), how far it is and for how long, and who has passed and failed so far, and each company's row shows the step it is in. The table shows each company's verdict per criterion; opening a company shows the rationale and each quote as a citation with a link to the filing on sec.gov.
Ask the assistant for a screen ("software companies growing revenue over 20%") and it sets the filters; agree criteria with it and it sets those and starts the run. The open company's evidence is published as text with a marker ([^id]) after every quote, which the assistant uses to cite the quote in the chat.
Install
In Jaspers Terminal, open Settings > Plugins, paste
https://github.com/JaspersAI/plugin-screener-mcp
and press Install. The app downloads the latest release, shows where it came from, and asks before any of it runs. A plugin runs code on your computer with your permissions, so install plugins only from people you trust.
Needs
A Jaspers account. In Jaspers Terminal 0.4.0 or later, sign in with Jaspers (the first step of setup, or Settings > Account): the plugin connects on that sign-in, with nothing to authorize or paste, and signing in with an address that has no account makes one. An earlier terminal asks you to press Authorize in Settings > Plugins and sign in to Jaspers in the browser that opens. The plugin reaches the Jaspers screener MCP server at https://s.jsprai.com/mcp.
The earlier hosted server (https://analyst-api.jsprai.com/mcp/open, with a Jaspers API key) is plugin-screener's. The two have different ids, screener-mcp and screener, so they install side by side; this repo shares that one's history up to 3.0.1.
Develop
git clone https://github.com/JaspersAI/plugin-screener-mcp.git ~/Jaspers/plugins/screener-mcp
cd ~/Jaspers/plugins/screener-mcp
npm install
npm run typecheck
npm test
A folder you put in ~/Jaspers/plugins is a plugin of your own, which the app rebuilds whenever you save. If this plugin is installed, remove it in Settings > Plugins first: the clone goes where the installed copy lives. Types come from @jaspers-ai/sdk, which the app provides at run time.
Release
Bump version in package.json, commit, and push a tag:
npm version patch
git push --follow-tags
The Release workflow checks the plugin and attaches screener-mcp-<version>.zip to a GitHub release. Update in Settings > Plugins picks it up.