### Quick Setup Command Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/claude_desktop.md Run the setup command for a guided installation and configuration process. This command automates prerequisite checks, API key configuration, profile selection, and Claude Desktop updates. ```bash fmp-mcp setup ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Install project dependencies using either the Makefile for a quick setup or manually with UV. ```bash # Quick setup with make make install ``` ```bash # Or manually with UV uv sync --group dev --group docs --group langchain --group mcp pre-commit install ``` -------------------------------- ### Install and Setup MCP Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/configurations.md Installs the fmp-data package with MCP support and runs the setup wizard for Claude Desktop. ```bash pip install "fmp-data[mcp]" fmp-mcp setup ``` -------------------------------- ### Install and Run MCP Setup Wizard Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/configurations/README.md Install the fmp-data package with MCP support and run the interactive setup wizard for Claude Desktop integration. The wizard configures prerequisites, API keys, profiles, and tests the MCP server connection. ```bash # Install with MCP support pip install fmp-data[mcp] # Run interactive setup wizard fmp-mcp setup ``` -------------------------------- ### Install Package with All Features Source: https://github.com/mehdizare/fmp-data/blob/main/CLAUDE.md Install the package including all optional features using `make install`. This is the standard installation command for end-users. ```bash # Install package with all features make install ``` -------------------------------- ### Install fmp-data Library Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Install the fmp-data library using pip. This is a prerequisite for running the examples. ```bash pip install fmp-data ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Install the project's development, documentation, and core dependencies using UV. ```bash uv sync --group dev --group docs --group langchain --group mcp ``` -------------------------------- ### Install Documentation Dependencies Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Install the necessary dependencies for building and serving the project documentation. ```bash uv sync --group docs ``` -------------------------------- ### Set Up Development Environment Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Install project dependencies, including optional extras like 'langchain' and 'mcp', and set up pre-commit hooks. This command ensures all necessary tools and libraries are installed. ```bash # Create and activate virtual environment uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies with UV uv pip install -e ".[langchain,mcp]" --all-extras # Install pre-commit hooks pre-commit install ``` -------------------------------- ### Install UV (Recommended) Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Install the UV package manager. Use the provided script for macOS/Linux or PowerShell for Windows. ```bash # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh ``` ```powershell # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" ``` -------------------------------- ### Install fmp-data MCP Package Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/claude_desktop.md Install the fmp-data package with MCP support. This is the first step for both quick and manual setup. ```bash pip install "fmp-data[mcp]" ``` -------------------------------- ### Create Custom Manifest File Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/setup_guide.md Example of how to start creating a custom manifest file for the FMP Data MCP server. This allows for defining specific toolsets. ```python import fmp_data.mcp # Define your custom manifest here # Example: # class CustomManifest(fmp_data.mcp.Manifest): # def get_tools(self): # return [ # fmp_data.mcp.Tool( # "company.profile", # "Get company profile", # "/path/to/your/company_profile_tool.py" # ) # ] ``` -------------------------------- ### Install Development Dependencies Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/workflow.md Installs all necessary development, documentation, and specific library dependencies using uv. Use `uv sync --upgrade` to update existing dependencies. ```bash # Install all development dependencies uv sync --group dev --group docs --group langchain --group mcp ``` ```bash # Update dependencies uv sync --upgrade ``` ```bash # Add new dependency uv add package-name ``` ```bash uv add --group dev package-name # Development only ``` -------------------------------- ### Install UV Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Install the Universal Virtual Environment (UV) tool if it's not already installed. This is a prerequisite for managing project dependencies. ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` -------------------------------- ### Install Dependencies with UV Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Use UV to create a virtual environment and install project dependencies. This includes installing the package in editable mode with extras and development dependencies. ```bash # Create virtual environment and install all dependencies uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install package in editable mode with all extras uv pip install -e ".[langchain,mcp]" --all-extras # Install development dependencies uv pip install --group dev -e . ``` -------------------------------- ### Test Python Installation Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/claude_desktop/troubleshooting.md Verify that Python is installed and accessible from the command line. ```bash # 1. Test Python python --version ``` -------------------------------- ### Install Pre-commit Hooks Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Install the pre-commit framework to automate checks before each commit. This ensures code quality and consistency. ```bash uv run pre-commit install ``` -------------------------------- ### Install fmp-data Source: https://github.com/mehdizare/fmp-data/blob/main/docs/index.md Install the core library using pip. For Redis-backed caching, install with the cache-redis extra. For LangChain integration, install with the langchain extra. ```bash pip install fmp-data ``` ```bash pip install "fmp-data[cache-redis]" ``` ```bash pip install "fmp-data[langchain]" ``` -------------------------------- ### Test Python Installation Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/troubleshooting.md Verify your Python installation by checking the installed version. ```bash python --version ``` -------------------------------- ### Check Python and FMP-Data Installation Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/claude_desktop/troubleshooting.md Verify your Python installation version and check if the 'fmp-data' package is installed. If not, install it with the necessary MCP extras. ```bash # Check Python version python --version # Should be 3.10 or higher # If not found, try: python3 --version ``` ```bash # Check if installed pip show fmp-data # If not installed: pip install "fmp-data[mcp]" # Or with pip3: pip3 install "fmp-data[mcp]" ``` -------------------------------- ### Install fmp-data with UV Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Install the basic fmp-data package using UV. For optional features like Redis cache, Langchain, or MCP support, append the relevant extras in square brackets. ```bash uv pip install fmp-data ``` ```bash uv pip install "fmp-data[cache-redis]" ``` ```bash uv pip install "fmp-data[langchain]" ``` ```bash uv pip install "fmp-data[mcp]" ``` ```bash uv pip install "fmp-data[langchain,mcp]" ``` -------------------------------- ### Example Release Notes Markdown Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md An example of how release notes should be formatted using Markdown, including sections for overview, new features, bug fixes, breaking changes, documentation, internal changes, and contributors. ```markdown # v1.2.0 - Enhanced Market Data Support ## Overview This release adds comprehensive market intelligence features and improves error handling across all clients. ## ✨ New Features - Market Intelligence client with sentiment analysis - Enhanced company search with filtering options - Async support for all fundamental data endpoints ## 🐛 Bug Fixes - Fixed rate limiting calculation for concurrent requests - Resolved memory leak in async client cleanup - Improved error messages for invalid API responses ## 💥 Breaking Changes - `MarketClient.get_quotes()` now returns `List[Quote]` instead of `Dict` - Minimum Python version increased to 3.10 ## 📖 Documentation - Added comprehensive API reference - Updated getting started guide - New examples for market intelligence features ## 🏗️ Internal Changes - Upgraded to Pydantic v2 - Improved test coverage to 95% - Enhanced CI/CD pipeline ## Contributors Thanks to @contributor1, @contributor2, and @contributor3 for their contributions! ``` -------------------------------- ### Install Package with MCP Server Support Source: https://github.com/mehdizare/fmp-data/blob/main/CLAUDE.md Install the package with only MCP server support using `make install-mcp`. This is useful if you only need the MCP functionality. ```bash # Install with MCP server support only make install-mcp ``` -------------------------------- ### Check and Install fmp-data Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/troubleshooting.md Ensures the `fmp-data` package is installed with the MCP extra, or installs it if missing. ```bash # Check if installed pip show fmp-data # If not installed: pip install "fmp-data[mcp]" # Or with pip3: pip3 install "fmp-data[mcp]" ``` -------------------------------- ### Test fmp-data Package Installation Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/troubleshooting.md Check if the fmp-data package is installed and view its details. ```bash pip show fmp-data ``` -------------------------------- ### Install fmp-data with pip Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Install the basic fmp-data package using pip. For optional features like Redis cache, Langchain, or MCP support, append the relevant extras in square brackets. ```bash pip install fmp-data ``` ```bash pip install "fmp-data[cache-redis]" ``` ```bash pip install fmp-data[langchain] ``` ```bash pip install fmp-data[mcp] ``` ```bash pip install fmp-data[langchain,mcp] ``` -------------------------------- ### Async Support Example Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Demonstrates how to use the asynchronous client for concurrent data retrieval. ```APIDOC ## Async Support ### Description Asynchronous support is available via `AsyncFMPDataClient` for non-blocking operations. ### Example Usage ```python from fmp_data import AsyncFMPDataClient import asyncio async def main(): async with AsyncFMPDataClient.from_env() as client: # Fetch a single company profile asynchronously profile = await client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") # Fetch multiple company profiles concurrently profiles = await asyncio.gather( client.company.get_profile("AAPL"), client.company.get_profile("MSFT"), client.company.get_profile("GOOGL"), ) for p in profiles: print(f"{p.symbol}: {p.company_name}") asyncio.run(main()) ``` ``` -------------------------------- ### Conventional Commit Examples Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/workflow.md Examples of commit messages following the Conventional Commits format for different types of changes. ```bash feat(client): add async support for all endpoints fix(market): resolve rate limiting calculation bug docs(api): update company client documentation test(fundamental): add integration tests for financial statements chore(deps): update httpx to latest version ``` -------------------------------- ### Conventional Commits Example Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Examples of commit messages following the Conventional Commits specification. This format helps in automatically generating changelogs and understanding the nature of changes. ```bash feat(mcp): add tool discovery functionality ``` ```bash fix(client): handle rate limit errors properly ``` ```bash docs: update MCP server documentation ``` ```bash test(company): add tests for profile endpoint ``` -------------------------------- ### Serve Documentation Locally Source: https://github.com/mehdizare/fmp-data/blob/main/CLAUDE.md Serve the project's documentation locally using `make -f Makefile.dev docs-serve`. This allows previewing the documentation before deployment. ```bash # Serve documentation locally make -f Makefile.dev docs-serve ``` -------------------------------- ### Asynchronous Quickstart with AsyncFMPDataClient Source: https://github.com/mehdizare/fmp-data/blob/main/LLM.md Shows how to use the asynchronous AsyncFMPDataClient for fetching data, including company quotes and technical indicators like RSI. Requires an async context and environment variables for configuration. ```python import asyncio from fmp_data import AsyncFMPDataClient async def main(): async with AsyncFMPDataClient.from_env() as client: quote = await client.company.get_quote("AAPL") rsi = await client.technical.get_rsi("AAPL", period_length=14) return quote, rsi asyncio.run(main()) ``` -------------------------------- ### MCP CLI Quick Setup Commands Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/configurations.md Provides essential commands for setting up, checking status, testing connections, and listing tools for the MCP server. ```bash # Setup wizard for Claude Desktop fmp-mcp setup # Check server status fmp-mcp status # Test server connection fmp-mcp test # List available tools fmp-mcp list # List tools for specific client fmp-mcp list --client market ``` -------------------------------- ### Serve Documentation Locally Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Build and serve the project documentation locally using MkDocs. This allows you to preview changes as you make them. ```bash uv run mkdocs serve ``` -------------------------------- ### Run Basic Company Info Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Execute the company_info.py script to fetch company profiles, executives, and peer data. ```bash python examples/basic/company_info.py ``` -------------------------------- ### Async Client Initialization and Usage Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/reference.md Illustrates initializing the asynchronous AsyncFMPDataClient from environment variables or manually. Includes an example of fetching company quote data and properly closing the client. ```python import asyncio from fmp_data import AsyncFMPDataClient async def main(): # Initialize from environment async with AsyncFMPDataClient.from_env() as client: profile = await client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") # Manual initialization client = AsyncFMPDataClient( api_key="your_api_key", # pragma: allowlist secret timeout=30, max_retries=3, debug=True ) try: quote = await client.company.get_quote("AAPL") print(f"Price: ${quote.price}") finally: await client.aclose() asyncio.run(main()) ``` -------------------------------- ### Check fmp-data Package Installation Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/claude_desktop/troubleshooting.md Confirm that the fmp-data package is installed in your Python environment. ```bash # 2. Test package pip show fmp-data ``` -------------------------------- ### Build Documentation Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/development.md Generate the static documentation files for the project using MkDocs. ```bash uv run mkdocs build ``` -------------------------------- ### MCP Server Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Run the server.py script for MCP server implementation, used for Model Context Protocol integration with Claude Desktop. ```bash python examples/mcp/server.py ``` -------------------------------- ### Environment Configuration Example Source: https://github.com/mehdizare/fmp-data/blob/main/docs/index.md Set API key, timeout, retry attempts, base URL, and cache settings via environment variables in a .env file. ```bash FMP_API_KEY=your_api_key_here FMP_TIMEOUT=30 FMP_MAX_RETRIES=3 # Note: Do NOT include /api in the base URL - it's added automatically FMP_BASE_URL=https://financialmodelingprep.com FMP_CACHE_ENABLED=true FMP_CACHE_BACKEND=memory FMP_CACHE_TTL=300 ``` -------------------------------- ### Build and Publish to PyPI Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Build the project wheels and source distributions, then publish them to PyPI using a token. ```bash # Build and publish to PyPI uv build --wheel --sdist uv publish --token "$PYPI_TOKEN" # Install pre-release pip install --pre fmp-data ``` -------------------------------- ### Synchronous Quickstart with FMPDataClient Source: https://github.com/mehdizare/fmp-data/blob/main/LLM.md Demonstrates basic usage of the synchronous FMPDataClient for fetching company quotes, profiles, historical prices, market gainers, and financial ratios. Ensure FMP_API_KEY is set in your environment. ```python from datetime import date from fmp_data import FMPDataClient with FMPDataClient.from_env() as client: quote = client.company.get_quote("AAPL") profile = client.company.get_profile("AAPL") prices = client.company.get_historical_prices( symbol="AAPL", from_date=date(2024, 1, 1), to_date=date(2024, 3, 1) ) gainers = client.market.get_gainers() ratios = client.fundamental.get_financial_ratios("AAPL") print(quote.price, profile.company_name) ``` -------------------------------- ### Manual Configuration with MCP CLI Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/configurations.md Starts the MCP development server using the CLI, specifying the API key and a research manifest. ```bash FMP_API_KEY=your_api_key mcp dev python -c " from fmp_data.mcp.server import create_app app = create_app("examples/mcp_configurations/research_manifest.py") app.run() " ``` -------------------------------- ### Build Documentation Source: https://github.com/mehdizare/fmp-data/blob/main/CLAUDE.md Build the project's documentation using `make -f Makefile.dev docs`. This command requires `nox` and generates documentation files. ```bash # Build documentation make -f Makefile.dev docs ``` -------------------------------- ### Write a Unit Test Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/testing.md Create a unit test file with descriptive names. This example tests the retrieval of a company profile. ```python from unittest.mock import Mock from fmp_data.company.models import CompanyProfile def test_get_company_profile(client): """Test retrieving company profile.""" client.company.client.request = Mock( return_value=[CompanyProfile(symbol="AAPL")] ) profile = client.company.get_profile("AAPL") assert profile.symbol == "AAPL" ``` -------------------------------- ### Clone Repository Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Clone your forked repository and navigate into the project directory. This is the first step in setting up your development environment. ```bash git clone https://github.com/yourusername/fmp-data.git cd fmp-data ``` -------------------------------- ### Manual Configuration with Python Module Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/configurations.md Sets the API key and manifest path environment variables, then runs the MCP server using Python module execution. ```bash export FMP_API_KEY=your_api_key_here # pragma: allowlist secret export FMP_MCP_MANIFEST=examples/mcp_configurations/trading_manifest.py python -m fmp_data.mcp ``` -------------------------------- ### Example Client Code Structure Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/index.md Illustrates the structure of a client class, including imports, Pydantic models, and method definitions with docstrings. ```python # fmp_data/example/client.py from __future__ import annotations from typing import Any from pydantic import BaseModel from fmp_data.base import EndpointGroup from fmp_data.example.models import ExampleModel class ExampleClient(EndpointGroup): """ Example client for demonstration. Relative path: fmp_data/example/client.py """ def get_example_data(self, symbol: str) -> list[ExampleModel]: """ Get example data for a symbol. Args: symbol: The stock symbol to query Returns: List of example model instances Raises: ValidationError: If symbol is invalid RateLimitError: If rate limit is exceeded """ endpoint = self._endpoints.example_data return self._client.request(endpoint, symbol=symbol) ``` -------------------------------- ### Upgrades and Downgrades Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get upgrades and downgrades. ```APIDOC ## GET /stable/upgrades-downgrades ### Description Fetches data on stock upgrades and downgrades. ### Endpoint /stable/upgrades-downgrades ``` -------------------------------- ### Sync Client Initialization and Usage Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/reference.md Demonstrates how to initialize the synchronous FMPDataClient, either from environment variables or with manual API key and configuration. Shows a basic API call to fetch company profile data. ```python from fmp_data import FMPDataClient # Initialize from environment with FMPDataClient.from_env() as client: profile = client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") # Manual initialization client = FMPDataClient( api_key="your_api_key", # pragma: allowlist secret timeout=30, max_retries=3, debug=True ) ``` -------------------------------- ### Serve MCP Server with Manifest Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/setup_guide.md Serve the MCP server using a manifest file. This command starts the server with the tools defined in the specified Python file. ```bash fmp-mcp serve --manifest my_tools.py ``` -------------------------------- ### Price Target Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get price targets. ```APIDOC ## GET /stable/price-target ### Description Fetches the price targets for a stock. ### Endpoint /stable/price-target ``` -------------------------------- ### Set Up Pre-commit Hooks Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Install pre-commit hooks to automatically format and lint your code before committing. This ensures code quality and consistency. ```bash pre-commit install ``` -------------------------------- ### Analyst Recommendations Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get analyst recommendations. ```APIDOC ## GET /stable/analyst-stock-recommendations ### Description Get analyst recommendations. ### Method GET ### Endpoint /stable/analyst-stock-recommendations ``` -------------------------------- ### Build and Verify Package with Make Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Run this make command to build the package and then verify its integrity. ```bash make build-check ``` -------------------------------- ### Analyst Estimates Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get analyst estimates. ```APIDOC ## GET /stable/analyst-estimates ### Description Get analyst estimates. ### Method GET ### Endpoint /stable/analyst-estimates ``` -------------------------------- ### Run Basic Tests Source: https://github.com/mehdizare/fmp-data/blob/main/CLAUDE.md Execute basic tests using the `make test` command. This is the simplest way to run tests. ```bash # Run tests (basic) make test ``` -------------------------------- ### ETF Holdings Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the holdings of a given ETF. ```APIDOC ## GET /stable/etf/holdings ### Description Get ETF holdings. ### Method GET ### Endpoint /stable/etf/holdings ``` -------------------------------- ### Build Package with Make Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Use this make command to build the project package. ```bash make build ``` -------------------------------- ### Insider Roster Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a list of insiders (roster). ```APIDOC ## GET /stable/insider-trading/search ### Description Get insider roster. ### Method GET ### Endpoint /stable/insider-trading/search ``` -------------------------------- ### Earnings Surprises Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get data on earnings surprises. ```APIDOC ## GET /stable/earnings-surprises ### Description Get earnings surprises. ### Method GET ### Endpoint /stable/earnings-surprises ``` -------------------------------- ### Stock Quote Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get real-time stock quote. ```APIDOC ## GET /stable/quote ### Description Fetches the real-time stock quote for a given symbol. ### Endpoint /stable/quote ``` -------------------------------- ### Build Package with Make Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Use make commands to build the package and verify its build artifacts. 'make build' creates the package, and 'make build-check' builds and verifies it. ```bash make build # Build package make build-check # Build and verify ``` -------------------------------- ### Intraday Price Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get intraday price data. ```APIDOC ## GET /stable/historical-chart/{interval} ### Description Get intraday price data. ### Method GET ### Endpoint /stable/historical-chart/{interval} ``` -------------------------------- ### Delisted Companies Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get list of delisted companies. ```APIDOC ## GET /stable/delisted-companies ### Description Get list of delisted companies. ### Method GET ### Endpoint /stable/delisted-companies ``` -------------------------------- ### Peers Bulk Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get peer lists for all symbols in bulk. ```APIDOC ## GET /stable/peers-bulk ### Description Get peer lists for all symbols in bulk. ### Method GET ### Endpoint /stable/peers-bulk ``` -------------------------------- ### API Client Structure Overview Source: https://github.com/mehdizare/fmp-data/blob/main/docs/index.md Demonstrates initializing both synchronous and asynchronous clients from environment variables. Both clients share the same organized interface for accessing data categories. ```python # Sync client client = FMPDataClient.from_env() # Async client (same structure, async methods) async_client = AsyncFMPDataClient.from_env() ``` -------------------------------- ### ETF Holder Bulk Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get ETF holdings in bulk. ```APIDOC ## GET /stable/etf-holder-bulk ### Description Get ETF holdings in bulk. ### Method GET ### Endpoint /stable/etf-holder-bulk ``` -------------------------------- ### Create FMP-MCP Server with Default Tools Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Create an MCP server instance using default tools provided by the fmp_data library. ```python from fmp_data.mcp.server import create_app # Create MCP server with default tools app = create_app() ``` -------------------------------- ### Batch ETF Quotes Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get batch quotes for all ETFs. ```APIDOC ## GET /stable/batch-etf-quotes ### Description Get batch quotes for all ETFs. ### Method GET ### Endpoint /stable/batch-etf-quotes ``` -------------------------------- ### Batch Crypto Quotes Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get batch quotes for all cryptocurrencies. ```APIDOC ## GET /stable/batch-crypto-quotes ### Description Get batch quotes for all cryptocurrencies. ### Method GET ### Endpoint /stable/batch-crypto-quotes ``` -------------------------------- ### Build and Publish Package Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Builds the package distributions (wheel and sdist) and publishes them to a package registry using a provided token. ```bash uv build --wheel --sdist uv publish --token "$PYPI_TOKEN" ``` -------------------------------- ### Batch Commodity Quotes Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get batch quotes for all commodities. ```APIDOC ## GET /stable/batch-commodity-quotes ### Description Get batch quotes for all commodities. ### Method GET ### Endpoint /stable/batch-commodity-quotes ``` -------------------------------- ### Create FMP-MCP Server with Manifest File Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Create an MCP server instance by providing a path to a custom manifest file that defines the available tools. ```python # Create with manifest file app = create_app(tools="/path/to/manifest.py") ``` -------------------------------- ### ETF Info Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get general information about a given ETF. ```APIDOC ## GET /stable/etf/info ### Description Get ETF information. ### Method GET ### Endpoint /stable/etf/info ``` -------------------------------- ### ETF Holder Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get holder information for a given ETF. ```APIDOC ## GET /stable/etf/holder ### Description Get ETF holder information. ### Method GET ### Endpoint /stable/etf/holder ``` -------------------------------- ### Discover Available Tools with CLI Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/configurations.md Lists all available MCP tools in various formats (table, tree, JSON) and allows filtering by client module. ```bash # List all tools in table format fmp-mcp list # List as tree structure fmp-mcp list --format tree # Filter by client module fmp-mcp list --client technical # Export as JSON fmp-mcp list --format json > tools.json ``` -------------------------------- ### ETF Exposure Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the stock exposure of a given ETF. ```APIDOC ## GET /stable/etf/asset-exposure ### Description Get ETF stock exposure. ### Method GET ### Endpoint /stable/etf/asset-exposure ``` -------------------------------- ### Institutional Holdings Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a summary of institutional holdings by symbol. ```APIDOC ## GET /stable/institutional-ownership/symbol-positions-summary ### Description Get institutional holdings by symbol. ### Method GET ### Endpoint /stable/institutional-ownership/symbol-positions-summary ``` -------------------------------- ### Initialize FMPDataClient and Get Company Profile Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Demonstrates how to initialize the FMPDataClient using environment variables and retrieve a company's profile. Ensure your FMP API key is set in the environment. ```python from fmp_data import FMPDataClient with FMPDataClient.from_env() as client: # Get company profile profile = client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") ``` -------------------------------- ### Run SEC Filings Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Execute the filings_search.py script to search and retrieve SEC filings like 8-K, 10-K, and 10-Q. ```bash python examples/sec_filings/filings_search.py ``` -------------------------------- ### Institutional Holders Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a list of the latest institutional holders. ```APIDOC ## GET /stable/institutional-ownership/latest ### Description Get list of institutional holders. ### Method GET ### Endpoint /stable/institutional-ownership/latest ``` -------------------------------- ### Create Beta Pre-release Tag Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Creates and pushes a git tag for a beta pre-release version. ```bash # Beta release git tag v1.0.0b1 git push origin v1.0.0b1 ``` -------------------------------- ### Insider Statistics Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get general insider trading statistics. ```APIDOC ## GET /stable/insider-trading/statistics ### Description Get insider trading statistics. ### Method GET ### Endpoint /stable/insider-trading/statistics ``` -------------------------------- ### Transaction Types Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a list of insider transaction types. ```APIDOC ## GET /stable/insider-trading-transaction-type ### Description Get insider transaction types. ### Method GET ### Endpoint /stable/insider-trading-transaction-type ``` -------------------------------- ### Dividends Calendar Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a calendar of upcoming dividend payments. ```APIDOC ## GET /stable/dividends-calendar ### Description Get dividends calendar. ### Method GET ### Endpoint /stable/dividends-calendar ``` -------------------------------- ### Initialize FMPDataClient from Environment Variable Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Initialize the FMPDataClient by loading the FMP API key from the FMP_API_KEY environment variable. This is a convenient method for deployment. ```python from fmp_data import FMPDataClient client = FMPDataClient.from_env() ``` -------------------------------- ### Get Available Industries Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Retrieves a comprehensive list of industries. ```APIDOC ## GET /stable/available-industries ### Description Get a comprehensive list of available industries ### Method GET ### Endpoint /stable/available-industries ``` -------------------------------- ### Upgrades and Downgrades Consensus Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get upgrades and downgrades consensus. ```APIDOC ## GET /stable/upgrades-downgrades-consensus ### Description Retrieves the consensus view on stock upgrades and downgrades. ### Endpoint /stable/upgrades-downgrades-consensus ``` -------------------------------- ### Initialize FMPDataClient with Direct API Key Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Initialize the FMPDataClient by providing your FMP API key directly during instantiation. This is a straightforward method for quick setup. ```python from fmp_data import FMPDataClient client = FMPDataClient(api_key="your_api_key_here") ``` -------------------------------- ### Create FMP-MCP Server with Custom Tools Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Create an MCP server instance specifying a list of custom tools to be exposed. ```python # Create with custom tools app = create_app(tools=["company.profile", "company.quote"]) ``` -------------------------------- ### Simple Stock Quote Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get simple stock quote. ```APIDOC ## GET /stable/quote-short ### Description Retrieves a simplified stock quote, providing essential real-time information. ### Endpoint /stable/quote-short ``` -------------------------------- ### Create and Push Release Candidate Tag Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Tag a release candidate version and push it to the origin. ```bash git tag v1.0.0rc1 git push origin v1.0.0rc1 ``` -------------------------------- ### Price Target Summary Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get price target summary. ```APIDOC ## GET /stable/price-target-summary ### Description Provides a summary of price targets for a stock. ### Endpoint /stable/price-target-summary ``` -------------------------------- ### Price Target Consensus Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get price target consensus. ```APIDOC ## GET /stable/price-target-consensus ### Description Retrieves the consensus price target for a stock. ### Endpoint /stable/price-target-consensus ``` -------------------------------- ### Configure FMP Data Client via Environment Variables Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Sets up the FMP Data client by defining necessary and optional environment variables for API key, base URL, timeouts, retries, rate limiting, and logging. ```bash # Required FMP_API_KEY=your_api_key_here # Optional FMP_BASE_URL=https://financialmodelingprep.com FMP_TIMEOUT=30 FMP_MAX_RETRIES=3 # Rate Limiting FMP_DAILY_LIMIT=250 FMP_REQUESTS_PER_SECOND=10 FMP_REQUESTS_PER_MINUTE=300 # Logging FMP_LOG_LEVEL=INFO FMP_LOG_PATH=/path/to/logs FMP_LOG_MAX_BYTES=10485760 FMP_LOG_BACKUP_COUNT=5 # MCP Server FMP_MCP_MANIFEST=/path/to/custom/manifest.py ``` -------------------------------- ### Prepare Release Branch Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Commands to create and switch to a new release branch from the main branch. ```bash git checkout main git pull origin main git checkout -b release/v1.2.3 ``` -------------------------------- ### Market Capitalization Data Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get market capitalization data. ```APIDOC ## GET /stable/market-capitalization ### Description Fetches the market capitalization data for a company. ### Endpoint /stable/market-capitalization ``` -------------------------------- ### Historical Price Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get historical daily price data. ```APIDOC ## GET /stable/historical-price-eod ### Description Get historical daily price data. ### Method GET ### Endpoint /stable/historical-price-eod ``` -------------------------------- ### Run Earnings Transcripts Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Execute the earnings_calls.py script to fetch and analyze earnings call transcripts. ```bash python examples/transcripts/earnings_calls.py ``` -------------------------------- ### Company Outlook Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get comprehensive company outlook data. ```APIDOC ## GET /stable/company-outlook ### Description Get comprehensive company outlook data. ### Method GET ### Endpoint /stable/company-outlook ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Create a .env file to store your FMP API key. This is essential for the client to authenticate with the FMP API. ```bash # Create .env file echo "FMP_API_KEY=your_api_key_here" > .env ``` -------------------------------- ### Transcript Symbols Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get list of all symbols with available earnings transcripts. ```APIDOC ## GET /stable/earnings-transcript-list ### Description Get list of all symbols with available earnings transcripts. ### Method GET ### Endpoint /stable/earnings-transcript-list ``` -------------------------------- ### Basic Usage of FMPDataClient Source: https://github.com/mehdizare/fmp-data/blob/main/docs/index.md Initialize the client from environment variables and fetch company profile, financial statements, and market data. ```python from fmp_data import FMPDataClient # Initialize from environment variables with FMPDataClient.from_env() as client: # Get company profile profile = client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") # Get financial statements income = client.fundamental.get_income_statement("AAPL", period="annual") print(f"Revenue: ${income[0].revenue:,.0f}") # Get market data quote = client.company.get_quote("AAPL") print(f"Current Price: ${quote.price}") ``` -------------------------------- ### Transcript Dates Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get available transcript dates for a specific company. ```APIDOC ## GET /stable/earning-call-transcript-dates ### Description Get available transcript dates for a specific company. ### Method GET ### Endpoint /stable/earning-call-transcript-dates ``` -------------------------------- ### Scores Bulk Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get financial scores in bulk for multiple companies. ```APIDOC ## GET /stable/scores-bulk ### Description Get financial scores in bulk. ### Method GET ### Endpoint /stable/scores-bulk ``` -------------------------------- ### FMP-MCP Available Commands Source: https://github.com/mehdizare/fmp-data/blob/main/README.md List of available commands for the FMP-MCP tool, including setup, status check, testing, and listing tools. ```bash fmp-mcp setup # Interactive setup wizard fmp-mcp status # Check server status fmp-mcp test # Test connection fmp-mcp list # List available tools ``` -------------------------------- ### Rating Bulk Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get stock ratings in bulk for multiple companies. ```APIDOC ## GET /stable/rating-bulk ### Description Get stock ratings in bulk. ### Method GET ### Endpoint /stable/rating-bulk ``` -------------------------------- ### Batch Market Cap Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get market capitalization for multiple symbols. ```APIDOC ## GET /stable/market-capitalization-batch ### Description Get market capitalization for multiple symbols. ### Method GET ### Endpoint /stable/market-capitalization-batch ``` -------------------------------- ### Run Batch Operations Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Execute the multi_symbol_quotes.py script for batch retrieval of quotes, ETF data, and market caps. ```bash python examples/batch_operations/multi_symbol_quotes.py ``` -------------------------------- ### EOD Bulk Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get end-of-day prices in bulk for multiple symbols. ```APIDOC ## GET /stable/eod-bulk ### Description Get end-of-day prices in bulk. ### Method GET ### Endpoint /stable/eod-bulk ``` -------------------------------- ### Branch Naming Conventions Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/workflow.md Examples of recommended branch naming conventions for features, bug fixes, documentation, and maintenance tasks. ```bash # Features feature/add-market-indicators feature/improve-error-handling # Bug fixes fix/rate-limit-calculation fix/async-client-memory-leak # Documentation docs/api-reference-update docs/getting-started-guide # Maintenance chore/update-dependencies chore/refactor-logging ``` -------------------------------- ### Batch Index Quotes Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get batch quotes for all market indexes. ```APIDOC ## GET /stable/batch-index-quotes ### Description Get batch quotes for all market indexes. ### Method GET ### Endpoint /stable/batch-index-quotes ``` -------------------------------- ### Run All Quality Checks with Pre-commit Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Execute all pre-commit hooks to ensure code quality, formatting, and linting standards are met before committing. ```bash pre-commit run --all-files ``` -------------------------------- ### Batch Forex Quotes Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get batch quotes for all forex pairs. ```APIDOC ## GET /stable/batch-forex-quotes ### Description Get batch quotes for all forex pairs. ### Method GET ### Endpoint /stable/batch-forex-quotes ``` -------------------------------- ### Export Requirements.txt with UV Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Generate a 'requirements.txt' file from the current environment's installed packages using 'uv pip freeze'. ```bash uv pip freeze > requirements.txt ``` -------------------------------- ### Batch Exchange Quote Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get quotes for all stocks on a specific exchange. ```APIDOC ## GET /stable/batch-exchange-quote ### Description Get quotes for all stocks on a specific exchange. ### Method GET ### Endpoint /stable/batch-exchange-quote ``` -------------------------------- ### Using Context Managers with FMPDataClient Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Demonstrates the recommended pattern for initializing and automatically closing the FMPDataClient using a context manager. This ensures resources are properly managed. ```python from fmp_data import FMPDataClient with FMPDataClient.from_env() as client: profile = client.company.get_profile("AAPL") # Client automatically closed ``` -------------------------------- ### Mutual Fund Holdings Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the holdings of a given mutual fund. ```APIDOC ## GET /stable/mutual-fund-holdings ### Description Get mutual fund holdings. ### Method GET ### Endpoint /stable/mutual-fund-holdings ``` -------------------------------- ### Run All Tests with Makefile Source: https://github.com/mehdizare/fmp-data/blob/main/CONTRIBUTING.md Execute all project tests using the `make test` command. For coverage, use `make test-cov`. ```bash # Run all tests make test ``` ```bash # Run with coverage (coverage is collected in the dedicated CI job) make test-cov ``` -------------------------------- ### Funds Disclosure Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get disclosure holdings for mutual funds and ETFs. ```APIDOC ## GET /stable/funds/disclosure ### Description Get mutual fund/ETF disclosure holdings. ### Method GET ### Endpoint /stable/funds/disclosure ``` -------------------------------- ### ETF Sector Weightings Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the sector weightings for a given ETF. ```APIDOC ## GET /stable/etf/sector-weightings ### Description Get ETF sector weightings. ### Method GET ### Endpoint /stable/etf/sector-weightings ``` -------------------------------- ### Troubleshoot PyPI Publishing with uv Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/releasing.md Use `uv publish --dry-run` to check credentials and token validity before publishing. Verify the built package artifacts using `uv build` and `twine check`. ```bash # Check credentials uv publish --dry-run --token "$PYPI_TOKEN" # Verify package uv build --wheel --sdist uv run twine check dist/* ``` -------------------------------- ### ETF Country Weightings Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the country weightings for a given ETF. ```APIDOC ## GET /stable/etf/country-weightings ### Description Get ETF country weightings. ### Method GET ### Endpoint /stable/etf/country-weightings ``` -------------------------------- ### Example Test Case Structure Source: https://github.com/mehdizare/fmp-data/blob/main/docs/contributing/index.md Demonstrates the structure for writing unit tests for a client class using Pytest and unittest.mock. ```python # tests/test_example.py import pytest from unittest.mock import Mock from fmp_data import FMPDataClient from fmp_data.exceptions import ValidationError class TestExampleClient: """Test suite for ExampleClient.""" def test_get_example_data_success(self, mock_client): """Test successful data retrieval.""" # Test implementation pass def test_get_example_data_invalid_symbol(self, mock_client): """Test error handling for invalid symbols.""" with pytest.raises(ValidationError): mock_client.example.get_example_data("INVALID") ``` -------------------------------- ### Create Virtual Environment with UV Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Create a new virtual environment using the 'uv' tool. This isolates project dependencies. ```bash uv venv ``` -------------------------------- ### Symbol Positions Summary Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a summary of positions by stock symbol. ```APIDOC ## GET /stable/institutional-ownership/symbol-positions-summary ### Description Get positions summary by symbol. ### Method GET ### Endpoint /stable/institutional-ownership/symbol-positions-summary ``` -------------------------------- ### Asynchronous Data Fetching with AsyncFMPDataClient Source: https://github.com/mehdizare/fmp-data/blob/main/README.md Demonstrates how to use the `AsyncFMPDataClient` for asynchronous data retrieval, including fetching a single company profile and making concurrent requests for multiple profiles. Requires the FMP API key to be configured. ```python from fmp_data import AsyncFMPDataClient import asyncio async def main(): async with AsyncFMPDataClient.from_env() as client: # All endpoint methods are async profile = await client.company.get_profile("AAPL") print(f"Company: {profile.company_name}") # Concurrent requests profiles = await asyncio.gather( client.company.get_profile("AAPL"), client.company.get_profile("MSFT"), client.company.get_profile("GOOGL"), ) for p in profiles: print(f"{p.symbol}: {p.company_name}") asyncio.run(main()) ``` -------------------------------- ### Institutional Ownership Latest Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the latest institutional ownership filings. ```APIDOC ## GET /stable/institutional-ownership/latest ### Description Get latest institutional ownership filings. ### Method GET ### Endpoint /stable/institutional-ownership/latest ``` -------------------------------- ### Industry Performance Summary Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a performance summary for different industries. ```APIDOC ## GET /stable/institutional-ownership/industry-summary ### Description Get industry performance summary. ### Method GET ### Endpoint /stable/institutional-ownership/industry-summary ``` -------------------------------- ### Run Fundamental Analysis Example Source: https://github.com/mehdizare/fmp-data/blob/main/examples/README.md Execute the financial_statements.py script for income statements, balance sheets, and cash flow analysis. ```bash python examples/fundamental_analysis/financial_statements.py ``` -------------------------------- ### Holder Performance Summary Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a performance summary for institutional holders. ```APIDOC ## GET /stable/institutional-ownership/holder-performance-summary ### Description Get holder performance summary. ### Method GET ### Endpoint /stable/institutional-ownership/holder-performance-summary ``` -------------------------------- ### Test MCP Server Execution Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/claude_desktop/troubleshooting.md Run the MCP server directly to check its basic functionality and startup. ```bash # 5. Test MCP server export FMP_API_KEY="your_key" # or SET on Windows python -m fmp_data.mcp ``` -------------------------------- ### Insider Statistics Enhanced Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get enhanced insider trading statistics. ```APIDOC ## GET /stable/insider-trading/statistics ### Description Get enhanced insider trading statistics. ### Method GET ### Endpoint /stable/insider-trading/statistics ``` -------------------------------- ### Custom Client Configuration Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/reference.md Demonstrates how to create a custom configuration for the FMPDataClient, including setting a custom base URL, timeout, retry count, and detailed logging settings. ```python from fmp_data import FMPDataClient, ClientConfig, LoggingConfig, LogHandlerConfig # Custom configuration config = ClientConfig( api_key="your_api_key", # pragma: allowlist secret base_url="https://financialmodelingprep.com", timeout=60, max_retries=5, logging=LoggingConfig( level="INFO", handlers={ "console": LogHandlerConfig( class_name="StreamHandler", level="INFO", format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) } ) ) client = FMPDataClient(config=config) ``` -------------------------------- ### Configure MCP Server Command Path Source: https://github.com/mehdizare/fmp-data/blob/main/docs/mcp/troubleshooting.md Example JSON configuration for the MCP server, specifying the command to run the Python executable and its arguments. Ensure the `command` path is accurate for your system. ```json { "mcpServers": { "fmp-data": { "command": "/usr/bin/python3", // Use your actual path "args": ["-m", "fmp_data.mcp"], "env": { "FMP_API_KEY": "your_key" } } } } ``` -------------------------------- ### Insider Trading Latest Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get the latest insider trading activity. ```APIDOC ## GET /stable/insider-trading/latest ### Description Get latest insider trading activity. ### Method GET ### Endpoint /stable/insider-trading/latest ``` -------------------------------- ### Manual MCP Configuration via MCP CLI Source: https://github.com/mehdizare/fmp-data/blob/main/examples/mcp/configurations/README.md Configure and run the MCP server manually using the MCP CLI, specifying the manifest file and executing a Python command to create and run the application. This allows for more granular control over the server setup. ```bash FMP_API_KEY=your_api_key mcp dev python -c " from fmp_data.mcp.server import create_app app = create_app('examples/mcp_configurations/research_manifest.py') app.run() " ``` -------------------------------- ### Stock Splits Calendar Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get a calendar of upcoming stock splits. ```APIDOC ## GET /stable/splits-calendar ### Description Get stock splits calendar. ### Method GET ### Endpoint /stable/splits-calendar ``` -------------------------------- ### Full Financial Statement Source: https://github.com/mehdizare/fmp-data/blob/main/docs/api/endpoints.md Get full financial statements as reported. ```APIDOC ## GET /stable/financial-statement-full-as-reported ### Description Get full financial statements as reported. ### Method GET ### Endpoint /stable/financial-statement-full-as-reported ```