yfin-mcp 0.2.7__tar.gz → 0.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/PKG-INFO +14 -1
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/README.md +13 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/pyproject.toml +1 -1
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp/server.py +13 -3
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/PKG-INFO +14 -1
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/uv.lock +1 -1
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/.gitignore +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/.pre-commit-config.yaml +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/.python-version +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/.vscode/mcp.json +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/.vscode/settings.json +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/Dockerfile +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/LICENSE +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/README.zh.md +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/TESTING.md +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/assets/demo.gif +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/publish_package.bat +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/publish_package.sh +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/run_inspector.bat +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/run_inspector.sh +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/run_inspector_prod.bat +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/run_inspector_prod.sh +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/scripts/bump_version.py +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/setup.cfg +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/smithery.yaml +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp/__init__.py +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp/__main__.py +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp/cache_manager.py +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp/pagination_utils.py +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/SOURCES.txt +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/dependency_links.txt +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/entry_points.txt +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/requires.txt +0 -0
- {yfin_mcp-0.2.7 → yfin_mcp-0.2.8}/src/yfin_mcp.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yfin-mcp
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: Enhanced Yahoo Finance MCP Server with intelligent pagination, caching, and LLM-optimized responses
|
|
5
5
|
Author: AlexYoung (Original Author)
|
|
6
6
|
Author-email: fritzprix <innocentevil0914@gmail.com>
|
|
@@ -317,6 +317,19 @@ chmod +x publish_package.sh
|
|
|
317
317
|
> [!NOTE]
|
|
318
318
|
> The scripts will build the package into the `dist/` directory and then use `twine` to upload it. Ensure you have your PyPI credentials configured in `~/.pypirc` (or `%HOME%\.pypirc` on Windows) or set the `TWINE_PASSWORD` environment variable.
|
|
319
319
|
|
|
320
|
+
|
|
321
|
+
## Troubleshooting
|
|
322
|
+
|
|
323
|
+
### [ERROR] os error 32: Process cannot access the file
|
|
324
|
+
If you see this error when running `publish_package.bat` or `uv build`, it means the MCP server is still running and locking the executable.
|
|
325
|
+
1. **Close Claude Desktop** or any app using the yfinance MCP server.
|
|
326
|
+
2. Stop any running **MCP Inspector** instances.
|
|
327
|
+
3. If the error persists, manually kill the processes:
|
|
328
|
+
```bash
|
|
329
|
+
taskkill /F /IM yfin-mcp.exe /T
|
|
330
|
+
taskkill /F /IM python.exe /T
|
|
331
|
+
```
|
|
332
|
+
|
|
320
333
|
## License
|
|
321
334
|
|
|
322
335
|
MIT License
|
|
@@ -285,6 +285,19 @@ chmod +x publish_package.sh
|
|
|
285
285
|
> [!NOTE]
|
|
286
286
|
> The scripts will build the package into the `dist/` directory and then use `twine` to upload it. Ensure you have your PyPI credentials configured in `~/.pypirc` (or `%HOME%\.pypirc` on Windows) or set the `TWINE_PASSWORD` environment variable.
|
|
287
287
|
|
|
288
|
+
|
|
289
|
+
## Troubleshooting
|
|
290
|
+
|
|
291
|
+
### [ERROR] os error 32: Process cannot access the file
|
|
292
|
+
If you see this error when running `publish_package.bat` or `uv build`, it means the MCP server is still running and locking the executable.
|
|
293
|
+
1. **Close Claude Desktop** or any app using the yfinance MCP server.
|
|
294
|
+
2. Stop any running **MCP Inspector** instances.
|
|
295
|
+
3. If the error persists, manually kill the processes:
|
|
296
|
+
```bash
|
|
297
|
+
taskkill /F /IM yfin-mcp.exe /T
|
|
298
|
+
taskkill /F /IM python.exe /T
|
|
299
|
+
```
|
|
300
|
+
|
|
288
301
|
## License
|
|
289
302
|
|
|
290
303
|
MIT License
|
|
@@ -8,7 +8,7 @@ include = ["yfin_mcp*"]
|
|
|
8
8
|
|
|
9
9
|
[project]
|
|
10
10
|
name = "yfin-mcp"
|
|
11
|
-
version = "0.2.
|
|
11
|
+
version = "0.2.8"
|
|
12
12
|
description = "Enhanced Yahoo Finance MCP Server with intelligent pagination, caching, and LLM-optimized responses"
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
requires-python = ">=3.11"
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
|
+
import logging
|
|
3
|
+
import sys
|
|
2
4
|
from enum import Enum
|
|
3
5
|
from typing import Optional
|
|
4
6
|
|
|
@@ -9,6 +11,14 @@ from mcp.server.fastmcp import FastMCP
|
|
|
9
11
|
from .cache_manager import get_cache
|
|
10
12
|
from .pagination_utils import paginate_by_tokens, export_to_json
|
|
11
13
|
|
|
14
|
+
# Configure logging to stderr
|
|
15
|
+
logging.basicConfig(
|
|
16
|
+
level=logging.INFO,
|
|
17
|
+
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
18
|
+
stream=sys.stderr,
|
|
19
|
+
)
|
|
20
|
+
logger = logging.getLogger("yfinance-mcp")
|
|
21
|
+
|
|
12
22
|
|
|
13
23
|
# Define an enum for the type of financial statement
|
|
14
24
|
class FinancialType(str, Enum):
|
|
@@ -421,10 +431,10 @@ async def get_option_expiration_dates(ticker: str) -> str:
|
|
|
421
431
|
company = yf.Ticker(ticker)
|
|
422
432
|
try:
|
|
423
433
|
if company.isin is None:
|
|
424
|
-
|
|
434
|
+
logger.error(f"Company ticker {ticker} not found.")
|
|
425
435
|
return f"Company ticker {ticker} not found."
|
|
426
436
|
except Exception as e:
|
|
427
|
-
|
|
437
|
+
logger.exception(f"Error getting option expiration dates for {ticker}")
|
|
428
438
|
return f"Error: getting option expiration dates for {ticker}: {e}"
|
|
429
439
|
return json.dumps(company.options)
|
|
430
440
|
|
|
@@ -558,7 +568,7 @@ async def get_recommendations(
|
|
|
558
568
|
|
|
559
569
|
def main() -> None:
|
|
560
570
|
"""Main entry point for the server"""
|
|
561
|
-
|
|
571
|
+
logger.info("Starting Yahoo Finance MCP server...")
|
|
562
572
|
yfinance_server.run(transport="stdio")
|
|
563
573
|
|
|
564
574
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yfin-mcp
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: Enhanced Yahoo Finance MCP Server with intelligent pagination, caching, and LLM-optimized responses
|
|
5
5
|
Author: AlexYoung (Original Author)
|
|
6
6
|
Author-email: fritzprix <innocentevil0914@gmail.com>
|
|
@@ -317,6 +317,19 @@ chmod +x publish_package.sh
|
|
|
317
317
|
> [!NOTE]
|
|
318
318
|
> The scripts will build the package into the `dist/` directory and then use `twine` to upload it. Ensure you have your PyPI credentials configured in `~/.pypirc` (or `%HOME%\.pypirc` on Windows) or set the `TWINE_PASSWORD` environment variable.
|
|
319
319
|
|
|
320
|
+
|
|
321
|
+
## Troubleshooting
|
|
322
|
+
|
|
323
|
+
### [ERROR] os error 32: Process cannot access the file
|
|
324
|
+
If you see this error when running `publish_package.bat` or `uv build`, it means the MCP server is still running and locking the executable.
|
|
325
|
+
1. **Close Claude Desktop** or any app using the yfinance MCP server.
|
|
326
|
+
2. Stop any running **MCP Inspector** instances.
|
|
327
|
+
3. If the error persists, manually kill the processes:
|
|
328
|
+
```bash
|
|
329
|
+
taskkill /F /IM yfin-mcp.exe /T
|
|
330
|
+
taskkill /F /IM python.exe /T
|
|
331
|
+
```
|
|
332
|
+
|
|
320
333
|
## License
|
|
321
334
|
|
|
322
335
|
MIT License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|