Skip to content

ai.marketintell/marketintell

by marketintell.ai · remote · local (npm) · no sign-in to list tools · v0.3.1 · published by ai.marketintell

AI analyst desk for stocks, options & crypto with sourced trade setups and a public accuracy record.

Deletes · 1Changes · 11

17 tools: 1 can delete or cancel things, 11 change things and 5 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http marketintell https://api.marketintell.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • Warnchat

    The server marks "chat" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "chat_deep" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "execute_list_intents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "execute_list_intents" says "execute": a word for a change.

    What this check looks for
  • The server marks "execute_read_portfolio" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "execute_read_portfolio" says "execute": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

17 tools

Deletes or cancels 1Claude Code: deny
  • execute_approve_intentApprove a pending trade intent and place the order at the broker.No findings

    Why it is in this group

    • The name "execute_approve_intent" says "execute": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Approve a pending trade intent and place the order at the broker. Returns the executed_order audit row. Requires `trade` scope.

    Annotations the server declares

    • title: Approve intent & place order
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
Changes things 11Claude Code: ask
  • chatRun a query through MarketIntell's brain (auto-routes to T1 fast agent or T2 CoT pipeline based on intent).1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "chat" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run a query through MarketIntell's brain (auto-routes to T1 fast agent or T2 CoT pipeline based on intent). Returns synthesized analysis with citations and trade setup when relevant.

    Annotations the server declares

    • title: Chat with the MarketIntell brain
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • chat_deepRun a query through MarketIntell's T3 supervisor — parallel specialists across technical/derivatives/macro/social/onchain/etc.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "chat_deep" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run a query through MarketIntell's T3 supervisor — parallel specialists across technical/derivatives/macro/social/onchain/etc. plus synthesis. Slower (~25-40s) and costlier than `chat`. Pro tier only.

    Annotations the server declares

    • title: Deep multi-specialist analysis (T3)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • execute_list_intentsList the caller's recent trade intents (pending, executed, rejected).1 finding

    Why it is in this group

    • The name "execute_list_intents" says "execute": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "execute_list_intents" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "execute_list_intents" says "execute": a word for a change.

      What this check looks for
    Description, as the server wrote it
    List the caller's recent trade intents (pending, executed, rejected). Requires `trade` scope.

    Annotations the server declares

    • title: List trade intents
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • execute_propose_intentPropose a trade intent to the user's connected broker.No findings

    Why it is in this group

    • The name "execute_propose_intent" says "execute": a word for a change.
    Description, as the server wrote it
    Propose a trade intent to the user's connected broker. Writes a pending row the user reviews + approves. Requires `trade` scope. Use this when an agent wants to act on a signal without placing the order itself.

    Annotations the server declares

    • title: Propose a trade intent (pending review)
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • execute_read_portfolioRead the caller's connected broker account snapshot — equity, cash, buying power, open positions.1 finding

    Why it is in this group

    • The name "execute_read_portfolio" says "execute": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "execute_read_portfolio" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "execute_read_portfolio" says "execute": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Read the caller's connected broker account snapshot — equity, cash, buying power, open positions. Requires `trade` scope.

    Annotations the server declares

    • title: Read broker account snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • healthMarketIntell system health — uptime, cache stats, memory, provider circuit-breaker states.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    MarketIntell system health — uptime, cache stats, memory, provider circuit-breaker states.

    Annotations the server declares

    • title: System health
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • portfolio_createCreate a new portfolio for the authenticated key.No findings

    Why it is in this group

    • The name "portfolio_create" says "create": a word for a change.
    Description, as the server wrote it
    Create a new portfolio for the authenticated key. Holdings are token symbol + amount (+ optional entry_price and notes).

    Annotations the server declares

    • title: Create a portfolio
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • registerStep 2 of MCP self-signup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Step 2 of MCP self-signup. Submit the challenge id + solved nonce to provision a fresh Free-tier API key. The key is shown ONCE — store it. Pro upgrades go through Stripe checkout; this tool only issues Free keys.

    Annotations the server declares

    • title: Provision a Free-tier API key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • register_challengeStep 1 of MCP self-signup.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Step 1 of MCP self-signup. Returns a proof-of-work challenge. Solve locally (find a nonce whose sha256 has the required leading zero hex chars), then call `register` with { challenge_id, nonce, name }.

    Annotations the server declares

    • title: Get a self-signup PoW challenge
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • screenerToken screening — find trending tokens, top gainers, and top losers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Token screening — find trending tokens, top gainers, and top losers. Use this to discover what's moving in the market right now.

    Annotations the server declares

    • title: Token / equity screener
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • signal_performanceRealized signal accuracy — rolling 30-day win rate over CLOSED trade signals, where a win is a real take-profit / in-profit expiry (net positive after fees & leverage) and a loss i…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Realized signal accuracy — rolling 30-day win rate over CLOSED trade signals, where a win is a real take-profit / in-profit expiry (net positive after fees & leverage) and a loss is a real stop-loss / losing expiry. Win-rate is over resolved signals only; flat (break-even) and cancelled/no-fill/ambiguous signals are reported but excluded from the rate. Broken down by timeframe and direction.

    Annotations the server declares

    • title: Signal accuracy stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 5Claude Code: allow
  • alpha_signalsFetch recent alpha signals — automated market intelligence.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch recent alpha signals — automated market intelligence. Crypto signals every ~10 min; equities (Beta) every ~30 min during US market hours. Filter by domain to narrow.

    Annotations the server declares

    • title: Recent alpha signals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • billing_statusReturn the authenticated key's plan, daily quota usage, monthly LLM-cost-cents, and cap.No findings

    Why it is in this group

    • The name "billing_status" says "status": a word for reading.
    Description, as the server wrote it
    Return the authenticated key's plan, daily quota usage, monthly LLM-cost-cents, and cap. Mirrors GET /v1/billing/status.

    Annotations the server declares

    • title: Billing + quota status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • portfolio_analyzeCompute PnL + risk assessment for a portfolio you own.No findings

    Why it is in this group

    • The name "portfolio_analyze" says "analyze": a word for reading.
    Description, as the server wrote it
    Compute PnL + risk assessment for a portfolio you own. Returns per-holding pnl, risk_assessment, and top_risks.

    Annotations the server declares

    • title: Analyze portfolio PnL + risk
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • portfolio_listList all portfolios owned by the authenticated key.No findings

    Why it is in this group

    • The name "portfolio_list" says "list": a word for reading.
    Description, as the server wrote it
    List all portfolios owned by the authenticated key. Returns id, name, holdings, timestamps.

    Annotations the server declares

    • title: List portfolios
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • sessions_listList the authenticated key's recent chat sessions.No findings

    Why it is in this group

    • The name "sessions_list" says "list": a word for reading.
    Description, as the server wrote it
    List the authenticated key's recent chat sessions. Useful to resume prior conversations.

    Annotations the server declares

    • title: List chat sessions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http marketintell https://api.marketintell.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__marketintell__alpha_signals",
      "mcp__marketintell__portfolio_list",
      "mcp__marketintell__portfolio_analyze",
      "mcp__marketintell__sessions_list",
      "mcp__marketintell__billing_status"
    ],
    "ask": [
      "mcp__marketintell__chat",
      "mcp__marketintell__chat_deep",
      "mcp__marketintell__signal_performance",
      "mcp__marketintell__screener",
      "mcp__marketintell__portfolio_create",
      "mcp__marketintell__health",
      "mcp__marketintell__register_challenge",
      "mcp__marketintell__register",
      "mcp__marketintell__execute_propose_intent",
      "mcp__marketintell__execute_list_intents",
      "mcp__marketintell__execute_read_portfolio"
    ],
    "deny": [
      "mcp__marketintell__execute_approve_intent"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as marketintell. Review it before you use it.