Finance MCP Server

शेयर की कीमतें, क्रिप्टोकरेंसी डेटा, विनिमय दरें, और पोर्टफोलियो ट्रैकिंग

दस्तावेज़

💹 Finance MCP — AI Stock & Market Data (nexgendata/finance-mcp-server) Actor

MCP server for AI agents to access stocks, crypto, forex & portfolio tracking. Connect Claude, GPT or any AI to financial markets. 5 tools for investment intelligence via AI.

Pricing

from $10.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases. In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours, and optionally produces a well-defined JSON output, datasets with results, or files in key-value store. In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server. Actors are written with capital "A".

How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects. You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready. The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official JavaScript/TypeScript client:

npm install apify-client

In Python projects, use official Python client library:

pip install apify-client

In shell scripts, use Apify CLI:

# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🤖 Finance MCP Server — AI-Native Stock, Fundamentals & Market Data for LLM Agents

Connect Claude, ChatGPT, and custom LLM agents directly to live market data through the Model Context Protocol. A drop-in replacement for the Bloomberg Terminal API, Refinitiv Eikon, and FactSet Web Services — without enterprise contracts or $24K/year seat fees.

### Why This MCP Server Beats Bloomberg Terminal, Refinitiv Eikon & FactSet

| Feature | NexGenData Finance MCP | Bloomberg Terminal | Refinitiv Eikon | FactSet Web Services |
|---|---|---|---|---|
| Cost | $0.01 per result, pay-per-event | $24,000 / seat / year | $22,000 / seat / year | $$$$ enterprise contract |
| AI-agent integration | Native MCP — Claude, ChatGPT, Cursor, n8n | None | None | None |
| Time-to-first-call | <60 seconds | Sales cycle + hardware | Sales cycle | Sales cycle |
| Auth | Apify API token | Bloomberg auth + license | Refinitiv auth + license | License key |
| Coverage | Quotes, fundamentals, news, financials, screener | Equities, FX, fixed income, OTC | Same | Same |
| Output for LLMs | Structured JSON streamed as MCP tool responses | Custom BBG terminal protocol | EDP API | FactSet API |
| Headcount required | None | Dedicated terminal operator | Trained analyst | Quant team |

This is the only practical way to give an AI agent direct access to live equity / fundamentals data without paying Bloomberg or Refinitiv.

### What You Get (tools the agent can call)

- `get_quote(symbol)` — live price, bid/ask, volume, day range
- `get_fundamentals(symbol)` — P/E, EPS, market cap, dividend yield, sector, industry
- `get_financials(symbol, statement)` — income statement, balance sheet, cash flow
- `get_news(symbol)` — latest news headlines + summaries
- `screen_stocks(filters)` — multi-criteria screener (market cap, sector, P/E, etc.)
- `get_historical(symbol, range)` — OHLCV history at daily / weekly resolution
- `get_options_chain(symbol)` — calls + puts across expiries
- `get_earnings(symbol)` — upcoming + historical earnings + estimates

### Use Cases

- **AI equity-research analysts** — Claude pulls fundamentals → financials → news → drafts a thesis
- **Trading co-pilots** — agents that answer "what's the P/E of every semis name under $50B?"
- **Robo-advisor backends** — LLM tools for portfolio commentary and rebalancing
- **Quant data ops** — drop in as a Bloomberg replacement for prototyping
- **Newsletter automation** — agent reads earnings, writes the recap
- **Personal finance chatbots** — give consumer LLM apps real fundamentals data
- **Hedge-fund internal tooling** — junior analyst LLM assistants with live data

### Quick Start

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/finance-mcp-server").call(run_input={
    "tool": "get_quote",
    "params": {"symbol": "NVDA"}
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

Or wire it into Claude Desktop's mcp_servers config — every tool auto-registers.

Pricing

Pay-per-event — only pay for results the agent actually retrieves.

  • Actor Start: $0.00005 per GB
  • Result: $0.01 per dataset item

A typical research-agent chain costs $0.05–$0.50. Compare to $24,000/year for one Bloomberg seat.

Related NexGenData Actors

Use caseActor
Yahoo Finance quotes + fundamentals via scraperYahoo Finance Scraper
Finviz screener with 100+ filtersFinviz Stock Screener
Upcoming IPOsIPO Tracker
Earnings calendar with estimatesEarnings Calendar
Treasury yield curve + bond dataTreasury Yields & Bonds
ETF holdingsETF Holdings Tracker
FX rates real-timeFX Rates Tracker
AI-callable real-estate dataReal Estate MCP Server
AI-callable news dataNews MCP Server

FAQ

Q: Which MCP clients work? Any MCP-compliant client — Claude Desktop, Cursor, custom LangChain agents, Anthropic SDK code, n8n's MCP node.

Q: Where does the data come from? Live aggregation from public market data sources (Yahoo, Finviz, SEC, exchange-direct where available). No stale 15-min caches.

Q: Is this for production or just prototyping? Both. Apify runs at scale. Plenty of teams use it as a Bloomberg replacement for non-microsecond use cases.

Q: Real-time or delayed quotes? Delayed ~15 minutes for U.S. equities (industry standard for non-licensed feeds). Real-time available on request via custom plan.

Q: Can I use this for trading? You can read data with it. We don't execute trades — that's your broker.

Q: How do I handle rate limits? Apify handles back-off and retry. You don't tune anything.

Q: Why MCP vs a normal API? With MCP the LLM picks tools dynamically — you write zero glue code. With REST you write the tool-calling glue every time.

About NexGenData

NexGenData publishes 260+ buyer-intent actors covering SEC filings, YC alumni, real-estate, lead generation, competitive intelligence, stock fundamentals across 30+ exchanges, and a growing fleet of MCP servers for AI agents. All pay-per-result. Browse the full catalog at https://apify.com/nexgendata?fpr=2ayu9b


How NexGenData Pricing Works

Every NexGenData actor uses pay-per-event pricing — you only pay for results that actually land in your dataset. No monthly minimum, no seat fees, no surprise overage bills.

  • Actor Start: a single-event charge each time you spin the actor up (scaled to memory size)
  • Result: charged per item written to the default dataset
  • No charge for retries, internal proxy rotation, or failed sub-requests — those are absorbed by the platform

If you only need the data once a quarter, you only pay once a quarter. If you scale to millions of records, the unit cost stays the same.

Apify Platform Bonus

New to Apify? Sign up with the NexGenData referral link — you get free platform credits on signup (enough for several thousand free results) and you help fund the maintenance of this actor fleet.

Integration Surface

Every actor in the NexGenData catalog can be triggered from:

  • Apify console — point-and-click run
  • Apify API — REST + webhooks
  • Apify Python / JS SDKs — programmatic batch
  • Zapier, Make.com, n8n — official integrations
  • MCP — many actors are exposed as MCP tools for Claude / ChatGPT / Cursor agents
  • Schedules — built-in cron for daily / weekly / monthly runs
  • Webhooks — POST results to any HTTPS endpoint on dataset write

Support

NexGenData maintains 260+ Apify actors and ships updates regularly. Bug reports via the Apify console issues tab get a response within 24 hours. Roadmap requests are welcome — high-demand features ship in the next version.

🏠 Home: thenextgennexus.com 📦 Full catalog: apify.com/nexgendata

Actor input Schema

Actor input object example

{}

API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

JavaScript example

import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/finance-mcp-server").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

Python example

from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/finance-mcp-server").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

CLI example

echo '{}' |
apify call nexgendata/finance-mcp-server --silent --output-dataset

MCP server setup

{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/finance-mcp-server",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

OpenAPI specification

{
    "openapi": "3.0.1",
    "info": {
        "title": "💹 Finance MCP — AI Stock & Market Data",
        "description": "MCP server for AI agents to access stocks, crypto, forex & portfolio tracking. Connect Claude, GPT or any AI to financial markets. 5 tools for investment intelligence via AI.",
        "version": "0.0",
        "x-build-id": "goPpuCykowCgNLLuT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~finance-mcp-server/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-finance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~finance-mcp-server/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-finance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~finance-mcp-server/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-finance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {}
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}