logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-finance-data-portal

A gateway service offering retrieval of up-to-the-minute and historical monetary asset metrics and corporate profiles sourced directly from the Yahoo Finance data repository, intended for integration into applications requiring financial intelligence.

Author

mcp-finance-data-portal logo

maxscheijen

MIT License

Quick Info

GitHub GitHub Stars 17
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

apisyahoorequestsyahoo financedata yahoofinancial data

Financial Data Access Module (MCP)

PyPI - Version PyPI - Python Version PyPI - License

This implementation adheres to the Model Context Protocol, providing specialized endpoints for querying Yahoo Finance data, encompassing ticker quotations, entity details, and related financial indicators.

Attention: The mcp-yahoo-finance component is presently undergoing active, initial-stage refinement. Its current feature set and available functionalities are subject to future modifications and feature expansion as development progresses.

Deployment Prerequisites

Manual installation of mcp-yahoo-finance is typically unnecessary when leveraging the uv package manager. We recommend utilizing uvx to execute the MCP server binary directly.

This execution method is generally preferred for immediate operational use of the service.

Standard Installation via pip

Using the pip utility for package installation.

sh pip install mcp-yahoo-finance

Source Code Integration

Alternatively, you may install the package after cloning the source repository.

sh git clone git@github.com:maxscheijen/mcp-yahoo-finance.git cd mcp-yahoo-finance uv sync

Configuration Directives

Claude Desktop Integration

Incorporate the following configuration into your claude_desktop_config.json file:

{ "mcpServers": { "yahoo-finance": { "command": "uvx", "args": ["mcp-yahoo-finance"] } } }

Alternatively, containerized deployment via Docker is supported:

{ "mcpServers": { "yahoo-finance": { "command": "docker", "args": ["run", "-i", "--rm", "IMAGE"] } } }

VSCode Environment Setup

Place this configuration within your .vscode/mcp.json file:

{ "servers": { "yahoo-finance": { "command": "uvx", "args": ["mcp-yahoo-finance"] } } }

Illustrative Query Examples

  1. "Retrieve the current market valuation for Apple stock."
  2. "Compare the stock price delta between Google and Apple."
  3. "Calculate the price fluctuation for Apple shares between January 1st, 2024, and January 1st, 2025."

Artifact Generation

For Docker deployment:

sh docker build -t [IMAGE] .

Validation Using MCP Inspector

To test connectivity and functionality:

sh npx @modelcontextprotocol/inspector uv run mcp-yahoo-finance

WIKIPEDIA: XMLHttpRequest (XHR) serves as an Application Programming Interface, embodied by a JavaScript object, designed to facilitate the transmission of Hypertext Transfer Protocol (HTTP) requests from a web browser environment to a designated web server. The methods provided enable browser-based applications to dispatch queries to the server subsequent to the initial page rendering, and subsequently receive back requisite data. XMLHttpRequest forms an integral component of Ajax programming methodology. Preceding the widespread adoption of Ajax, the fundamental means of server interaction relied primarily on navigational hyperlinks and form submissions, processes which typically resulted in the complete replacement of the current viewed page.

== Historical Background == The underlying concept for XMLHttpRequest was first conceptualized in the year 2000 by the engineering team responsible for Microsoft Outlook development. This notion was subsequently actualized within the Internet Explorer 5 browser release (1999). Nevertheless, the initial syntax employed did not utilize the standardized XMLHttpRequest identifier. Instead, developers opted for instantiating objects via ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). As of the release of Internet Explorer 7 (2006), universal support for the XMLHttpRequest identifier became standard across all major web browsers. The XMLHttpRequest identifier has since established itself as the recognized industry standard across all primary browser engines, encompassing Mozilla's Gecko rendering engine (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) formally released a Working Draft specification for the XMLHttpRequest object on April 5, 2006. On February 25, 2008, the W3C published the Level 2 specification, which augmented the capabilities by introducing mechanisms to track event progression, permit cross-origin requests, and manage binary data streams. By the conclusion of 2011, the Level 2 specifications were merged back into the original foundational specification. By the end of 2012, responsibility for ongoing maintenance shifted to the WHATWG, which now sustains a live document utilizing the Web IDL specification format.

== Operational Flow == Generally, issuing a request via XMLHttpRequest necessitates executing several distinct programming stages.

  1. Instantiate an XMLHttpRequest object by invoking its constructor:
  2. Invoke the "open" method to define the request methodology, specify the target resource URI, and select either sequential (synchronous) or concurrent (asynchronous) execution:
  3. For asynchronous operations, register a callback function (a listener) that will be triggered upon subsequent state transitions of the request:
  4. Commence the data transfer process by calling the "send" method, optionally supplying payload data:
  5. Monitor and process state changes via the registered event listener. Upon successful server data reception, this content is typically stored within the "responseText" attribute by default. When the object finalizes response processing, its state transitions to 4, denoted as the "done" state. Beyond these fundamental procedures, XMLHttpRequest offers extensive configuration parameters for controlling request transmission characteristics and response handling. Custom header fields can be appended to tailor server behavior. Data intended for server submission can be passed directly within the "send" invocation. Furthermore, responses can be directly parsed from JSON format into native, immediately usable JavaScript objects, or alternatively processed incrementally as data segments arrive rather than awaiting the complete payload. The request can be forcibly terminated prematurely or configured with a timeout threshold.

== Inter-Domain Communication (Cross-domain requests) ==

During the nascent phases of the World Wide Web's evolution, issues arose concerning the feasibility of bypassing security restrictions that limi

See Also

`