Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.
Déduit des transports déclarés par cette annonce (streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu depuis un véritable échange MCP initialize → tools/list contre l’endpoint déclaré. Aucun outil n’a été invoqué — tools/list est l’appel d’introspection en lecture seule que le protocole prévoit pour cela. Cela reflète ce que le serveur annonçait à cet instant ; un endpoint hébergé n’est figé sur aucune version et peut changer sans préavis.
https://mcp.manawa.app/mcp31 outils · 212 msfinance_searchSearch 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
li…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 li…
| Paramètre | Type | Description |
|---|---|---|
| query* | string | — |
| symbols | — | — |
| section | — | — |
| focus | — | — |
| source | — | — |
list_watchlistsList the authenticated user's watchlists and their symbols.
Args:
offset: Skip this many lists (default 0)
limit: Page size (default 50, max 100)List the authenticated user's watchlists and their symbols. Args: offset: Skip this many lists (default 0) limit: Page size (default 50, max 100)
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
create_watchlistCreate a watchlist with the given name and ticker symbols.
Args:
name: Watchlist name
symbols: List of stock symbols (e.g. ["AAPL", "MSFT"])Create a watchlist with the given name and ticker symbols. Args: name: Watchlist name symbols: List of stock symbols (e.g. ["AAPL", "MSFT"])
| Paramètre | Type | Description |
|---|---|---|
| name* | string | — |
| symbols* | array | — |
update_watchlistUpdate a watchlist's name and/or symbols.
Args:
watchlist_id: The watchlist UUID
name: New name (optional)
symbols: Updated list of symbols (optional)Update a watchlist's name and/or symbols. Args: watchlist_id: The watchlist UUID name: New name (optional) symbols: Updated list of symbols (optional)
| Paramètre | Type | Description |
|---|---|---|
| watchlist_id* | string | — |
| name | — | — |
| symbols | — | — |
list_portfoliosList the authenticated user's portfolios.
Args:
offset: Skip this many portfolios (default 0)
limit: Page size (default 50, max 100)List the authenticated user's portfolios. Args: offset: Skip this many portfolios (default 0) limit: Page size (default 50, max 100)
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
create_portfolioCreate a portfolio with a name and base currency.
Args:
name: Portfolio name
currency: Base currency (default USD)Create a portfolio with a name and base currency. Args: name: Portfolio name currency: Base currency (default USD)
| Paramètre | Type | Description |
|---|---|---|
| name* | string | — |
| currency | string | — |
add_transactionAdd 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…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…
| Paramètre | Type | Description |
|---|---|---|
| portfolio_id* | string | — |
| symbol* | string | — |
| side* | string | — |
| qty* | number | — |
| price* | number | — |
| date* | string | — |
get_positionsGet current holdings with quantity, cost basis, market value, and unrealized P&L.
Args:
portfolio_id: The portfolio UUIDGet current holdings with quantity, cost basis, market value, and unrealized P&L. Args: portfolio_id: The portfolio UUID
| Paramètre | Type | Description |
|---|---|---|
| portfolio_id* | string | — |
get_portfolio_statisticsGet portfolio performance statistics (returns, allocation, risk).
Args:
portfolio_id: The portfolio UUIDGet portfolio performance statistics (returns, allocation, risk). Args: portfolio_id: The portfolio UUID
| Paramètre | Type | Description |
|---|---|---|
| portfolio_id* | string | — |
list_alertsList active price and event alerts for the authenticated user.
Args:
offset: Skip this many alerts (default 0)
limit: Page size (default 50, max 100)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)
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
create_alertCreate 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: Option…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: Option…
| Paramètre | Type | Description |
|---|---|---|
| symbol* | string | — |
| alert_type* | string | — |
| direction | — | — |
| threshold | — | — |
| notes | string | — |
| event_types | — | — |
get_notificationsGet 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.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.
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
delete_alertprivilégiéDelete an alert by ID.
Args:
alert_id: The alert UUIDDelete an alert by ID. Args: alert_id: The alert UUID
| Paramètre | Type | Description |
|---|---|---|
| alert_id* | string | — |
list_library_foldersList folders in the authenticated user's research library.
Args:
offset: Skip this many folders (default 0)
limit: Page size (default 50, max 100)List folders in the authenticated user's research library. Args: offset: Skip this many folders (default 0) limit: Page size (default 50, max 100)
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
create_library_folderCreate a library folder, optionally nested under a parent.
Args:
name: Folder name
parent_id: Parent folder UUID (optional — omit for a root 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)
| Paramètre | Type | Description |
|---|---|---|
| name* | string | — |
| parent_id | — | — |
rename_library_folderprivilégiéRename a library folder.
Args:
folder_id: The folder UUID
name: New folder nameRename a library folder. Args: folder_id: The folder UUID name: New folder name
| Paramètre | Type | Description |
|---|---|---|
| folder_id* | string | — |
| name* | string | — |
move_library_folderprivilégié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 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)
| Paramètre | Type | Description |
|---|---|---|
| folder_id* | string | — |
| parent_id | — | — |
delete_library_folderprivilégiéDelete a library folder and everything inside it.
Args:
folder_id: The folder UUIDDelete a library folder and everything inside it. Args: folder_id: The folder UUID
| Paramètre | Type | Description |
|---|---|---|
| folder_id* | string | — |
list_library_itemsList 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)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)
| Paramètre | Type | Description |
|---|---|---|
| folder_id | — | — |
| offset | integer | — |
| limit | integer | — |
get_library_itemGet a library document's metadata and content.
Args:
item_id: The item UUIDGet a library document's metadata and content. Args: item_id: The item UUID
| Paramètre | Type | Description |
|---|---|---|
| item_id* | string | — |
create_library_itemCreate a new markdown document in the research library.
Args:
title: Document title
content: Markdown body
folder_id: Folder UUID (optional — omit for library root)Create a new markdown document in the research library. Args: title: Document title content: Markdown body folder_id: Folder UUID (optional — omit for library root)
| Paramètre | Type | Description |
|---|---|---|
| title* | string | — |
| content* | string | — |
| folder_id | — | — |
update_library_itemUpdate a library document's title and/or content (content edits create a new version).
Args:
item_id: The item UUID
title: New title (optional)
content: New markdown body (optional)Update a library document's title and/or content (content edits create a new version). Args: item_id: The item UUID title: New title (optional) content: New markdown body (optional)
| Paramètre | Type | Description |
|---|---|---|
| item_id* | string | — |
| title | — | — |
| content | — | — |
move_library_itemprivilégié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)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)
| Paramètre | Type | Description |
|---|---|---|
| item_id* | string | — |
| folder_id | — | — |
delete_library_itemprivilégiéDelete a library document and all of its stored versions.
Args:
item_id: The item UUIDDelete a library document and all of its stored versions. Args: item_id: The item UUID
| Paramètre | Type | Description |
|---|---|---|
| item_id* | string | — |
list_library_item_versionsList version history for a library document (newest first).
Args:
item_id: The item UUIDList version history for a library document (newest first). Args: item_id: The item UUID
| Paramètre | Type | Description |
|---|---|---|
| item_id* | string | — |
search_libraryFull-text search across the authenticated user's library documents.
Args:
query: Search terms
limit: Max results (default 20, capped at 50)Full-text search across the authenticated user's library documents. Args: query: Search terms limit: Max results (default 20, capped at 50)
| Paramètre | Type | Description |
|---|---|---|
| query* | string | — |
| limit | integer | — |
list_journalList 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 5…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 5…
| Paramètre | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
get_journal_entryGet 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)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)
| Paramètre | Type | Description |
|---|---|---|
| entry_id* | string | — |
submit_journal_draftSubmit 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_e…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_e…
| Paramètre | Type | Description |
|---|---|---|
| entry_date* | string | — |
| content* | string | — |
run_deepdiveQueue 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 jo…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 jo…
| Paramètre | Type | Description |
|---|---|---|
| ticker* | string | — |
| force | boolean | — |
report_bugLog 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…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…
| Paramètre | Type | Description |
|---|---|---|
| description* | string | — |
| ticker | — | — |
| section | — | — |
| page_url | — | — |
31 outils sur 31 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
Cette entrée ne publie aucun paquet npm : Forge n'a donc pas d'arbre de dépendances pour elle. C'est une lacune de couverture — pas une affirmation qu'elle n'a aucune dépendance.