DebtStack MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install debtstack-ai
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "DEBTSTACK_API_KEY=${DEBTSTACK_API_KEY}" debtstack-python -- node "<FULL_PATH_TO_DEBTSTACK_PYTHON>/dist/index.js"

Replace <FULL_PATH_TO_DEBTSTACK_PYTHON>/dist/index.js with the actual folder you prepared in step 1.

Required:DEBTSTACK_API_KEY
README.md

Corporate credit data for AI agents.

DebtStack.ai Python SDK

Corporate credit data for AI agents.

Why DebtStack?

Equity data is everywhere. Credit data isn't.

There's no "Yahoo Finance for bonds." Corporate debt structures, guarantor chains, and covenant details are buried in SEC filings—scattered across 10-Ks, 8-Ks, credit agreements, and indentures. An AI agent trying to answer "which telecom companies have leverage above 5x?" would need to read dozens of filings, extract the right numbers, and compute ratios manually.

DebtStack fixes this. We extract, normalize, and serve corporate credit data through an API built for AI agents.

Three Things You Can't Do Elsewhere

1. Cross-Company Credit Queries

# Find distressed telecom companies
GET /v1/companies?sector=Telecommunications&min_leverage=5&sort=-net_leverage_ratio

Screen ~300 companies by leverage, coverage ratios, or maturity risk in one call. No filing-by-filing analysis.

2. Pre-Built Entity Relationships

# Who guarantees this bond?
POST /v1/entities/traverse
{"start": {"type": "bond", "id": "893830AK8"}, "relationships": ["guarantees"]}

Guarantor chains, parent-subsidiary hierarchies, structural subordination—mapped and queryable. This data exists nowhere else in machine-readable form.

3. Agent-Ready Speed

< 100ms response time

AI agents chain multiple calls. If each took 30 seconds (reading a filing), a portfolio analysis would take hours. DebtStack returns in milliseconds.


Installation

pip install debtstack-ai

For LangChain integration:

pip install debtstack-ai[langchain]

Quick Start

from debtstack import DebtStackClient
import asyncio

async def main():
    async with DebtStackClient(api_key="your-api-key") as client:

        # Screen for high-leverage companies
        risky = await client.search_companies(
            sector="Telecommunications",
            min_leverage=4.0,
            fields="ticker,name,net_leverage_ratio,interest_coverage",
            sort="-net_leverage_ratio"
        )

        # Drill into the riskiest one
        ticker = risky["data"][0]["ticker"]
        bonds = await client.search_bonds(ticker=ticker, has_pricing=True)

        # Check guarantor coverage on their notes
        for bond in bonds["data"]:
            guarantors = await client.get_guarantors(bond["cusip"])
            print(f"{bond['name']}: {len(guarantors)} guarantors")

asyncio.run(main())

Synchronous Usage

from debtstack import DebtStackSyncClient

client = DebtStackSyncClient(api_key="your-api-key")
result = client.search_companies(sector="Energy", min_leverage=3.0)

What's In The Data

Coverage Count
Companies ~300 (S&P 100 + NASDAQ 100 + high-yield issuers)
Entities ~39,000 (subsidiaries, holdcos, JVs, VIEs)
Debt Instruments ~10,000 (bonds, loans, revolvers) with 96% document linkage
Bond Pricing ~4,300 bonds with FINRA TRACE pricing (updated 3x daily)
SEC Filing Sections ~25,000 (searchable full-text)
Covenants ~1,800 structured covenant records

Pre-computed metrics: Leverage ratios, interest coverage, maturity profiles, structural subordination scores.

Relationships: Guarantor chains, issuer-entity links, parent-subsidiary hierarchies.

API Methods

Method What It Does
search_companies() Screen by leverage, sector, coverage, risk flags
search_bonds() Filter by yield, spread, seniority, maturity
resolve_bond() Look up CUSIP, ISIN, or "RIG 8% 2027"
traverse_entities() Follow guarantor chains, map corporate structure
search_pricing() FINRA TRACE bond prices, YTM, spreads
search_documents() Full-text search across credit agreements, indentures
batch() Run multiple queries in parallel
get_changes() Track debt structure changes over time

Examples

Which MAG7 company has the most debt?

result = await client.search_companies(
    ticker="AAPL,MSFT,GOOGL,AMZN,NVDA,META,TSLA",
    fields="ticker,name,total_debt,net_leverage_ratio",
    sort="-total_debt",
    limit=1
)
# Returns structured data in milliseconds, not minutes

Find high-yield bonds trading at a discount

result = await client.search_bonds(
    seniority="senior_unsecured",
    min_ytm=8.0,
    has_pricing=True,
    sort="-pricing.ytm"
)

Who guarantees a specific bond?

guarantors = await client.get_guarantors("893830AK8")
for g in guarantors:
    print(f"{g['name']} ({g['entity_type']}) - {g['jurisdictio

Tools (6)

search_companiesScreen companies by leverage, sector, coverage, and risk flags.
search_bondsFilter bonds by yield, spread, seniority, and maturity.
resolve_bondLook up bond details by CUSIP, ISIN, or ticker/description.
traverse_entitiesFollow guarantor chains and map corporate structures.
search_pricingRetrieve FINRA TRACE bond prices, YTM, and spreads.
search_documentsPerform full-text search across credit agreements and indentures.

Environment Variables

DEBTSTACK_API_KEYrequiredAPI key for accessing DebtStack services

Configuration

claude_desktop_config.json
{"mcpServers": {"debtstack": {"command": "python", "args": ["-m", "debtstack.mcp"], "env": {"DEBTSTACK_API_KEY": "your-api-key"}}}}

Try it

Find all telecommunications companies with a net leverage ratio above 5x.
Who are the guarantors for the bond with CUSIP 893830AK8?
Compare the total debt and net leverage ratios of the MAG7 companies.
Find high-yield senior unsecured bonds trading at a discount with a YTM above 8%.
Trace the corporate hierarchy and guarantor chain for the parent company of this bond.

Frequently Asked Questions

What are the key features of DebtStack?

Real-time access to corporate debt structures and guarantor chains. Cross-company credit screening by leverage, coverage, and maturity. Full-text search across SEC filings, credit agreements, and indentures. FINRA TRACE bond pricing updated 3x daily. Pre-computed financial metrics like structural subordination scores.

What can I use DebtStack for?

Screening portfolios for distressed debt opportunities in specific sectors. Automating the analysis of corporate guarantor chains for risk assessment. Quickly comparing leverage ratios across large groups of public companies. Identifying high-yield bond opportunities based on real-time pricing data. Extracting covenant language from complex credit agreements for legal review.

How do I install DebtStack?

Install DebtStack by running: pip install debtstack-ai

What MCP clients work with DebtStack?

DebtStack works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep DebtStack docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare