Server definition
- Hash
- sha256:2871eb90d3a4ed2ec746e10c15889754600366d1212517b5f1995800e77bd831
- What it is
- What a remote MCP server returned when asked what it offers: 34 tools
The blob, as servednamed by its sha256
{
"instructions": "\nYou are connected to the Manawa Finance MCP server.\n\n1. VERBATIM QUERIES: When calling finance_search, pass the user's EXACT question\n as-is. Do NOT rephrase, summarize, add keywords, or \"improve\" the query. The\n search API has its own NLU router that works best with the user's original words.\n Example: if the user says \"Apple Q3 2024 earnings transcript\", call\n finance_search(query=\"Apple Q3 2024 earnings transcript\") โ NOT\n finance_search(query=\"Apple Q3 2024 earnings results revenue\").\n FRED series codes must be passed verbatim:\n finance_search(query=\"T10Y2Y\") or finance_search(query=\"UNRATE\") or\n finance_search(query=\"US bank credit of commercial banks Dec 2024\").\n\n2. WATCHLIST / PORTFOLIO SCREENS: finance_search cannot look up the user's\n watchlists or portfolios itself. When the user asks to screen / filter a\n named list or portfolio (e.g. \"SaaS watchlist with revenue growth > 20%\"):\n a) Call list_watchlists() or list_portfolios() first (authenticated CRUD).\n b) Pick the matching list and extract its symbols array.\n c) Call finance_search(query=<filter criteria verbatim>, symbols=[...]).\n Pass only the filter criteria in `query` (not the list name) โ the symbols\n parameter scopes the screener universe. Do NOT invent tickers.\n\n3. SOURCE ATTRIBUTION: Every response that uses data from finance_search should\n end with the source attribution from the tool output (lines starting with\n \"๐ **Source**:\"). Include that line so the user can open the underlying data.\n\n4. USAGE STATUS: finance_search may include a usage line when the account is at\n or above a usage threshold (percentage of daily search quota). When present,\n surface that line to the user so they can track remaining capacity.\n\n5. FORMAT: Present the data in a clear, readable format. Do not dump raw JSON.\n Summarize the key insights, then end with the source line (and usage line if\n present).\n\n6. NUMBERS: Quote figures only from the finance_search tool result. Do NOT invent\n prices, multiples, or peer metrics from memory. If a number is missing, say so.\n\n7. EXCLUSIVE MODES + FOLLOW-UPS: Default is AI when a Deep Dive exists. The\n structured result includes focus_used, sources[] (fetch handles), origin\n (provenance + dates), age_days, stale, next_calls, and attribution.\n Prefer focus=ai + section=โฆ for narrative; focus=raw + source=โฆ for one thin\n table (e.g. source=comparison_peers, source=price_targets). Follow next_calls\n rather than guessing.\n Sections: competition, financials, valuation, forecast, analyst_consensus,\n people, thesis, earnings, technicals, overview, moves, markets, flow, calendar, catalysts, odds, options, buzz, acceleration, heatmap.\n There is no Capital tab. Do not pass section=capital. Dividend and buyback\n questions are cash flow on Financials, not a stock tab.\n analyst_consensus (price targets, outlook, bullish/bearish) opens Valuation\n (/stock/T/valuation). The Forecast letter score stays /stock/T/analysis.\n A company's own prediction markets open /stock/T/predictions. section=odds\n stays the market-wide Predictions brain (/stocks/predictions?view=ai).\n BUZZ: buzz, social media, reddit, twitter, sentiment, or what people are\n talking about is section=buzz (the Stocks Buzz board). Pass the question\n verbatim. Do not rewrite it into news and do not use section=catalysts.\n Consumer sentiment and analyst sentiment are not this board.\n ACCELERATING: stocks accelerating, price acceleration, speeding up, or\n speeding down is section=acceleration (the Up and Down tables). Pass the\n question verbatim. Do not rewrite it into movers. Revenue, earnings, and\n growth acceleration are not this board.\n HEATMAP ROW: advance/decline, names within 10% of the 52-week high or low,\n or the market P/S, P/E, and P/FCF medians are section=heatmap. Pass the\n question verbatim. Do not rewrite it into the sector treemap. One company's\n P/E is not this row.\n\n8. MANUAL DEEPDIVE: finance_search only reads existing Deep Dives. To generate\n or refresh one, call run_deepdive(ticker=...). This consumes one monthly\n custom-run grant (Basic 10 / Pro 50 / Free 0) โ prepaid search credits\n cannot pay for it. The call queues generation and returns immediately;\n do not poll. Tell the user it is queued and they will be notified.\n\n9. BUG REPORTS: When the user asks to log a bug, or you have confirmed a\n real data/UI error (not a missing Deep Dive or a 429), call report_bug.\n Pass ticker/section when known so admin triage gets a terminal URL.\n Do not file speculative or \"just in case\" bugs.\n\n10. ADMIN MARKETING: marketing_inbox, marketing_graphics, and marketing_render\n are admin-only. Inbox first (since / ticker / type), then\n marketing_graphics(content_id) for live formats, then marketing_render and\n wait for image.url. Do not poll. Skip the item if options is empty.\n\nExample response format:\n[Your analysis of the data]\n\n๐ **Source**: [Manawa Terminal](https://terminal.manawa.app) ยท [๐บ View AAPL overview](https://terminal.manawa.app/stock/AAPL)\nโก You're 75% through today's searches\n",
"tools": [
{
"description": "Add a buy, sell, deposit, or withdrawal transaction to a portfolio.\n\n Args:\n portfolio_id: The portfolio UUID\n symbol: Stock symbol (e.g. \"AAPL\"). For deposit/withdrawal use \"$CASH\"\n (aliases \"CASH\" / blank are normalized to \"$CASH\").\n side: \"buy\", \"sell\", \"deposit\", or \"withdrawal\"\n qty: Number of shares (or cash amount for deposit/withdrawal)\n price: Price per share\n date: Transaction date (YYYY-MM-DD)\n ",
"inputSchema": {
"properties": {
"date": {
"title": "Date",
"type": "string"
},
"portfolio_id": {
"title": "Portfolio Id",
"type": "string"
},
"price": {
"title": "Price",
"type": "number"
},
"qty": {
"title": "Qty",
"type": "number"
},
"side": {
"title": "Side",
"type": "string"
},
"symbol": {
"title": "Symbol",
"type": "string"
}
},
"required": [
"portfolio_id",
"symbol",
"side",
"qty",
"price",
"date"
],
"title": "add_transactionArguments",
"type": "object"
},
"name": "add_transaction",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "add_transactionOutput",
"type": "object"
}
},
{
"description": "Create a price or event alert for a symbol.\n\n Args:\n symbol: Stock symbol (e.g. \"AAPL\")\n alert_type: \"target_price\", \"movement_pct\", or \"event\"\n direction: Required for price alerts โ \"above\", \"below\", or \"either\"\n threshold: Required for price alerts โ price level or percentage move\n notes: Optional description\n event_types: Required when alert_type is \"event\". One or more of:\n \"earnings_transcript\", \"insider_trade\", \"news_stock\", \"press_release\",\n \"filing_8k\", \"filing_13f\", \"politician_senate\", \"politician_house\",\n \"merger_acquisition\"\n ",
"inputSchema": {
"properties": {
"alert_type": {
"title": "Alert Type",
"type": "string"
},
"direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Direction"
},
"event_types": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Event Types"
},
"notes": {
"default": "",
"title": "Notes",
"type": "string"
},
"symbol": {
"title": "Symbol",
"type": "string"
},
"threshold": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Threshold"
}
},
"required": [
"symbol",
"alert_type"
],
"title": "create_alertArguments",
"type": "object"
},
"name": "create_alert",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_alertOutput",
"type": "object"
}
},
{
"description": "Create a library folder, optionally nested under a parent.\n\n Args:\n name: Folder name\n parent_id: Parent folder UUID (optional โ omit for a root folder)\n ",
"inputSchema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Parent Id"
}
},
"required": [
"name"
],
"title": "create_library_folderArguments",
"type": "object"
},
"name": "create_library_folder",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_library_folderOutput",
"type": "object"
}
},
{
"description": "Create a markdown or HTML document in the research library.\n\n Args:\n title: Document title\n content: Markdown body, or raw HTML when content_type is text/html\n folder_id: Folder UUID (optional โ omit for library root)\n content_type: text/markdown (default) or text/html. HTML is stored as source.\n ",
"inputSchema": {
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"content_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Type"
},
"folder_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Folder Id"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"content"
],
"title": "create_library_itemArguments",
"type": "object"
},
"name": "create_library_item",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_library_itemOutput",
"type": "object"
}
},
{
"description": "Create a portfolio with a name and base currency.\n\n Args:\n name: Portfolio name\n currency: Base currency (default USD)\n ",
"inputSchema": {
"properties": {
"currency": {
"default": "USD",
"title": "Currency",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "create_portfolioArguments",
"type": "object"
},
"name": "create_portfolio",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_portfolioOutput",
"type": "object"
}
},
{
"description": "Create a watchlist with the given name and ticker symbols.\n\n Args:\n name: Watchlist name\n symbols: List of stock symbols (e.g. [\"AAPL\", \"MSFT\"])\n ",
"inputSchema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"symbols": {
"items": {
"type": "string"
},
"title": "Symbols",
"type": "array"
}
},
"required": [
"name",
"symbols"
],
"title": "create_watchlistArguments",
"type": "object"
},
"name": "create_watchlist",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "create_watchlistOutput",
"type": "object"
}
},
{
"description": "Delete an alert by ID.\n\n Args:\n alert_id: The alert UUID\n ",
"inputSchema": {
"properties": {
"alert_id": {
"title": "Alert Id",
"type": "string"
}
},
"required": [
"alert_id"
],
"title": "delete_alertArguments",
"type": "object"
},
"name": "delete_alert",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_alertOutput",
"type": "object"
}
},
{
"description": "Delete a library folder and everything inside it.\n\n Args:\n folder_id: The folder UUID\n ",
"inputSchema": {
"properties": {
"folder_id": {
"title": "Folder Id",
"type": "string"
}
},
"required": [
"folder_id"
],
"title": "delete_library_folderArguments",
"type": "object"
},
"name": "delete_library_folder",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_library_folderOutput",
"type": "object"
}
},
{
"description": "Delete a library document and all of its stored versions.\n\n Args:\n item_id: The item UUID\n ",
"inputSchema": {
"properties": {
"item_id": {
"title": "Item Id",
"type": "string"
}
},
"required": [
"item_id"
],
"title": "delete_library_itemArguments",
"type": "object"
},
"name": "delete_library_item",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "delete_library_itemOutput",
"type": "object"
}
},
{
"description": "Search financial data and return an answer with an inline widget.\n\n Covers stocks, macro, forex, crypto, commodities, earnings, technicals,\n and related market questions. Pass the user's question in `query` without\n rephrasing.\n\n To screen a named watchlist or portfolio, call list_watchlists or\n list_portfolios first, then pass the symbols here with filter criteria in\n `query`.\n\n Exclusive modes when a Deep Dive exists:\n focus=ai + section=โฆ โ narrative section\n focus=raw + source=โฆ โ thin data slice\n focus=catalog โ list available Deep Dives\n\n Args:\n query: The user's financial question\n symbols: Optional ticker universe to screen (e.g. from list_watchlists)\n section: Optional Deep Dive section (competition, valuation, thesis,\n forecast, analyst_consensus, people, financials, earnings,\n technicals, overview, moves, markets, flow, calendar, catalysts, odds)\n or raw tapes: options, buzz, acceleration, heatmap.\n Buzz, social media, reddit, twitter, sentiment, or what people are\n talking about MUST be section=buzz. Do not send those to news or\n catalysts. Consumer sentiment and analyst sentiment are not Buzz.\n Stocks accelerating, price acceleration, speeding up, or speeding\n down MUST be section=acceleration. Do not send those to movers.\n Revenue, earnings, and growth acceleration are not this board.\n Advance/decline, names within 10% of the 52-week high or low, or\n the market P/S, P/E, and P/FCF medians MUST be section=heatmap.\n Do not send those to the sector treemap. One company's P/E is not\n this row.\n focus: Optional exclusive mode: ai | raw | auto | catalog\n source: Optional thin raw slice when focus=raw (comparison_peers,\n price_targets, consensus, quote, key_financials, โฆ)\n ",
"inputSchema": {
"properties": {
"focus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Focus"
},
"query": {
"title": "Query",
"type": "string"
},
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Section"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"symbols": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Symbols"
}
},
"required": [
"query"
],
"title": "finance_searchArguments",
"type": "object"
},
"name": "finance_search",
"outputSchema": null
},
{
"description": "Get a full generated journal entry by ID from list_journal.\n\n Draft ids from submit_journal_draft are not readable until end-of-day\n generation; use list_journal after the daily run for valid entry ids\n (integer or legacy UUID).\n\n Args:\n entry_id: Journal entry id from list_journal (integer or UUID)\n ",
"inputSchema": {
"properties": {
"entry_id": {
"title": "Entry Id",
"type": "string"
}
},
"required": [
"entry_id"
],
"title": "get_journal_entryArguments",
"type": "object"
},
"name": "get_journal_entry",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_journal_entryOutput",
"type": "object"
}
},
{
"description": "Get a library document's metadata and content.\n\n Content is markdown, raw HTML (content_type text/html), or a signed URL for PDFs.\n\n Args:\n item_id: The item UUID\n ",
"inputSchema": {
"properties": {
"item_id": {
"title": "Item Id",
"type": "string"
}
},
"required": [
"item_id"
],
"title": "get_library_itemArguments",
"type": "object"
},
"name": "get_library_item",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_library_itemOutput",
"type": "object"
}
},
{
"description": "Get recent triggered alert notifications.\n\n Args:\n offset: Skip this many notifications (default 0)\n limit: Page size (default 50, max 100). Upstream returns at most 50 unread.\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "get_notificationsArguments",
"type": "object"
},
"name": "get_notifications",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_notificationsOutput",
"type": "object"
}
},
{
"description": "Get portfolio performance statistics (returns, allocation, risk).\n\n Args:\n portfolio_id: The portfolio UUID\n ",
"inputSchema": {
"properties": {
"portfolio_id": {
"title": "Portfolio Id",
"type": "string"
}
},
"required": [
"portfolio_id"
],
"title": "get_portfolio_statisticsArguments",
"type": "object"
},
"name": "get_portfolio_statistics",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_portfolio_statisticsOutput",
"type": "object"
}
},
{
"description": "Get current holdings with quantity, cost basis, market value, and unrealized P&L.\n\n Args:\n portfolio_id: The portfolio UUID\n ",
"inputSchema": {
"properties": {
"portfolio_id": {
"title": "Portfolio Id",
"type": "string"
}
},
"required": [
"portfolio_id"
],
"title": "get_positionsArguments",
"type": "object"
},
"name": "get_positions",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_positionsOutput",
"type": "object"
}
},
{
"description": "List active price and event alerts for the authenticated user.\n\n Args:\n offset: Skip this many alerts (default 0)\n limit: Page size (default 50, max 100)\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_alertsArguments",
"type": "object"
},
"name": "list_alerts",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_alertsOutput",
"type": "object"
}
},
{
"description": "List generated daily research journal entries (most recent first).\n\n Entries appear only after the automatic end-of-day journal generation run.\n Drafts from submit_journal_draft are not listed until that run completes.\n\n Args:\n offset: Skip this many entries (default 0)\n limit: Page size (default 50, max 100). Upstream returns at most 90 days.\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_journalArguments",
"type": "object"
},
"name": "list_journal",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_journalOutput",
"type": "object"
}
},
{
"description": "List folders in the authenticated user's research library.\n\n Args:\n offset: Skip this many folders (default 0)\n limit: Page size (default 50, max 100)\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_library_foldersArguments",
"type": "object"
},
"name": "list_library_folders",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_library_foldersOutput",
"type": "object"
}
},
{
"description": "List version history for a library document (newest first).\n\n Args:\n item_id: The item UUID\n ",
"inputSchema": {
"properties": {
"item_id": {
"title": "Item Id",
"type": "string"
}
},
"required": [
"item_id"
],
"title": "list_library_item_versionsArguments",
"type": "object"
},
"name": "list_library_item_versions",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_library_item_versionsOutput",
"type": "object"
}
},
{
"description": "List documents in a library folder, or at the root if no folder is given.\n\n Args:\n folder_id: Folder UUID to list (optional โ omit for root-level items)\n offset: Skip this many items (default 0)\n limit: Page size (default 50, max 100)\n ",
"inputSchema": {
"properties": {
"folder_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Folder Id"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_library_itemsArguments",
"type": "object"
},
"name": "list_library_items",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_library_itemsOutput",
"type": "object"
}
},
{
"description": "List the authenticated user's portfolios.\n\n Args:\n offset: Skip this many portfolios (default 0)\n limit: Page size (default 50, max 100)\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_portfoliosArguments",
"type": "object"
},
"name": "list_portfolios",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_portfoliosOutput",
"type": "object"
}
},
{
"description": "List the authenticated user's watchlists and their symbols.\n\n Args:\n offset: Skip this many lists (default 0)\n limit: Page size (default 50, max 100)\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "list_watchlistsArguments",
"type": "object"
},
"name": "list_watchlists",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "list_watchlistsOutput",
"type": "object"
}
},
{
"description": "Admin only. Live formats for one inbox item, or the catalog.\n\n For a bot, pass content_id from marketing_inbox. Empty options means skip\n the item. Already-rendered images are included so you can reuse a cache hit.\n\n Args:\n content_id: gc:{id} or rd:{uuid} โ live formats for that item\n section: Catalog filter (no content_id)\n language: Catalog filter\n format: Catalog filter\n status: live or draft (catalog only)\n ",
"inputSchema": {
"properties": {
"content_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Id"
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Format"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Language"
},
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Section"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
}
},
"title": "marketing_graphicsArguments",
"type": "object"
},
"name": "marketing_graphics",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "marketing_graphicsOutput",
"type": "object"
}
},
{
"description": "Admin only. Latest teasers plus already-generated images.\n\n Use ticker for all current items on a symbol, type for one content_type\n across symbols, or since for the worker poll. Then call\n marketing_graphics(content_id) for live formats. Reuse items[].images[]\n when the option you want is already rendered.\n\n Args:\n since: ISO timestamptz โ inbox newer than this\n ticker: Current items for this symbol\n type: allowlisted content_type or research_drop\n limit: 1โ200 (default 50)\n ",
"inputSchema": {
"properties": {
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Limit"
},
"since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Since"
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ticker"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Type"
}
},
"title": "marketing_inboxArguments",
"type": "object"
},
"name": "marketing_inbox",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "marketing_inboxOutput",
"type": "object"
}
},
{
"description": "Admin only. Render one live format and wait until image.url exists.\n\n Blocks until GCS has the PNG (or a cache hit). Do not poll. Draft\n formats return option_not_live.\n\n Args:\n content_id: gc:{id} or rd:{uuid}\n option_id: live option from marketing_graphics\n force: Bypass render cache\n ",
"inputSchema": {
"properties": {
"content_id": {
"title": "Content Id",
"type": "string"
},
"force": {
"default": false,
"title": "Force",
"type": "boolean"
},
"option_id": {
"title": "Option Id",
"type": "string"
}
},
"required": [
"content_id",
"option_id"
],
"title": "marketing_renderArguments",
"type": "object"
},
"name": "marketing_render",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "marketing_renderOutput",
"type": "object"
}
},
{
"description": "Move a library folder under a different parent (or to root).\n\n Args:\n folder_id: The folder UUID to move\n parent_id: New parent folder UUID (omit / null for library root)\n ",
"inputSchema": {
"properties": {
"folder_id": {
"title": "Folder Id",
"type": "string"
},
"parent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Parent Id"
}
},
"required": [
"folder_id"
],
"title": "move_library_folderArguments",
"type": "object"
},
"name": "move_library_folder",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "move_library_folderOutput",
"type": "object"
}
},
{
"description": "Move a library document into a different folder (or to root).\n\n Args:\n item_id: The item UUID to move\n folder_id: Destination folder UUID (omit / null for library root)\n ",
"inputSchema": {
"properties": {
"folder_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Folder Id"
},
"item_id": {
"title": "Item Id",
"type": "string"
}
},
"required": [
"item_id"
],
"title": "move_library_itemArguments",
"type": "object"
},
"name": "move_library_item",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "move_library_itemOutput",
"type": "object"
}
},
{
"description": "Rename a library folder.\n\n Args:\n folder_id: The folder UUID\n name: New folder name\n ",
"inputSchema": {
"properties": {
"folder_id": {
"title": "Folder Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"folder_id",
"name"
],
"title": "rename_library_folderArguments",
"type": "object"
},
"name": "rename_library_folder",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "rename_library_folderOutput",
"type": "object"
}
},
{
"description": "Log a bug in the same inbox as the terminal bug button (5 per user per day).\n\n Use only when the user asks, or when you have confirmed a real data/UI\n error. Do not file speculative bugs. Pass ticker/section so admins get a\n terminal URL; page_url is optional if it is already a terminal.manawa.app link.\n\n Args:\n description: What is wrong (10โ2000 characters)\n ticker: Optional stock symbol the bug is about\n section: Optional tab (overview, financials, thesis, valuation, โฆ)\n page_url: Optional full terminal URL if already known\n ",
"inputSchema": {
"properties": {
"description": {
"title": "Description",
"type": "string"
},
"page_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Page Url"
},
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Section"
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ticker"
}
},
"required": [
"description"
],
"title": "report_bugArguments",
"type": "object"
},
"name": "report_bug",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "report_bugOutput",
"type": "object"
}
},
{
"description": "Queue a full DeepDive suite for a stock using a monthly custom-run grant.\n\n Prepaid search credits cannot pay for this. Free plans have 0 runs;\n Basic has 10/month; Pro has 50/month. Re-running a ticker already\n unlocked this month does not consume another grant. The call returns\n as soon as the job is queued โ do not poll.\n\n Args:\n ticker: Stock symbol (e.g. \"AAPL\")\n force: Re-queue every chapter even when a current report exists.\n Use when on-file content is the wrong instrument (e.g. ZS\n Thesis written as soybeans).\n ",
"inputSchema": {
"properties": {
"force": {
"default": false,
"title": "Force",
"type": "boolean"
},
"ticker": {
"title": "Ticker",
"type": "string"
}
},
"required": [
"ticker"
],
"title": "run_deepdiveArguments",
"type": "object"
},
"name": "run_deepdive",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "run_deepdiveOutput",
"type": "object"
}
},
{
"description": "Full-text search across the authenticated user's library documents.\n\n Args:\n query: Search terms\n limit: Max results (default 20, capped at 50)\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
},
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "search_libraryArguments",
"type": "object"
},
"name": "search_library",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "search_libraryOutput",
"type": "object"
}
},
{
"description": "Submit a journal draft for a day. Same-day resubmissions are retained as separate drafts.\n\n The draft is accepted immediately but the readable daily journal entry is\n generated automatically at end of day; it then appears in list_journal.\n The returned draft id is not a list_journal / get_journal_entry id until then.\n\n Args:\n entry_date: Day the draft is for (YYYY-MM-DD)\n content: Draft text\n ",
"inputSchema": {
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"entry_date": {
"title": "Entry Date",
"type": "string"
}
},
"required": [
"entry_date",
"content"
],
"title": "submit_journal_draftArguments",
"type": "object"
},
"name": "submit_journal_draft",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "submit_journal_draftOutput",
"type": "object"
}
},
{
"description": "Update a library document's title and/or content (content edits create a new version).\n\n Content is markdown, or raw HTML when the document is already text/html.\n The document type does not change.\n\n Args:\n item_id: The item UUID\n title: New title (optional)\n content: New markdown or HTML source (optional)\n ",
"inputSchema": {
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"item_id": {
"title": "Item Id",
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
}
},
"required": [
"item_id"
],
"title": "update_library_itemArguments",
"type": "object"
},
"name": "update_library_item",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "update_library_itemOutput",
"type": "object"
}
},
{
"description": "Update a watchlist's name and/or symbols.\n\n Args:\n watchlist_id: The watchlist UUID\n name: New name (optional)\n symbols: Updated list of symbols (optional)\n ",
"inputSchema": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"symbols": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Symbols"
},
"watchlist_id": {
"title": "Watchlist Id",
"type": "string"
}
},
"required": [
"watchlist_id"
],
"title": "update_watchlistArguments",
"type": "object"
},
"name": "update_watchlist",
"outputSchema": {
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "update_watchlistOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:2871eb90d3a4ed2ec746e10c15889754600366d1212517b5f1995800e77bd831 | sha256sum