Manawa Terminal

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

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
73%
命名质量
96%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'rename_library_folder' description lacks action verb在 rename_library_folder 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~6,992token 数(工具定义)
~1.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.46%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "manawa-terminal": {
      "url": "https://mcp.manawa.app/mcp"
    }
  }
}

远程端点

https://mcp.manawa.app/mcpstreamable-http

它能做什么

工具清单

工具(34)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢finance_search(query, symbols, section, focus, source)

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. 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. focus: Optional exclusive mode: ai | raw | auto | catalog source: Optional thin raw slice when focus=raw (comparison_peers, price_targets, consensus, quote, key_financials, …)

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "symbols": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Symbols"
    },
    "section": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Section"
    },
    "focus": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Focus"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source"
    }
  },
  "required": [
    "query"
  ],
  "title": "finance_searchArguments"
}
🟢list_watchlists(offset, limit)

List the authenticated user's watchlists and their symbols. Args: offset: Skip this many lists (default 0) limit: Page size (default 50, max 100)

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_watchlistsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_watchlistsOutput"
}
🟡create_watchlist(name, symbols)

Create a watchlist with the given name and ticker symbols. Args: name: Watchlist name symbols: List of stock symbols (e.g. ["AAPL", "MSFT"])

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "symbols": {
      "items": {
        "type": "string"
      },
      "title": "Symbols",
      "type": "array"
    }
  },
  "required": [
    "name",
    "symbols"
  ],
  "title": "create_watchlistArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_watchlistOutput"
}
🟡update_watchlist(watchlist_id, name, symbols)

Update a watchlist's name and/or symbols. Args: watchlist_id: The watchlist UUID name: New name (optional) symbols: Updated list of symbols (optional)

输入模式

{
  "type": "object",
  "properties": {
    "watchlist_id": {
      "title": "Watchlist Id",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "symbols": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Symbols"
    }
  },
  "required": [
    "watchlist_id"
  ],
  "title": "update_watchlistArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "update_watchlistOutput"
}
🟢list_portfolios(offset, limit)

List the authenticated user's portfolios. Args: offset: Skip this many portfolios (default 0) limit: Page size (default 50, max 100)

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_portfoliosArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_portfoliosOutput"
}
🟡create_portfolio(name, currency)

Create a portfolio with a name and base currency. Args: name: Portfolio name currency: Base currency (default USD)

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "currency": {
      "default": "USD",
      "title": "Currency",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "create_portfolioArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_portfolioOutput"
}
🟡add_transaction(portfolio_id, symbol, side, qty, price, ...)

Add a buy, sell, deposit, or withdrawal transaction to a portfolio. 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", or "withdrawal" qty: Number of shares (or cash amount for deposit/withdrawal) price: Price per share date: Transaction date (YYYY-MM-DD)

输入模式

{
  "type": "object",
  "properties": {
    "portfolio_id": {
      "title": "Portfolio Id",
      "type": "string"
    },
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "side": {
      "title": "Side",
      "type": "string"
    },
    "qty": {
      "title": "Qty",
      "type": "number"
    },
    "price": {
      "title": "Price",
      "type": "number"
    },
    "date": {
      "title": "Date",
      "type": "string"
    }
  },
  "required": [
    "portfolio_id",
    "symbol",
    "side",
    "qty",
    "price",
    "date"
  ],
  "title": "add_transactionArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "add_transactionOutput"
}
🟢get_positions(portfolio_id)

Get current holdings with quantity, cost basis, market value, and unrealized P&L. Args: portfolio_id: The portfolio UUID

输入模式

{
  "type": "object",
  "properties": {
    "portfolio_id": {
      "title": "Portfolio Id",
      "type": "string"
    }
  },
  "required": [
    "portfolio_id"
  ],
  "title": "get_positionsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_positionsOutput"
}
🟢get_portfolio_statistics(portfolio_id)

Get portfolio performance statistics (returns, allocation, risk). Args: portfolio_id: The portfolio UUID

输入模式

{
  "type": "object",
  "properties": {
    "portfolio_id": {
      "title": "Portfolio Id",
      "type": "string"
    }
  },
  "required": [
    "portfolio_id"
  ],
  "title": "get_portfolio_statisticsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_portfolio_statisticsOutput"
}
🟢list_alerts(offset, limit)

List active price and event alerts for the authenticated user. Args: offset: Skip this many alerts (default 0) limit: Page size (default 50, max 100)

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_alertsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_alertsOutput"
}
🟡create_alert(symbol, alert_type, direction, threshold, notes, ...)

Create a price or event alert for a symbol. Args: symbol: Stock symbol (e.g. "AAPL") alert_type: "target_price", "movement_pct", or "event" direction: Required for price alerts — "above", "below", or "either" threshold: Required for price alerts — price level or percentage move notes: Optional description event_types: Required when alert_type is "event". One or more of: "earnings_transcript", "insider_trade", "news_stock", "press_release", "filing_8k", "filing_13f", "politician_senate", "politician_house", "merger_acquisition"

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "title": "Symbol",
      "type": "string"
    },
    "alert_type": {
      "title": "Alert Type",
      "type": "string"
    },
    "direction": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Direction"
    },
    "threshold": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Threshold"
    },
    "notes": {
      "default": "",
      "title": "Notes",
      "type": "string"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Event Types"
    }
  },
  "required": [
    "symbol",
    "alert_type"
  ],
  "title": "create_alertArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_alertOutput"
}
🟢get_notifications(offset, limit)

Get recent triggered alert notifications. Args: offset: Skip this many notifications (default 0) limit: Page size (default 50, max 100). Upstream returns at most 50 unread.

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_notificationsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_notificationsOutput"
}
🔴delete_alert(alert_id)

Delete an alert by ID. Args: alert_id: The alert UUID

输入模式

{
  "type": "object",
  "properties": {
    "alert_id": {
      "title": "Alert Id",
      "type": "string"
    }
  },
  "required": [
    "alert_id"
  ],
  "title": "delete_alertArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "delete_alertOutput"
}
🟢list_library_folders(offset, limit)

List folders in the authenticated user's research library. Args: offset: Skip this many folders (default 0) limit: Page size (default 50, max 100)

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_library_foldersArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_library_foldersOutput"
}
🟡create_library_folder(name, parent_id)

Create a library folder, optionally nested under a parent. Args: name: Folder name parent_id: Parent folder UUID (optional — omit for a root folder)

输入模式

{
  "type": "object",
  "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",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_library_folderOutput"
}
⚪rename_library_folder(folder_id, name)

Rename a library folder. Args: folder_id: The folder UUID name: New folder name

输入模式

{
  "type": "object",
  "properties": {
    "folder_id": {
      "title": "Folder Id",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "folder_id",
    "name"
  ],
  "title": "rename_library_folderArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "rename_library_folderOutput"
}
⚪move_library_folder(folder_id, parent_id)

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)

输入模式

{
  "type": "object",
  "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",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "move_library_folderOutput"
}
🔴delete_library_folder(folder_id)

Delete a library folder and everything inside it. Args: folder_id: The folder UUID

输入模式

{
  "type": "object",
  "properties": {
    "folder_id": {
      "title": "Folder Id",
      "type": "string"
    }
  },
  "required": [
    "folder_id"
  ],
  "title": "delete_library_folderArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "delete_library_folderOutput"
}
🟢list_library_items(folder_id, offset, limit)

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)

输入模式

{
  "type": "object",
  "properties": {
    "folder_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Folder Id"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_library_itemsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_library_itemsOutput"
}
🟢get_library_item(item_id)

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

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "title": "Item Id",
      "type": "string"
    }
  },
  "required": [
    "item_id"
  ],
  "title": "get_library_itemArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_library_itemOutput"
}
🟡create_library_item(title, content, folder_id, content_type)

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.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "title": "Title",
      "type": "string"
    },
    "content": {
      "title": "Content",
      "type": "string"
    },
    "folder_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Folder Id"
    },
    "content_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Content Type"
    }
  },
  "required": [
    "title",
    "content"
  ],
  "title": "create_library_itemArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_library_itemOutput"
}
🟡update_library_item(item_id, title, content)

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)

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "title": "Item Id",
      "type": "string"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Content"
    }
  },
  "required": [
    "item_id"
  ],
  "title": "update_library_itemArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "update_library_itemOutput"
}
⚪move_library_item(item_id, folder_id)

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)

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "title": "Item Id",
      "type": "string"
    },
    "folder_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Folder Id"
    }
  },
  "required": [
    "item_id"
  ],
  "title": "move_library_itemArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "move_library_itemOutput"
}
🔴delete_library_item(item_id)

Delete a library document and all of its stored versions. Args: item_id: The item UUID

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "title": "Item Id",
      "type": "string"
    }
  },
  "required": [
    "item_id"
  ],
  "title": "delete_library_itemArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "delete_library_itemOutput"
}
🟢list_library_item_versions(item_id)

List version history for a library document (newest first). Args: item_id: The item UUID

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "title": "Item Id",
      "type": "string"
    }
  },
  "required": [
    "item_id"
  ],
  "title": "list_library_item_versionsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_library_item_versionsOutput"
}
🟢search_library(query, limit)

Full-text search across the authenticated user's library documents. Args: query: Search terms limit: Max results (default 20, capped at 50)

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_libraryArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_libraryOutput"
}
🟢list_journal(offset, limit)

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.

输入模式

{
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_journalArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_journalOutput"
}
🟢get_journal_entry(entry_id)

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)

输入模式

{
  "type": "object",
  "properties": {
    "entry_id": {
      "title": "Entry Id",
      "type": "string"
    }
  },
  "required": [
    "entry_id"
  ],
  "title": "get_journal_entryArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_journal_entryOutput"
}
🟡submit_journal_draft(entry_date, content)

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

输入模式

{
  "type": "object",
  "properties": {
    "entry_date": {
      "title": "Entry Date",
      "type": "string"
    },
    "content": {
      "title": "Content",
      "type": "string"
    }
  },
  "required": [
    "entry_date",
    "content"
  ],
  "title": "submit_journal_draftArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "submit_journal_draftOutput"
}
🟢run_deepdive(ticker, force)

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).

输入模式

{
  "type": "object",
  "properties": {
    "ticker": {
      "title": "Ticker",
      "type": "string"
    },
    "force": {
      "default": false,
      "title": "Force",
      "type": "boolean"
    }
  },
  "required": [
    "ticker"
  ],
  "title": "run_deepdiveArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "run_deepdiveOutput"
}
🟢report_bug(description, ticker, section, page_url)

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. 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

输入模式

{
  "type": "object",
  "properties": {
    "description": {
      "title": "Description",
      "type": "string"
    },
    "ticker": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ticker"
    },
    "section": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Section"
    },
    "page_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Url"
    }
  },
  "required": [
    "description"
  ],
  "title": "report_bugArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "report_bugOutput"
}
🟢marketing_inbox(since, ticker, type, limit)

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 rendered. Args: since: ISO timestamptz — inbox newer than this ticker: Current items for this symbol type: allowlisted content_type or research_drop limit: 1–200 (default 50)

输入模式

{
  "type": "object",
  "properties": {
    "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"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "marketing_inboxArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "marketing_inboxOutput"
}
🟢marketing_graphics(content_id, section, language, format, status)

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 filter (no content_id) language: Catalog filter format: Catalog filter status: live or draft (catalog only)

输入模式

{
  "type": "object",
  "properties": {
    "content_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Content Id"
    },
    "section": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Section"
    },
    "language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Language"
    },
    "format": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Format"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    }
  },
  "title": "marketing_graphicsArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "marketing_graphicsOutput"
}
⚪marketing_render(content_id, option_id, force)

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

输入模式

{
  "type": "object",
  "properties": {
    "content_id": {
      "title": "Content Id",
      "type": "string"
    },
    "option_id": {
      "title": "Option Id",
      "type": "string"
    },
    "force": {
      "default": false,
      "title": "Force",
      "type": "boolean"
    }
  },
  "required": [
    "content_id",
    "option_id"
  ],
  "title": "marketing_renderArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "marketing_renderOutput"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本34 个工具
已验证未记录版本34 个工具
已验证未记录版本31 个工具