MCP App Store
Financial-Services
Moody's Credit MCP icon

Moody's Credit MCP

by Moody's Analytics

Overview

Moody's Credit MCP powers AI applications and analytics workflows with GenAI-ready data and research needed for comprehensive credit analysis. Moody's Credit MCP provides a unified layer across core credit data categories commonly used in risk assessment, offering financial analysis, default risk metrics, and qualitative insights. It combines comprehensive entity information, such as financials, ownership, and management, with Moody's Ratings proprietary ratings and research, and probability of default metrics, all enhanced by unstructured data like company filings, earnings transcripts, news, and macroeconomic trends. By bringing structured and unstructured credit inputs together in a single interface, Moody's Credit MCP enables faster data-to-insight workflows, supporting more rigorous, consistent credit assessment and continuous monitoring of entities, markets, and portfolios. Data includes: - Global entity firmographics and identifiers - Entity hierarchies and ownership structures - Detailed global entity financials - Moody's Ratings credit ratings and research - Expected default frequency - Economic data and research - News and media - Annual reports Use Moody's Credit MCP for: - Credit Analysis – access comprehensive credit risk data and research to assess creditworthiness and compare risk across issuers and instruments - Risk Management – monitor credit risk through forward-looking measures and scenario analysis - Relationship Management – quickly evaluate credit health to support informed engagement and credit structuring - Ratings Advisory – align issuer details with ratings methodologies and peer benchmarks - Investment Research – get data-driven assessments to evaluate relative value and risk - Market Analysis – analyze sector trends and credit risk signals to assess broader market conditions

Tools

findEntity

ChatGPT
Find entity ID or multiple IDs from user-provided names, organization identifiers, or criteria (including sector, region, size, or rating group). Default to the data parameter for names, natural-language criteria, and any identifier provided. Pass data verbatim; do not append or rewrite keywords. Constraint: findEntity must be invoked exactly once per user query, regardless of how many entities need to be resolved. Combine all entity names into a single data parameter value. Multiple sequential findEntity calls for the same query are not permitted and will degrade performance.

findEntity

ChatGPT
Find entity ID or multiple IDs from user-provided names, organization identifiers, or criteria (including sector, region, size, or rating group). Default to the data parameter for names, natural-language criteria, and any identifier provided. Pass data verbatim; do not append or rewrite keywords. Constraint: findEntity must be invoked exactly once per user query, regardless of how many entities need to be resolved. Combine all entity names into a single data parameter value. Multiple sequential findEntity calls for the same query are not permitted and will degrade performance.

getCreditOpinion

ChatGPT
Retrieve one or more sections from Moody's credit opinion report(s) for the given entity ID(s). Available sections: Summary (Summary), Credit Strengths (CreditStrengths), Credit Challenges (CreditChallenges), Factors Leading to Upgrade (FactorsLeadingToUpgrade), Factors Leading to Downgrade (FactorsLeadingToDowngrade), Outlook (RatingOutlook), Scorecard (RatingFactors), ESG (ESGConsiderations), and Key Indicators (KeyIndicatorsTable). Defaults to: Summary, Credit Strengths (CreditStrengths), Credit Challenges (CreditChallenges), Factors Leading to Upgrade (FactorsLeadingToUpgrade), Factors Leading to Downgrade (FactorsLeadingToDowngrade), Rating Outlook (RatingOutlook). Pass the 'sections' parameter to request ESG, Scorecard, or Key Indicators explicitly. For scorecard requests, pass sections: ["RatingFactors"]. For SWOT requests, pass sections: ["FactorsLeadingToUpgrade", "FactorsLeadingToDowngrade", "CreditStrengths", "CreditChallenges"]. Use this tool to: Retrieve rating drivers and summary-level credit analysis — the Summary section captures Moody's overall credit view, key strengths, principal risks, and financial profile highlights Identify specific factors and thresholds that could trigger a rating upgrade or downgrade: quantitative (leverage ratios, coverage metrics, liquidity thresholds) and qualitative (strategic execution, market position changes, governance improvements) Assess rating sensitivities — understand how external factors (macroeconomic conditions, regulatory changes, sector dynamics) influence rating direction and inform investment strategy Monitor early warning signals and rating migration paths; benchmark rating stability against peers Generate a structured SWOT analysis — synthesize credit Strengths, Weaknesses, Opportunities, and Threats; highlight operational or financial vulnerabilities and growth opportunities from market expansion, innovation, or strategic initiatives Identify strategic positioning and competitive advantages Evaluate external threats (competitive pressure, regulatory changes, market disruption, macroeconomic headwinds) Support strategic decision-making and credit assessment by clarifying risk-return tradeoffs Understand forward-looking credit trajectory and probability of rating changes (upgrade/downgrade), near-to-medium term risks and opportunities, and Moody's confidence in the entity's ability to navigate business challenges Understand quantitative and qualitative factors underlying Moody's rating methodology by requesting RatingFactors; identify how the entity scores across multiple dimensions (scale, business profile, financial metrics, leverage, liquidity) and which scorecard factors are strengths vs. weaknesses Assess ESG impact on creditworthiness: access Issuer Profile Scores (IPS) and Credit Impact Scores (CIS); identify material ESG risks including carbon transition, climate, social controversies, and governance weaknesses; evaluate management's preparedness for ESG-related transitions Compare ESG exposure across peers and understand how ESG factors differentiate credit quality Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getCreditOpinion

ChatGPT
Retrieve one or more sections from Moody's credit opinion report(s) for the given entity ID(s). Available sections: Summary (Summary), Credit Strengths (CreditStrengths), Credit Challenges (CreditChallenges), Factors Leading to Upgrade (FactorsLeadingToUpgrade), Factors Leading to Downgrade (FactorsLeadingToDowngrade), Outlook (RatingOutlook), Scorecard (RatingFactors), ESG (ESGConsiderations), and Key Indicators (KeyIndicatorsTable). Defaults to: Summary, Credit Strengths (CreditStrengths), Credit Challenges (CreditChallenges), Factors Leading to Upgrade (FactorsLeadingToUpgrade), Factors Leading to Downgrade (FactorsLeadingToDowngrade), Rating Outlook (RatingOutlook). Pass the 'sections' parameter to request ESG, Scorecard, or Key Indicators explicitly. For scorecard requests, pass sections: ["RatingFactors"]. For SWOT requests, pass sections: ["FactorsLeadingToUpgrade", "FactorsLeadingToDowngrade", "CreditStrengths", "CreditChallenges"]. Use this tool to: Retrieve rating drivers and summary-level credit analysis — the Summary section captures Moody's overall credit view, key strengths, principal risks, and financial profile highlights Identify specific factors and thresholds that could trigger a rating upgrade or downgrade: quantitative (leverage ratios, coverage metrics, liquidity thresholds) and qualitative (strategic execution, market position changes, governance improvements) Assess rating sensitivities — understand how external factors (macroeconomic conditions, regulatory changes, sector dynamics) influence rating direction and inform investment strategy Monitor early warning signals and rating migration paths; benchmark rating stability against peers Generate a structured SWOT analysis — synthesize credit Strengths, Weaknesses, Opportunities, and Threats; highlight operational or financial vulnerabilities and growth opportunities from market expansion, innovation, or strategic initiatives Identify strategic positioning and competitive advantages Evaluate external threats (competitive pressure, regulatory changes, market disruption, macroeconomic headwinds) Support strategic decision-making and credit assessment by clarifying risk-return tradeoffs Understand forward-looking credit trajectory and probability of rating changes (upgrade/downgrade), near-to-medium term risks and opportunities, and Moody's confidence in the entity's ability to navigate business challenges Understand quantitative and qualitative factors underlying Moody's rating methodology by requesting RatingFactors; identify how the entity scores across multiple dimensions (scale, business profile, financial metrics, leverage, liquidity) and which scorecard factors are strengths vs. weaknesses Assess ESG impact on creditworthiness: access Issuer Profile Scores (IPS) and Credit Impact Scores (CIS); identify material ESG risks including carbon transition, climate, social controversies, and governance weaknesses; evaluate management's preparedness for ESG-related transitions Compare ESG exposure across peers and understand how ESG factors differentiate credit quality Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityBeneficiaryOwners

ChatGPT
Retrieve details about the beneficial owners of a given entity, including: Basic information about the beneficial owner: name, country Direct and total ownership percentage held by the beneficial owner in the entity Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityBeneficiaryOwners

ChatGPT
Retrieve details about the beneficial owners of a given entity, including: Basic information about the beneficial owner: name, country Direct and total ownership percentage held by the beneficial owner in the entity Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityCountryProfile

ChatGPT
Retrieve Moody's view on a sovereign entity that a given entity has domicile in using entity ID to: Understand comprehensive sovereign credit profile including fiscal strength, institutional framework, and economic resilience Assess political stability, governance quality, and policy effectiveness Identify sovereign-specific risks: debt sustainability, external vulnerabilities, growth prospects Understand contagion risks and cross-border exposure implications * Contextualize country-specific business environment factors (regulatory, legal, economic) Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityCountryProfile

ChatGPT
Retrieve Moody's view on a sovereign entity that a given entity has domicile in using entity ID to: Understand comprehensive sovereign credit profile including fiscal strength, institutional framework, and economic resilience Assess political stability, governance quality, and policy effectiveness Identify sovereign-specific risks: debt sustainability, external vulnerabilities, growth prospects Understand contagion risks and cross-border exposure implications * Contextualize country-specific business environment factors (regulatory, legal, economic) Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityFinancials_v2

ChatGPT
Retrieve detailed financial statements for entity IDs to analyze: Income statement (revenue, expenses, net income) Balance sheet (assets, liabilities, equity) Cash flow statement (operating, investing, financing activities) Historical performance trends and financial profile evolution This tool fetches from Moody's and Eva Financial API in parallel for non-banking entities, defaulting to the most recent 5 years of data if no periods are specified and selecting whichever source has the most recently updated data. The tool falls back to AQ defaulting to the previous 3 years if both Moody's and EVA results are unavailable. For entities in the Financial Institutions sector, BankFocus results are returned defaulting to the previous five years if no periods are specified. For adjusted financials requests, only Moody's is used (Eva does not support adjusted data). When no explicit filterCriteria or prompt is provided, defaults to returning key financial indicators only. When a prompt is provided, the tool will return data filtered with the prompt. When filterCriteria is provided, the tool will return data filtered with the filterCriteria. To retrieve the most recent 5 years of data with all available sections and account names, pass an empty filterCriteria object: filterCriteria: {}. Optional natural language 'prompt' parameter can be provided to narrow down results (e.g., "total assets and net income for last 3 years in EUR"). The prompt is parsed by LLM for banking entities to identify specific fields, periods, currency, and scale. Optional filter criteria can be provided to narrow down results. Prompt can be used alone or combined with filterCriteria. Merge precedence when both prompt and filterCriteria are supplied: For most entities: filterCriteria wins on all fields, including accountNames. When filterCriteria.accountNames is provided, prompt-parsed account names are ignored. When filterCriteria.accountNames is absent, prompt-parsed account names are used. For banking entities: filterCriteria wins on periods, currencies, scale, and consolidation. Exception — accountNames: the prompt's LLM-resolved field names take priority over filterCriteria.accountNames because the LLM parser produces source-specific BankFocus field names (e.g. "Operating revenues") that are more precise. Moody's: supports all filter fields (periods, currencies, sections, accountNames, scale) BankFocus: supports periods (years, quarters, relative quarters like LQ/LQ-1), currencies (first value used if multiple specified), scale, and accountNames (use Bank Focus field names like "Total assets (balance sheet)"). Does not support sections or half-year/LTM/YTD periods. * AQ: does not support filtering Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityFinancials_v2

ChatGPT
Retrieve detailed financial statements for entity IDs to analyze: Income statement (revenue, expenses, net income) Balance sheet (assets, liabilities, equity) Cash flow statement (operating, investing, financing activities) Historical performance trends and financial profile evolution This tool fetches from Moody's and Eva Financial API in parallel for non-banking entities, defaulting to the most recent 5 years of data if no periods are specified and selecting whichever source has the most recently updated data. The tool falls back to AQ defaulting to the previous 3 years if both Moody's and EVA results are unavailable. For entities in the Financial Institutions sector, BankFocus results are returned defaulting to the previous five years if no periods are specified. For adjusted financials requests, only Moody's is used (Eva does not support adjusted data). When no explicit filterCriteria or prompt is provided, defaults to returning key financial indicators only. When a prompt is provided, the tool will return data filtered with the prompt. When filterCriteria is provided, the tool will return data filtered with the filterCriteria. To retrieve the most recent 5 years of data with all available sections and account names, pass an empty filterCriteria object: filterCriteria: {}. Optional natural language 'prompt' parameter can be provided to narrow down results (e.g., "total assets and net income for last 3 years in EUR"). The prompt is parsed by LLM for banking entities to identify specific fields, periods, currency, and scale. Optional filter criteria can be provided to narrow down results. Prompt can be used alone or combined with filterCriteria. Merge precedence when both prompt and filterCriteria are supplied: For most entities: filterCriteria wins on all fields, including accountNames. When filterCriteria.accountNames is provided, prompt-parsed account names are ignored. When filterCriteria.accountNames is absent, prompt-parsed account names are used. For banking entities: filterCriteria wins on periods, currencies, scale, and consolidation. Exception — accountNames: the prompt's LLM-resolved field names take priority over filterCriteria.accountNames because the LLM parser produces source-specific BankFocus field names (e.g. "Operating revenues") that are more precise. Moody's: supports all filter fields (periods, currencies, sections, accountNames, scale) BankFocus: supports periods (years, quarters, relative quarters like LQ/LQ-1), currencies (first value used if multiple specified), scale, and accountNames (use Bank Focus field names like "Total assets (balance sheet)"). Does not support sections or half-year/LTM/YTD periods. * AQ: does not support filtering Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityManagersDirectors_v2

ChatGPT
Retrieve current Managers, Directors and key appointed officers for a given entity. By default returns only each officer's name and position (role). Set includeDetails to true for full profiles (age, nationality, tenure, address, shareholding, etc.). Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityManagersDirectors_v2

ChatGPT
Retrieve current Managers, Directors and key appointed officers for a given entity. By default returns only each officer's name and position (role). Set includeDetails to true for full profiles (age, nationality, tenure, address, shareholding, etc.). Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityPeers

ChatGPT
Retrieve peer entities for a given entity ID. When peers are requested but no specific number is provided, the tool defaults to 5 peers per entity. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityPeers

ChatGPT
Retrieve peer entities for a given entity ID. When peers are requested but no specific number is provided, the tool defaults to 5 peers per entity. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityProbabilityOfDefault

ChatGPT
Get Probability of Default (Current PD, 1 year PD, 5 yr cumulative PD), implied rating (Current), Credit Default probabilities and implied ratings, drivers and early warning score for a given entity ID. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityProbabilityOfDefault

ChatGPT
Get Probability of Default (Current PD, 1 year PD, 5 yr cumulative PD), implied rating (Current), Credit Default probabilities and implied ratings, drivers and early warning score for a given entity ID. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityProfile

ChatGPT
For a given entity ID, retrieve basic firmographic information about the company, including: Legal Company name Contact information, telephone number, registered address details, number of employees Business description Standard Industry classifications, NACE, NAICS and US SIC External company identifiers like LEI, Trade register numbers & local National identifiers Legal information, legal form, status Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityProfile

ChatGPT
For a given entity ID, retrieve basic firmographic information about the company, including: Legal Company name Contact information, telephone number, registered address details, number of employees Business description Standard Industry classifications, NACE, NAICS and US SIC External company identifiers like LEI, Trade register numbers & local National identifiers Legal information, legal form, status Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityRatings

ChatGPT
Retrieve the current Moody's roll-up Long Term Rating and Outlook, along with the ratings history since 2000, for a given entity ID to: Understand forward-looking credit trajectory and probability of rating changes (upgrade/downgrade) Evaluate near-to-medium term risks and opportunities * Gauge Moody's confidence level in the entity's ability to navigate business challenges Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityRatings

ChatGPT
Retrieve the current Moody's roll-up Long Term Rating and Outlook, along with the ratings history since 2000, for a given entity ID to: Understand forward-looking credit trajectory and probability of rating changes (upgrade/downgrade) Evaluate near-to-medium term risks and opportunities * Gauge Moody's confidence level in the entity's ability to navigate business challenges Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntitySectorOutlook

ChatGPT
Retrieve Moody's forward-looking view on a sector that a given entity belongs to using entity ID to: Generate comprehensive perspective on sector-wide credit trends and dynamics Understand structural risks and opportunities affecting all players in the industry Identify cyclical vs. secular factors influencing sector performance Assess regulatory, technological, and competitive forces reshaping the sector Evaluate sovereign and macroeconomic risks that cascade through the sector Benchmark individual entity performance against sector-wide expectations Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntitySectorOutlook

ChatGPT
Retrieve Moody's forward-looking view on a sector that a given entity belongs to using entity ID to: Generate comprehensive perspective on sector-wide credit trends and dynamics Understand structural risks and opportunities affecting all players in the industry Identify cyclical vs. secular factors influencing sector performance Assess regulatory, technological, and competitive forces reshaping the sector Evaluate sovereign and macroeconomic risks that cascade through the sector Benchmark individual entity performance against sector-wide expectations Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntitySubsidiaries

ChatGPT
Retrieve subsidiaries for a given entity, including: Aggregate information for the searched entity (direct subsidiary count, corporate group size, key subsidiaries) Subsidiary details such as legal name, location, entity type, and ownership percentages Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntitySubsidiaries

ChatGPT
Retrieve subsidiaries for a given entity, including: Aggregate information for the searched entity (direct subsidiary count, corporate group size, key subsidiaries) Subsidiary details such as legal name, location, entity type, and ownership percentages Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityUltimateOwners

ChatGPT
Retrieve for a given entity details about the ultimate owner: Ultimate beneficial owners (UBOs) Direct and total % owned in the company Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

getEntityUltimateOwners

ChatGPT
Retrieve for a given entity details about the ultimate owner: Ultimate beneficial owners (UBOs) Direct and total % owned in the company Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchAllDocuments

ChatGPT
Search all the documents across all sectors or for a given entity. Optional chunks and pages tune how much text is pulled per publication from the semantic index; specifying either disables LLM chunk reranking (relevance ranking then follows retrieval scores and budgets only). Note: This tool may require entity ID(s). If you need to get specific entity research and the input to this tool does not include entity ID(s), you must first call the findEntity tool to search for and obtain the appropriate entity ID(s). When the user mentions a sector or region in the prompt, pass the term verbatim via filter.sectors / filter.regions; the tool resolves names to taxonomy OWL IDs server-side, and any unresolved names are silently dropped from the filter.

searchAllDocuments

ChatGPT
Search all the documents across all sectors or for a given entity. Optional chunks and pages tune how much text is pulled per publication from the semantic index; specifying either disables LLM chunk reranking (relevance ranking then follows retrieval scores and budgets only). Note: This tool may require entity ID(s). If you need to get specific entity research and the input to this tool does not include entity ID(s), you must first call the findEntity tool to search for and obtain the appropriate entity ID(s). When the user mentions a sector or region in the prompt, pass the term verbatim via filter.sectors / filter.regions; the tool resolves names to taxonomy OWL IDs server-side, and any unresolved names are silently dropped from the filter.

searchCompanyFilings

ChatGPT
Search company filings (annual e.g. 10-K/20-F, interim e.g. 10-Q/6-K, or both for annual and interim together). A non-empty query string is required to search the filings content. Optional reportYears (four-digit strings, e.g. "2025") and optional reportQuarters ("Q1", "Q2", "Q3", or "Q4") scope the filings search. When either is omitted, the latest available report is returned. results is always an array. When filings are still ingesting upstream, you get one row per requested entity with the same fields as getCompanyFilings for an ingesting response (title, text, status, message, metadata), plus entityId, and the polling guidance in text / message. When the search returns no hits for an entity, you get one not_found row per such entity with that same shape as getCompanyFilings when no filing exists (entityId, title, text, status, message, empty metadata). If the tool reports that filings are being ingested, wait approximately 10 minutes before retrying with the same inputs—that indicates ingestion in progress, not a generic error. For MCP servers and clients: when you receive that ingestion-in-progress message, ask the user whether they want you to keep calling this tool with the same inputs until it returns a normal successful result. If they agree, wait 10 minutes before the first follow-up tool call; if the response is still not the normal successful result, repeat the tool call every 1 minute until you receive the expected successful payload, then stop polling. When multiple filing types are requested (e.g. annual and interim together), each upstream search runs as a separate HTTP call to the filings service. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchCompanyFilings

ChatGPT
Search company filings (annual e.g. 10-K/20-F, interim e.g. 10-Q/6-K, or both for annual and interim together). A non-empty query string is required to search the filings content. Optional reportYears (four-digit strings, e.g. "2025") and optional reportQuarters ("Q1", "Q2", "Q3", or "Q4") scope the filings search. When either is omitted, the latest available report is returned. results is always an array. When filings are still ingesting upstream, you get one row per requested entity with the same fields as getCompanyFilings for an ingesting response (title, text, status, message, metadata), plus entityId, and the polling guidance in text / message. When the search returns no hits for an entity, you get one not_found row per such entity with that same shape as getCompanyFilings when no filing exists (entityId, title, text, status, message, empty metadata). If the tool reports that filings are being ingested, wait approximately 10 minutes before retrying with the same inputs—that indicates ingestion in progress, not a generic error. For MCP servers and clients: when you receive that ingestion-in-progress message, ask the user whether they want you to keep calling this tool with the same inputs until it returns a normal successful result. If they agree, wait 10 minutes before the first follow-up tool call; if the response is still not the normal successful result, repeat the tool call every 1 minute until you receive the expected successful payload, then stop polling. When multiple filing types are requested (e.g. annual and interim together), each upstream search runs as a separate HTTP call to the filings service. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchEntityDocuments

ChatGPT
Search all the documents for a given entity Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchEntityDocuments

ChatGPT
Search all the documents for a given entity Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchEntityEarningsCall

ChatGPT
Search for Earnings Call Transcripts on a given entity ID or a query to track key developments and strategic initiatives. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchEntityEarningsCall

ChatGPT
Search for Earnings Call Transcripts on a given entity ID or a query to track key developments and strategic initiatives. Note: This tool requires entity ID(s) in one of these formats: the Base64URL-encoded entityId produced by findEntity, or the raw canonical entity ID string orgId:<...>#orbisId:<...>#bvdId:<...> for backward compatibility. If the input to this tool does not include a valid entity ID in one of those formats, you must first call the findEntity tool to search for and obtain the appropriate Base64URL-encoded entityId(s). findEntity must be called at most once per user query — if multiple entities need to be resolved, include all entity names in a single findEntity call rather than making separate calls for each entity.

searchNews

ChatGPT
Search for news articles using entity IDs, keywords, or both (at least one required). Track developments, identify trends, and monitor narratives for entities or topics. Time Period: Specify dateRange (exact dates) or timeRange (preset like past7days). dateRange overrides timeRange. Default: past30days. Time period is helpful when you want to search for news articles that are within a specific time period. timeFilterField: Which date field time range filters apply to. received_date: filter by when the article was ingested. publication_date: filter by when the article was published. Default: publication_date. sortBy: Field by which articles are sorted. Options: relevancy, recency, received_date, publication_date. Default: relevancy. Usage Patterns: Entity-specific: Search news for specific organizations. If entity IDs are not provided, call the findEntity tool first to obtain the required entity IDs. Topic-based: Search by query/keywords only without entity IDs for general news on any topic. Combined: Use both to filter entity news by keywords.

searchNews

ChatGPT
Search for news articles using entity IDs, keywords, or both (at least one required). Track developments, identify trends, and monitor narratives for entities or topics. Time Period: Specify dateRange (exact dates) or timeRange (preset like past7days). dateRange overrides timeRange. Default: past30days. Time period is helpful when you want to search for news articles that are within a specific time period. timeFilterField: Which date field time range filters apply to. received_date: filter by when the article was ingested. publication_date: filter by when the article was published. Default: publication_date. sortBy: Field by which articles are sorted. Options: relevancy, recency, received_date, publication_date. Default: relevancy. Usage Patterns: Entity-specific: Search news for specific organizations. If entity IDs are not provided, call the findEntity tool first to obtain the required entity IDs. Topic-based: Search by query/keywords only without entity IDs for general news on any topic. Combined: Use both to filter entity news by keywords.

searchPrecisReports

ChatGPT
Search Moody's Précis research for themes, topics, and insights on sovereigns from all reports since 2024.

searchPrecisReports

ChatGPT
Search Moody's Précis research for themes, topics, and insights on sovereigns from all reports since 2024.

findEntity

Claude

getEntityCountryProfile

Claude

getEntityCreditOpinionOutlook

Claude

getEntityCreditOpinionSummary

Claude

getEntityCreditUpgradeDowngradeFactors

Claude

getEntityEsg

Claude

getEntityPeers

Claude

getEntityRatings

Claude

getEntityScorecard

Claude

getEntitySectorOutlook

Claude

getEntitySwot

Claude

searchAllDocuments

Claude

searchEntityDocuments

Claude

searchEntityEarningsCall

Claude

searchNews

Claude

App Stats

53

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily