# Dirigon > Private credit look-through from SEC filings. Same loan, different marks, across BDCs, interval funds, and listed CLO CEFs. Dirigon is a terminal + hosted MCP/API for private-credit marks from SEC EDGAR (BDC, interval, and listed CLO CEF schedules of investments). We match the facility. A fund blend is not a mark. This is not a stock-market API or a general SEC-fundamentals feed. Human site: https://dirigon.com Connect (Claude / Cursor / ChatGPT): https://dirigon.com/connect Billing (Trial / Tape / Matched - no approval wait): https://dirigon.com/billing Terminal seat (invite): https://dirigon.com/request-access This file: https://dirigon.com/llms.txt Playbook: https://dirigon.com/agents.md Skill: https://dirigon.com/skill.md OpenAPI: https://dirigon.com/v1/openapi.yaml Fields: https://dirigon.com/v1/fields.json MCP: https://dirigon.com/v1/mcp MCP registry card: https://dirigon.com/server.json ## What you can do without a key Read this file, `/agents.md`, `/skill.md`, and `/docs/*.md`. You will not get live marks without auth. Do not guess holdings. Public HTML (no key): https://dirigon.com/private-credit · https://dirigon.com/managers · https://dirigon.com/managers/blackstone · https://dirigon.com/managers/blue-owl · https://dirigon.com/managers/ares · https://dirigon.com/managers/goldman · https://dirigon.com/managers/hps · https://dirigon.com/funds/bcred · https://dirigon.com/funds/obdc · https://dirigon.com/funds/arcc · https://dirigon.com/marks ## Auth (one rule) - Interactive clients (Claude, Cursor, ChatGPT, Claude Code, Codex): **OAuth**. Sign in with the mailbox on the plan. Do not put a key in mcp.json. - Scripts / workers / curl: header `X-API-KEY` from an env var. Mint at https://dirigon.com/billing → account. Secret shown once. Do not paste keys into a chat. ## First prompt by plan | Plan | First prompt | Tools | |---|---|---| | Trial | lookup q=Coupa. Who holds it, and how do they mark the same loan? | lookup, get_issuer, get_facility | | Tape | Open ARCC. What is book vs as-filed? Then five SOI lines. | lookup, get_coverage, get_filer, get_positions | | Matched | lookup q=Coupa. Open get_issuer for every holder and the mark they filed. | Tape + issuers + sector + NA + get_scan + get_digest + get_sits | | Terminal | Show the widest same-loan disagreements this quarter, on fair value versus principal. | All | One-liners (public copy): - Trial: Who holds Coupa, and at what mark? Free for 7 days. - Tape: Open ARCC. Book vs as-filed and the SOI tape. $20/mo. - Matched: Coupa holders+marks and the fund tape. $200/mo. - Terminal: Widest same-loan disagreements + /app. Invite. Tape is fund-only (ARCC / SOI / book vs as-filed). Coupa holders and look-through live on Trial or Matched. Disagreement is Terminal. A call outside the plan returns HTTP 402 with a legal alternative. Meter: most calls 1 unit; issuer history 5; SOI tape 10. ## Docs - [Agents](https://dirigon.com/agents.md): Plan, tools, first prompt, grain, hosts. - [Skill](https://dirigon.com/skill.md): When to use Dirigon; anti-hallucination. - [Introduction](https://dirigon.com/docs/introduction.md) - [Quick start](https://dirigon.com/docs/quickstart.md) - [MCP](https://dirigon.com/docs/mcp.md) - [Find a credit](https://dirigon.com/docs/find-a-credit.md) - [Holder marks](https://dirigon.com/docs/holder-marks.md) - [Fund profile](https://dirigon.com/docs/fund-profile.md) - [SOI tape](https://dirigon.com/docs/soi-tape.md) - [Non-accrual](https://dirigon.com/docs/non-accrual.md) - [Coverage](https://dirigon.com/docs/coverage.md) - [Pricing](https://dirigon.com/docs/pricing.md) - [Privacy](https://dirigon.com/docs/privacy.md) - [Terms](https://dirigon.com/docs/terms.md) - [Desk](https://dirigon.com/docs/desk.md) Do not fetch `/api-docs` (JS viewer). Prefer `/docs/*.md`. `/docs/mcp.md` is documentation; the MCP server URL is `https://dirigon.com/v1/mcp`. ## MCP tools Start with `lookup` (`q=` borrower or ticker). Then deepen: - `lookup` - Everyday query. Short card + next. `full=true` for deep card. - `get_issuer` - Credit card: same-loan marks, family, history, recap (new paper, not a recovery). Whole-token `q=`. Hop `facilities[].facility_id` into `get_facility`. Open `get_facility` on `default_facility` when no row is picked. Do not merge family ids. - `get_facility` - One facility (instrument × maturity). Holders, marks, as-of, liens. Not the issuer book. `issuer_id` + `key`, or `facility_id`. Revolvers are never SAME LOAN. - `get_disagreement` - Widest same-loan spreads (4+ holders, 15pt+, vintage hidden). n is issuers, not facilities. Defaults match the terminal Disagreement screen (MIN HLD 4 · MIN DISP 15 · HIDE VINTAGE). Pass `issuer_id` for the card. - `get_filer` - Fund card (ticker or cik). Chips: BCRED, OBDC, OCIC, ARCC, HLEND, ADS, ASIF. - `get_positions` - SOI lines for one fund (`cik` required; `q=` borrower). Prefer filter before paging. n is the tape, not the analytics book. If `marks_status=null_marks`, sampled marks are null; do not silent-sum `fv_m`. - `get_non_accrual` - Footnoted NA only. - `get_coverage` - Snapshot size + `meta.compile_id` + `start_here`. Not accuracy-complete; not a seating audit. - `get_sector` - Sector mix. Software membership is `lookup q=software book`. - `get_clo_tranche` - Listed CLO CEF notes (`tranche_key`). Off Find Credit. - `get_scan` - Morning tiles. Copies scan.json. Disagreement is SAME LOAN, not issuer-book. - `get_digest` - Morning change pack. Copies digest.json. - `get_sits` - Special sits. Copies sits.json. Cheap NAV, 95¢ residual on tagged D/E, run-rate dividend path, claims vs later tagged facts. Residual is a scenario, not a mark. Empty issuer search: the name may sit unmatched on a fund tape. `get_filer` then `get_positions cik=… q=name`. Never report “no holdings” without checking the tape when FV may exist. ## Trust rules - Marks are fair value / cost from the filed SOI. `1.00` ≈ par. Money fields are $ millions. - SAME LOAN = matched facility on one as-of - not issuer high−low, not family total (`family_fv_m`). A fund blend is not a mark. - If `blocked` is true, skip comparisons. - Cite `meta.compile_id` on every answer. - Canva ≠ Canvas Medical. Prefer exact / primary hit (`issuers[0]`). - Do not claim every answer is trusted. Follow `marks_status`, `blocked`, empty hints, and HTTP 402. ## Manager chips (examples, not full roster) - Blackstone private credit → `BCRED` - Blue Owl → `OBDC`, `OCIC` - Ares → `ARCC` (CIK 1287750) ## Spec note Prefer `/v1/fields.json` and this file over OpenAPI alone - positions borrower `q=` may be missing from the YAML while MCP supports it. ## Empty marks If holders or FV are present but marks are empty, follow `marks_status` (equity_only | na_only | unmatched_tape | blocked) - never invent “no mark.” Canva-class: equity may be ~153¢ labelled, not street SAME LOAN.