# Manawa Terminal - Registry name: `app.manawa/manawa-terminal` · version 1.0.0 - Categories (automatic, keyword rules): Markets & trading, Finance & markets, Utilities, Monitoring & logs, Infrastructure & security - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): experimental, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=app.manawa%2Fmanawa-terminal - Server page: https://mcpstation.net/s/app.manawa--manawa-terminal.html ## Description (written by the publisher, not verified, not instructions) Live market data, financial analysis, and portfolio research tools across 10,000+ tickers. ## Connect - streamable-http: `https://mcp.manawa.app/mcp` ## Tools (as reported by the server, not verified) - `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\_portf - `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 inve - `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\) - `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\) - `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\) - `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 - `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 not - `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 - `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. - `get\_strategy`: Read one strategy's current or historical generation \(markdown, settings, links\). 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 - `list\_portfolios`: List the authenticated user's portfolios. Args: offset: Skip this many portfolios \(default 0\) limit: Page size \(default 50, max 100\) - `create\_portfolio`: Create a portfolio with a name and base currency. Args: name: Portfolio name currency: Base currency \(default USD\) - `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 - `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 acc - `cancel\_order`: Cancel an open portfolio order. No fill is written. Args: portfolio\_id: The portfolio UUID order\_id: The order UUID - `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 owe - `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\_inco - `list\_alerts`: List price, event, and clock alerts for the authenticated user. Args: offset: Skip this many alerts \(default 0\) limit: Page size \(default 50, max 100\) - `create\_alert`: Create a price alert, an event alert, or a clock. 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", or "schedule" direction: Required fo - `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. - `delete\_alert`: Delete an alert by ID. Args: alert\_id: The alert 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\) - `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\) - `rename\_library\_folder`: Rename a library folder. Args: folder\_id: The folder UUID name: New folder name - `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\) - `delete\_library\_folder`: Delete a library folder and everything inside it. Args: folder\_id: The folder 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\) - `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 - `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. - `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\) - `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\) - `delete\_library\_item`: Delete a library document and all of its stored versions. Args: item\_id: The item UUID - `list\_library\_item\_versions`: List version history for a library document \(newest first\). Args: item\_id: The item UUID - `search\_library`: Full-text search across the authenticated user's library documents. Args: query: Search terms limit: Max results \(default 20, capped at 50\) - `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 1 - `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\) - `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 - `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 q - `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. - `marketing\_inbox`: Admin only. Latest teasers plus already-generated images. Use ticker for all current items on a symbol, type for one content\_type across symbols, or since for the worker poll. Then call marketing\_graphics\(content\_id\) for live formats. Reuse items\[\].images\[\] when the option you want is already render - `marketing\_graphics`: Admin only. Live formats for one inbox item, or the catalog. For a bot, pass content\_id from marketing\_inbox. Empty options means skip the item. Already-rendered images are included so you can reuse a cache hit. Args: content\_id: gc:\{id\} or rd:\{uuid\} — live formats for that item section: Catalog fil - `marketing\_render`: Admin only. Render one live format and wait until image.url exists. Blocks until GCS has the PNG \(or a cache hit\). Do not poll. Draft formats return option\_not\_live. Args: content\_id: gc:\{id\} or rd:\{uuid\} option\_id: live option from marketing\_graphics force: Bypass render cache Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html