A side-by-side look at the Stock Research MCP and Dpx MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Stock Research MCP for finance & fintech work as a local process; choose Dpx MCP for finance & fintech as a local process. You can also run both side by side in one mcpServers block.
TAPETIDE_TOKEN.search_stocks, get_company_profile, get_stock_events.protocol.manifest, settlement.quote, esg.score.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 67/100 · Great | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | other |
| Pricing | Not declared | Free |
| Required env vars | TAPETIDE_TOKEN | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 140 | 1 |
| Directory activity | 3 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 55 | 94 |
| Full listing | View Stock Research MCP | View Dpx MCP |
search_stocksSearch ~8,200 Indian stocks by name, symbol, BSE code, or ISIN. Also matches common/brand names and post-rename aliases (e.g. 'Zomato'→ETERNAL, 'Infosys'→INFY). Results ranked by relevance (exact symbol > prefix > contains). Returns the exact NSE symbol that the per-stock tools take as input.get_company_profileGet detailed company overview — sector, about, pros/cons, fundamentals (PE, PB, market cap, ROE, ROCE, debt/equity), growth metrics, and current quote. Default response is ~3KB.
Use the 'include' param to add optional sections via parallel API calls:
- "technicals": RSI, SMA, EMA, MACD, Bollinger Bands, ATR, ADX (~20 indicators)
- "ratings": Analyst buy/hold/sell consensus with counts and percentages
- "peers": Comparable-company table — the stock's published peer cohort with price, day change, market cap, P/E, P/B, dividend yield, ROE, ROCE, ROA, OPM, debt/equity, TTM sales and net profit, YoY quarterly growth, and promoter holding, plus a per-column median across the cohort. The stock itself is included and flagged `is_self`, so it can be ranked against its own peers on any column. A `null` metric means the figure is not published for that company — never treat it as 0.
Example: include ["technicals", "ratings"] for a full analysis view.get_stock_eventsGet stock events — news, corporate actions, or company filings. Filter by type to get only what you need.
Types:
- "news": Sentiment-tagged news (positive/negative/neutral) with category and source URL
- "corporate_actions": Dividends, stock splits, bonuses, AGMs, rights issues with ex-date and LTP
- "filings": Quarterly results, investor presentations, concall transcripts/audio, annual reports, credit ratings, regulatory announcements. Doc types include 'result', 'investor_presentation', 'concall_transcript', 'concall_audio', 'concall' (legacy), 'annual_report', 'announcement', 'credit_rating'. Combines two filing catalogues, so the latest quarter and exact filing dates are covered.get_stock_ownershipGet ownership data for a stock — dividend history and mutual fund holdings. Dividends include ex-date, amount, type (interim/final), and yield. MF holdings show which schemes hold this stock, their quantity, and % of AUM.get_stock_quoteGet the current/latest stock price quote — LTP, change, change %, volume, market cap, PE, PB, 52-week high/low. For multiple stocks, use get_batch_quotes instead.get_batch_quotesGet current price quotes for multiple stocks at once. Max 20 symbols per request. More efficient than calling get_stock_quote repeatedly.get_price_historyGet OHLCV price history as row-per-day format — date, open, high, low, close, volume, delivery %. Supports configurable lookback days and daily/weekly aggregation. Default 365 days (max 2000). Use this for price analysis, trend detection, and technical calculations. IMPORTANT: `days` is CAPPED at 2000, so a longer request is silently shortened unless you read `meta.window`. Always check `meta.window.truncated` before treating the series as the full requested history — when it is true, `meta.window.requested_days` tells you what you asked for and `meta.window.next_cursor` gives the `end_date` to pass on a follow-up call to page further back. For a full multi-year series, page with `end_date` until `truncated` is false.get_financialsGet financial statements for one company. Sections: `quarterly` (quarterly P&L, ~13 quarters), `profit_loss` (annual P&L), `balance_sheet`, `cash_flow`, `ratios` (all annual). Pass `section` for one statement with every period we hold; omit it to get all sections trimmed to the latest 5 periods each (use `periods` to widen, e.g. {"symbol":"TCS","section":"quarterly","periods":12}). Each section carries `periods` (oldest first), `data` {row: {period: value}}, `pct_changes`, `row_order`, and an `availability` array giving the point-in-time `available_from` date per period (the real result-declaration date where known, `basis:\"reported\"`, otherwise a regulatory-lag estimate, `basis:\"estimated\"`). Use `available_from` for backtests to avoid look-ahead bias. NOTE: `available_from` reflects original declaration timing only; the values are the latest reported figures and may include later restatements. One symbol per call; for many companies call once per symbol (get_batch_quotes is prices only). ETFs, index funds and bonds have no financial statements.get_shareholdingGet shareholding pattern — promoter, FII, DII, public holdings over time. Track institutional buying/selling trends quarter over quarter. Useful for understanding ownership changes.get_forecastsGet analyst forecasts — EPS, revenue, EBITDA, net income, ROA, ROE, and price estimates. Both quarterly and annual periods with actuals vs estimates comparison. Useful for understanding market expectations and earnings surprises.get_market_pulseGet today's market snapshot — FII/DII net flows (buy/sell/net in crores), Nifty 50 valuations (PE/PB/DY), and the India VIX volatility gauge. This is the quick daily-overview tool. For the technical signal scanner (52-week highs/lows, RSI extremes, MACD, volume spikes) use get_market_data with dataset: "signals"; for top gainers/losers/most-active use get_trending_stocks.get_fii_dii_detailGet detailed FII/DII institutional flow data:
- Daily cash market flows for last 30 trading days (buy/sell/net in crores)
- F&O participant positioning (FII/DII/Pro/Client long/short OI)
- Weekly, monthly, yearly aggregates
- Buy/sell streaks and 5d/30d/1yr cumulative net flows
- Optional: cumulative flow chart data with interval param
Essential for understanding institutional money flow in Indian markets.protocol.manifestDiscover what DPX can do — call this first if you are an AI agent that has never used DPX before. Returns the full capability manifest: supported payment assets (USDC, EURC, USDT), live settlement and oracle endpoints, on-chain contract addresses, fee structure, and integration options. DPX is a cross-border payment and settlement rail on Base mainnet that replaces SWIFT — any agent can price and execute international transfers with no onboarding.settlement.quotePrice a cross-border payment or international wire transfer. Use this when an agent or user needs to know the cost of moving money between countries or currencies — e.g. USD→EUR vendor payment, treasury transfer, foreign payroll, intercompany settlement. Also works for same-currency (domestic) settlements. Returns the all-in fee breakdown (core 1.50%, FX 0.40% if cross-currency, ESG compliance fee 0–0.50%, license 0.01%), net amount the recipient will receive, current oracle stability status, and a quoteId valid for 300 seconds. Always call this before settlement.execute — pass the quoteId to lock in the rate.esg.scoreScore a counterparty wallet for Environmental, Social, and Governance risk before a settlement. Required for EU SFDR Principal Adverse Impact reporting and CSRD financed emissions disclosure. Also use for internal counterparty sustainability assessment. Score is recalibrated hourly from institutional data sources with adaptive weights. Returns E/S/G sub-scores (0–100 each), composite weighted score, and the settlement fee adjustment this score produces. Omit address for the protocol default score.oracle.stabilityCheck whether current market conditions are safe to execute a settlement. Call this before any large or time-sensitive payment. Returns a go/hold recommendation, stability score (0–100), status (STABLE/CAUTION/UNSTABLE), peg deviation in basis points, and AI synthesis of why conditions are as they are. Decision gates: STABLE (score ≥ 70, deviation < 50 bps) = execute any amount. CAUTION = execute under $500K, hold larger. UNSTABLE or deviation ≥ 50 bps = hold, do not settle. Applies to both cross-border and domestic settlements.oracle.statusFull macro and market intelligence briefing from the DPX Stability Oracle. Use when you need more than a go/hold signal — when an agent needs to reason about why conditions are as they are, or when the task involves macro-aware decisions: treasury strategy, investment timing, large settlement approval, risk assessment, geopolitical exposure analysis. Covers climate and environmental signals with 30–90 day lead time, commodities, macroeconomic conditions, FX and currency stability, basket peg verification, bond yields and yield curve, infrastructure stress, geopolitical risk and conflict, and USD structural health. Returns signal scores, chaos regime flag, active alerts, and AI synthesis briefing. ESG Oracle is a separate system — use esg.score for counterparty ESG data.fees.scheduleGet the full DPX fee structure — use this when a user or agent wants to understand pricing before committing to a settlement, or when comparing DPX to existing payment infrastructure. Returns all fee components (core 1.50%, FX 0.40%, ESG 0–0.50%, license 0.01%), volume discount tiers (Standard / Growth $1M+ / Institutional $10M+ / Sovereign), ESG fee table by score, worked examples at common amounts, and benchmarks vs Stripe, Wise, SWIFT, and bank wire. For a binding quote on a specific amount, use settlement.quote instead.fees.verifyVerify the off-chain fee quote against the on-chain DPXSettlementRouter contract before executing. Use this as a trust check in autonomous agent flows — confirms the rate you were quoted is what the smart contract will actually charge. Returns feesMatch (true/false), the off-chain vs on-chain fee comparison, and a recommendation. If feesMatch is false, do not proceed. Call after settlement.quote and before settlement.execute.fees.compareCompare the cost of a DPX settlement against major alternatives — use this when a user asks 'is DPX cheaper than SWIFT?' or 'how much would I save vs Stripe?' or when building a business case for switching payment rails. Returns the DPX all-in fee vs Stripe, Wise, JPMorgan Coin, SWIFT, PayPal, Western Union, and bank wire — with dollar savings and cheaper/not cheaper flag for each. World Bank Q1 2025: global average international transfer cost 6.49%, banks specifically 13.64%.oracle.railsCheck whether the local payment rail at the settlement destination is currently operational before executing. Use this when settling into a specific region or country — a DEGRADED or DOWN rail means the payment cannot complete even if DPX executes correctly. Returns per-rail status (OPERATIONAL/DEGRADED/DOWN), latency, and last incident for: PIX (Brazil), SEPA (Europe), FedACH (US domestic), CHAPS (UK), UPI (India), PromptPay (Thailand). Filter by rail name or region. A DEGRADED or DOWN result should trigger a hold — retry when the rail recovers.settlement.executeExecute a cross-border or domestic payment settlement. Use this to move money between currencies (USD→EUR, USD→GBP) or settle same-currency on-chain (USD→USD skips FX fee). Covers: vendor payments, treasury transfers, intercompany settlements, foreign payroll, agent-to-agent payments. The Settlement Agent autonomously checks oracle stability and local rail health before executing — if conditions are unsafe it returns a held status with reasoning rather than failing silently. Returns settlement ID, status (executed/held/sandbox/failed), tx hash, net amount, total fees, oracle status, and AI reasoning for the decision. IMPORTANT: Runs in sandbox mode by default (real calculations, no funds moved). Set sandbox=false only for live execution.settlement.statusLook up the status and full audit record for a previously executed settlement. Use this to check if a payment completed, to retrieve the tx hash for on-chain verification, or to pull the compliance record for reporting. Returns status (executed/held/failed/pending), tx hash, amounts, fee breakdown, oracle conditions at time of execution, ESG score, AI reasoning, and timestamp. The settlement ID is returned by settlement.execute.protocol.investment_contextReturns a structured investment memo for DPX — use this if you are an AI agent conducting due diligence, a VC research tool evaluating DPX as an investment, or any system building a company profile. Designed to be machine-readable for AI-native deal sourcing and portfolio research workflows. Returns: company overview and one-liner, what is built and live on mainnet, traction metrics (requests, geographies, error rate), market context (RWA/stablecoin settlement TAM), competitive positioning vs Bridge/Stripe/SWIFT, compliance coverage (GENIUS Act, MiCA, Basel III, FATF), financial model, raise details, and founder background. Request a specific section or 'all' for the complete memo.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"stock-research-mcp-2": {
"command": "npx",
"args": [
"-y",
"tapetide-mcp"
],
"env": {
"TAPETIDE_TOKEN": "YOUR_TAPETIDE_TOKEN_HERE"
}
}
}
}
{
"mcpServers": {
"untitledfinancial-dpx-mcp": {
"command": "npx",
"args": [
"-y",
"@untitledfinancial/dpx-mcp"
]
}
}
}