mcpbeat Sign in

Manawa Terminal MCP Server

answering

Manawa Terminal is answering right now. Last checked 11 min ago. It exposes 46 tools.

Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.

Uptime history 91 days of history
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
46
Tools
read from the server
241 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 139

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 17 August 2026. No other catalogue keeps this.

5 Nov 3 tool descriptions were rewritten create_alert, list_alerts, report_bug
5 Nov 3 tools disappeared marketing_graphics, marketing_inbox, marketing_render
5 Nov 2 tools appeared get_notification_settings, update_notification_settings
5 Nov 2 tools changed the parameters they ask for create_alert, report_bug
30 Oct 42 tools changed the parameters they ask for cancel_order, create_alert, create_library_folder and 39 more
30 Oct a tool description was rewritten finance_search
27 Oct 3 tool descriptions were rewritten add_transaction, finance_search, get_strategy
27 Oct 2 tools changed the parameters they ask for add_transaction, finance_search
27 Oct a tool appeared tag_activity
24 Oct a tool description was rewritten finance_search
and 79 more, back to 17 August 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add manawa-terminal --transport http https://mcp.manawa.app/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.manawa.app/mcp
~/.codex/config.toml
[mcp_servers.manawa-terminal]
url = "https://mcp.manawa.app/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "manawa-terminal": {
      "url": "https://mcp.manawa.app/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "manawa-terminal": {
      "type": "http",
      "url": "https://mcp.manawa.app/mcp"
    }
  }
}

Available tools 46

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

library
create_library_folder
Create a library folder, optionally nested under a parent. Args: name: Folder name parent_id: Parent folder UUID (optional — omit for a root folder)
create_library_item
Create a markdown or HTML document in the research library. Args: title: Document title content: Markdown body, or raw HTML when content_type is text/html folder_id: Folder UUID (optional — omit for library root) content_type: text/markdown (default) or text/html. HTML is stored as source.
delete_library_folder
Delete a library folder and everything inside it. Args: folder_id: The folder UUID
delete_library_item
Delete a library document and all of its stored versions. Args: item_id: The item UUID
get_library_item
Get a library document's metadata and content. Content is markdown, raw HTML (content_type text/html), or a signed URL for PDFs. Args: item_id: The item UUID
list_library_folders
List folders in the authenticated user's research library. Args: offset: Skip this many folders (default 0) limit: Page size (default 50, max 100)
list_library_item_versions
List version history for a library document (newest first). Args: item_id: The item UUID
list_library_items
List documents in a library folder, or at the root if no folder is given. Args: folder_id: Folder UUID to list (optional — omit for root-level items) offset: Skip this many items (default 0) limit: Page size (default 50, max 100)
search_library
Full-text search across the authenticated user's library documents. Args: query: Search terms limit: Max results (default 20, capped at 50)
update_library_item
Update a library document's title and/or content (content edits create a new version). Content is markdown, or raw HTML when the document is already text/html. The document type does not change. Args: item_id: The item UUID title: New title (optional) content: New markdown or HTML source (optional)
screener
create_screener
Save a screener filter query for scheduled enter/exit (joiner/leaver) notifies. Same rows as Terminal Save on /screener. Pass last_symbols (current matches) or call run_screener after create to seed the baseline; later runs notify names that enter or leave when Settings Screener in & out is on. Args: name: Screener name (blank → derived from filters) query: Filter blob {universe, fmp, metrics, ai, member?, view?} schedule: "off", "daily", or "weekly" (weekly requires Pro) notify_on_change: Notify on enter/exit after the first seed (default true) last_symbols: Current result tickers to seed the enter/exit baseline
delete_screener
Delete a saved screener by ID. Args: screener_id: The screener UUID from list_screeners
run_screener
Re-run a saved screener; persist last_symbols; return entered/exited. First seed does not notify. Later runs notify joiners and leavers when Settings Screener in & out is on. Same path as Terminal Run now. Args: screener_id: The screener UUID from list_screeners
update_screener
Update a saved screener's name, query, schedule, or baseline symbols. Args: screener_id: The screener UUID from list_screeners name: New name (optional) query: Updated filter blob (optional) schedule: "off", "daily", or "weekly" (optional; weekly requires Pro) notify_on_change: Toggle enter/exit notifies (optional) last_symbols: Refresh enter/exit baseline from the live table (optional)
portfolio
create_portfolio
Create a portfolio with a name and base currency. Args: name: Portfolio name currency: Base currency (default USD)
get_portfolio_rules
Read the order limits for a portfolio. Call this before add_transaction on a buy, sell, short, or cover. The rules say which assets are allowed and how large an order may be. This tool cannot change the rules. Args: portfolio_id: The portfolio UUID
get_portfolio_statistics
Get portfolio performance statistics (returns, allocation, risk). gross_exposure and net_exposure are in book currency. A weight may be negative. dividend_income is cash by stock and can be negative when a short owes the dividend. total_gain is unrealized_pnl + realized_pnl. Do not add dividend_income on top of total_gain. Args: portfolio_id: The portfolio UUID
alert
create_alert
Create a price alert, an event alert, a clock, or a trailing alert. Calling this stores the alert. A clock may omit the ticker. Args: symbol: Stock symbol (e.g. "AAPL"). Required for price and event alerts. Optional for a clock. alert_type: "target_price", "movement_pct", "event", "schedule", or "trailing" direction: For price alerts: "above", "below", or "either". For trailing: "long" or "short". Long trails the high since arming; short trails the low. Fires when price gives back trail_pct percent or trail_amount from that extreme. threshold: Required for price alerts — price level or percentage move. Not used for trailing. notes: Optional description. Not the agent instruction. event_types: Required when alert_type is "event". Live-tape ids such as filing_13f, politician_senate, options_unusual, ipo_upcoming. event_filters: Optional slices. Example: {"politician_senate": {"type": ["purchase"]}}. An omitted field matches every value. name: Optional title. Blank is filled from the rule. agent_instruction: What the agent does when this fires. Empty means notify only. max_fires: How many fires before it leaves Active. Omit to keep a repeating alert firing. schedule_at: ISO time. Required when alert_type is "schedule". schedule_tz: IANA zone. UTC when omitted. schedule_repeat: once, daily, weekdays, weekly, or monthly. Default once. skill_id: Strategy id this alert belongs to. Required when rule_ref is set. rule_ref: The section tag of the strategy rule this alert serves; the agent reads that section when the alert fires (STRATEGY_ALERTS=1). off_hours: "defer" (wake at next session open) or "now" (act while closed). Used when ALERT_OFF_HOURS=1 and the alert has an agent instruction. trail_pct: Trailing give-back percent (0 < x <= 50). Exactly one of trail_pct or trail_amount. trail_amount: Trailing give-back absolute amount (> 0). Exactly one of trail_pct or trail_amount. activate_at: Optional price that must be reached before trailing starts.
delete_alert
Delete an alert by ID. Args: alert_id: The alert UUID
journal
get_journal_entry
Get a full generated journal entry by ID from list_journal. Draft ids from submit_journal_draft are not readable until end-of-day generation; use list_journal after the daily run for valid entry ids (integer or legacy UUID). Args: entry_id: Journal entry id from list_journal (integer or UUID)
list_journal
List generated daily research journal entries (most recent first). Entries appear only after the automatic end-of-day journal generation run. Drafts from submit_journal_draft are not listed until that run completes. Args: offset: Skip this many entries (default 0) limit: Page size (default 50, max 100). Upstream returns at most 90 days.
move
move_library_folder
Move a library folder under a different parent (or to root). Args: folder_id: The folder UUID to move parent_id: New parent folder UUID (omit / null for library root)
move_library_item
Move a library document into a different folder (or to root). Args: item_id: The item UUID to move folder_id: Destination folder UUID (omit / null for library root)
notification
get_notification_settings
Read the account's notification preferences (Settings → Notifications). Includes approval-request and strategy-run toggles (T06).
update_notification_settings
Update notification preferences. Pass only the fields to change (booleans). Approval request defaults on. Strategy run start defaults off; finish defaults on.
strategy
get_strategy
Read one strategy's current or historical generation (markdown, settings, links). The playbook text is returned in full. It is not cut at the usual response size. Args: strategy_id: Strategy UUID from list_strategies generation: Optional GCS generation for an older save (from list_strategy_versions)
list_strategy_versions
List saved generations for a strategy (newest first, with version notes). Args: strategy_id: Strategy UUID from list_strategies
watchlist
create_watchlist
Create a watchlist with the given name and ticker symbols. Args: name: Watchlist name symbols: List of stock symbols (e.g. ["AAPL", "MSFT"])
update_watchlist
Update a watchlist's name and/or symbols. Args: watchlist_id: The watchlist UUID name: New name (optional) symbols: Updated list of symbols (optional)
alerts
list_alerts
List price, event, and clock alerts for the authenticated user. Each alert may include skill_id and rule_ref (the section tag of the strategy rule this alert serves; the agent reads that section when the alert fires). Args: offset: Skip this many alerts (default 0) limit: Page size (default 50, max 100)
cancel
cancel_order
Cancel an open portfolio order. No fill is written. Args: portfolio_id: The portfolio UUID order_id: The order UUID
deepdive
run_deepdive
Queue a full DeepDive suite for a stock using a monthly custom-run grant. Prepaid search credits cannot pay for this. Free plans have 0 runs; Basic has 10/month; Pro has 50/month. Re-running a ticker already unlocked this month does not consume another grant. The call returns as soon as the job is queued — do not poll. Args: ticker: Stock symbol (e.g. "AAPL") force: Re-queue every chapter even when a current report exists. Use when on-file content is the wrong instrument (e.g. ZS Thesis written as soybeans).
earnings
earnings_rag
Retrieve what was said on earnings calls, plus the print and the price move. Use this for one season across several names, or this season versus a prior season. Pass tickers you already have, or a sector label such as Financials or Technology. Banks, insurers, and brokers are Financials. Do not invent symbols. finance_search still answers when a company reports, the Earnings Deep Dive, and a request for the full transcript. Args: question: What to look for in the calls, such as credit costs or guidance. tickers: Symbols to search. Optional when sector is set. sector: SIC sector stored on the chunks, such as Financials or Technology. conference_from: Season start, YYYY-MM-DD, with conference_to. conference_to: Season end, YYYY-MM-DD. compare_from: Prior season start, with compare_to. compare_to: Prior season end. fiscal_year: Fiscal year, with fiscal_quarter, instead of dates. fiscal_quarter: Fiscal quarter 1-4. compare_fiscal_year: Prior fiscal year, with compare_fiscal_quarter. compare_fiscal_quarter: Prior fiscal quarter 1-4. last_n_quarters: Recent calls per ticker, 1-8. Not used with compare. chunks_per_ticker: Excerpts per call, 1-5. Default 3.
edit
edit_order
Change an open portfolio order. Use this before cancel_order. Attach or replace the investment case with library_item_id. That is the document id. search_library returns it as item_id. list_library_items returns it as id. Pass the id, not the title. An empty library_item_id removes the case. The accept card and the book show it. qty, price, expires_kind (day, gtc, or delete_after), expires_at, after_hours, and library_item_id. Send only the fields that change. Rules still apply. HIL on, or an order above Skip HIL up to, opens the accept card again. A day order needs an open session. A good till that lasts past the next open can stay open while the session is closed. Args: portfolio_id: The portfolio UUID order_id: The order UUID qty: New share count price: New price, or the new limit expires_kind: day, gtc (90 days), or delete_after expires_at: Required with delete_after. Naive times are New York. after_hours: Extended session for a stock or ETF library_item_id: The investment case. The document id from search_library (item_id) or list_library_items (id). Not the title. An empty string removes the case.
finance
finance_search
Search financial data and return an answer with an inline widget. Covers stocks, macro, forex, crypto, commodities, earnings, technicals, and related market questions. Pass the user's question in `query` without rephrasing. To screen a named watchlist or portfolio, call list_watchlists or list_portfolios first, then pass the symbols here with filter criteria in `query`. Exclusive modes when a Deep Dive exists: focus=ai + section=… → narrative section focus=raw + source=… → thin data slice focus=catalog → list available Deep Dives Args: query: The user's financial question symbols: Optional ticker universe to screen (e.g. from list_watchlists) section: Optional Deep Dive section (competition, valuation, thesis, forecast, analyst_consensus, people, financials, earnings, technicals, overview, moves, markets, flow, calendar, catalysts, odds) or raw tapes: options, buzz, acceleration, heatmap, etf, bonds. The ETF board is section=etf with no ticker. One fund's holdings are section=etf plus that ticker. The bond board is section=bonds. A TIPS yield labeled real is the real yield. A spread marked n/a stays n/a. Do not use an option-adjusted spread as the page spread. Thesis is section=thesis and opens /stock/T/thesis. Business is section=competition (/stock/T/competition). Price is /stock/T/overview; Large Moves on that tab are section=moves. Forecast narrative is section=forecast (/stock/T/analysis). Street targets and stance are section=analyst_consensus (/stock/T/valuation). Dividends, buybacks, and the alignment / allocation boxes are section=financials. There is no Capital section. Buzz, social media, reddit, twitter, sentiment, or what people are talking about MUST be section=buzz. Do not send those to news or catalysts. Consumer sentiment and analyst sentiment are not Buzz. Stocks accelerating, price acceleration, speeding up, or speeding down MUST be section=acceleration. Do not send those to movers. Revenue, earnings, and growth acceleration are not this board. Advance/decline, names within 10% of the 52-week high or low, or the market P/S, P/E, and P/FCF medians MUST be section=heatmap. Do not send those to the sector treemap. One company's P/E is not this row. One name's options, realized vol, vola, call or put volume, or call or put premium MUST be section=options. The 21-day realized vol is a yearly rate that places the percentile strikes. A band word compares today's session with the prior 20 sessions. A press release, presentation, 10-Q, or 10-K for one ticker is section=earnings, focus=raw, source=earnings_documents. That is not the Earnings write-up. Stocks Flow lines are Insiders, Politicians, Institutional, and Large Holders. Pass those questions verbatim and do not set section=flow. section=flow is only the Flow Deep Dive. Open, Increase, Decrease, and Close are the four moves. A politician Purchase is an Increase and a plain Sale is a Decrease; an asterisk means the form did not say. Institutional ETFs and Stocks are a listing. Latest, Largest, and Best are gone. Large Holders is 13D and 13G. Do not invent a dollar value there. focus: Optional exclusive mode: ai | raw | auto | catalog source: Optional thin raw slice when focus=raw (comparison_peers, price_targets, consensus, quote, key_financials, earnings_documents, …) strategy_id: Optional strategy UUID from list_strategies. When set, the card this search writes keeps that id.
notifications
get_notifications
Get alert notifications. Unread only, unless history is set. Args: offset: Skip this many rows (default 0) limit: Page size (default 50, max 100). Unread upstream cap is 50. history: When true, return fired alerts including ones already read, newest first.
portfolios
list_portfolios
List the authenticated user's portfolios. Args: offset: Skip this many portfolios (default 0) limit: Page size (default 50, max 100)
positions
get_positions
Get current holdings with quantity, cost basis, market value, and unrealized P&L. A short has negative shares, a positive avg_cost, a negative total_cost_book (the open credit), and a negative market value. Unrealized profit is positive. Cash includes short proceeds and is reduced when the short owes a dividend. Open cost of a long is already net of dividends still held. Realized P&L from closed longs and shorts is on get_portfolio_statistics. Args: portfolio_id: The portfolio UUID
rename
rename_library_folder
Rename a library folder. Args: folder_id: The folder UUID name: New folder name
report
report_bug
Log a bug in the same inbox as the terminal bug button (5 per user per day). Use only when the user asks, or when you have confirmed a real data/UI error. Do not file speculative bugs. Pass ticker/section so admins get a terminal URL; page_url is optional if it is already a terminal.manawa.app link. Prefer block_id (registry.ui_blocks id) when the bug is tied to a page element; include item_ids and developer_note when known. Args: description: What is wrong (10–2000 characters) ticker: Optional stock symbol the bug is about section: Optional tab (overview, financials, thesis, valuation, …) page_url: Optional full terminal URL if already known block_id: Optional registry.ui_blocks id for the page element item_ids: Optional provenance / store item ids related to the bug developer_note: Optional note for developers (repro steps, flags, etc.)
screeners
list_screeners
List the authenticated user's saved screeners (filter queries + schedule). Args: offset: Skip this many screeners (default 0) limit: Page size (default 50, max 100)
strategies
list_strategies
List the authenticated user's agent-rail strategies (id, name, active, color). Does not include full markdown — use get_strategy for the live playbook text, settings, and links. Strategy writes require the Terminal browser or agent.
submit
submit_journal_draft
Submit a journal draft for a day. Same-day resubmissions are retained as separate drafts. The draft is accepted immediately but the readable daily journal entry is generated automatically at end of day; it then appears in list_journal. The returned draft id is not a list_journal / get_journal_entry id until then. Args: entry_date: Day the draft is for (YYYY-MM-DD) content: Draft text
tag
tag_activity
Mark one action as belonging to a strategy already on this account. Call list_strategies first and pass that id. The playbook stays read-only. This only writes the activity tag. kind is decision, tool_call, order, alert_set, library_save, screener_run, or query. tool is mcp, portfolios, alerts, library, journal, screeners, watchlists, or chat. Args: strategy_id: Strategy UUID from list_strategies title: What was done, in one short line kind: The activity kind. Default tool_call tickers: Symbols involved, if any tool: Which desk the action belongs to. Default mcp
transaction
add_transaction
Add a buy, sell, deposit, withdrawal, dividend, short, or cover to a portfolio. Attach an investment case with library_item_id. That is the document id. search_library returns it as item_id. list_library_items returns it as id. Pass the id, not the title. The accept card and the transaction row show the case. Leave library_item_id empty when there is no case. A buy, sell, short, or cover is a portfolio order. Call get_portfolio_rules first and size it to those rules. filled means the book took it. pending means the card is open: do not ask again and do not send a second order. A refused error is a portfolio rule. Do not shrink the order. Dividend, deposit, and withdrawal still record a transaction immediately. order_type market ignores price and uses the live price. With HIL on, or the order above Skip HIL up to, the card opens at that live price. HIL off, or under the skip, fills. A past date records that day's average. A future date is refused. order_type limit requires price. The card opens before the limit rests when HIL requires it. Accept arms it. The card does not open again when the price hits. A past date records the price after that day's range check. expires_kind is gtc (90 days), day, or delete_after. delete_after needs expires_at. after_hours lets a stock or ETF print in the extended session. on_touch review wakes you when the limit hits so you can look and then submit. on_touch direct applies the book rules then, with no second look. A hard limit still refuses. HIL still opens the card for a resting limit. A short names the stock. qty is the shares sold short. price is the sale price per share. A cover names the stock. qty is the shares bought back. price is the price per share. Neither uses $CASH. A short while long, a cover larger than the short, a sell larger than the long, and a buy while short come back as the terminal's 400. Do not rewrite that error into a success. A dividend names the stock, not $CASH. qty is the shares, price is the amount per share and must be greater than 0, and date is the pay date. Cash increases on a long and decreases on a short. The share count does not change. The open cost of a long drops by the part still held. A short's open credit shrinks. The closed slice is realized P&L. Args: portfolio_id: The portfolio UUID symbol: Stock symbol (e.g. "AAPL"). For deposit/withdrawal use "$CASH" (aliases "CASH" / blank are normalized to "$CASH"). side: "buy", "sell", "deposit", "withdrawal", "dividend", "short", or "cover" qty: Number of shares (or cash amount for deposit/withdrawal) price: Price per share. Required for a limit, a dividend, and cash. Omit it for a market. date: Trade date, or the dividend pay date (YYYY-MM-DD). Today or a past date. order_type: market or limit. Market uses the live price today and the day's average in the past. limit_price: Resting price. Omit it when order_type is set; price is used. expires_kind: gtc, day, or delete_after. Used with a limit. expires_at: End time when expires_kind is delete_after. after_hours: Allow the extended stock and ETF session. on_touch: review or direct. Used with a limit. Default is review. library_item_id: The investment case. The document id from search_library (item_id) or list_library_items (id). Not the title. Omit when there is no case. strategy_id: Strategy UUID from list_strategies. Tags this order on that strategy's activity. Omit when the order is not part of a strategy.
watchlists
list_watchlists
List the authenticated user's watchlists and their symbols. Args: offset: Skip this many lists (default 0) limit: Page size (default 50, max 100)

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

marketing_graphics
removed 5 Nov 2026
marketing_inbox
removed 5 Nov 2026
marketing_render
removed 5 Nov 2026

Endpoints

URLTransportStateLatencyChecked
https://mcp.manawa.app/mcp streamable-http answering 217 ms 11 min ago

Alternatives to Manawa Terminal

same job, measured the same way
Fincept
by fincept

Fincept financial data and analytics: markets, economics, research and terminal tools.

answering
M
Macroaxis Financial Data
by macroaxis

Financial market, fundamental, valuation, risk, ownership, forecast, and portfolio tools.

50 installs/wk answering
Financial Datasets
by financialdatasets

Structured, real-time stock market data for 27,000+ active and delisted U.S. tickers.

answering
Finance
by cybeleri

Financial data MCP server: stock quotes, crypto prices, portfolio tracking, market analysis

53 installs/wk local only
Open Markets
by danchev

Financial market data, SEC filings, macroeconomic telemetry, and portfolio analytics through MCP.

148 installs/wk local only
Unquant
by unquant

Financial data MCP for market, company, news, macro, and US Congress research.

28 tools answering
eToro MCP Server
by gabrielcerutti

Connect AI assistants to eToro for portfolio analysis, market research, and trading.

112 installs/wk local only
Ghostfolio MCP
by mhajder

MCP server for Ghostfolio portfolio management and financial data access

263 installs/wk local only

Manawa Terminal — questions

Answers built from our own checks of this server.

What can Manawa Terminal do?
It exposes 46 tools, read directly from the server on our last check. Among them: add_transaction, cancel_order, create_alert, create_library_folder, create_library_item, create_portfolio and 40 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Manawa Terminal mostly used for?
Its tools cluster around library, screener and portfolio. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Manawa Terminal working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 241 ms. The bar chart above shows every period we have measured.
Did Manawa Terminal ever remove tools?
Yes. marketing_graphics, marketing_inbox, marketing_render are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Manawa Terminal?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Manawa Terminal need an API key?
No. Manawa Terminal completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 46 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Manawa Terminal?
It answers our handshake in 241 ms on average, which is faster than 60% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.