Docs
MCP
Same data, for agents. Do not paste an API key into a chat.
Remote MCP URL: https://dirigon.com/v1/mcp
Claude, ChatGPT, Cursor, Grok, and Claude Code use OAuth. Sign in with the mailbox on Trial, Tape, Matched, or a paid API plan. An invite terminal seat cannot Allow. Curl uses header X-API-KEY from an env var.
Human setup: https://dirigon.com/connect
Claude app (claude.ai / Desktop / iOS)
Leave OAuth Client ID and Secret empty. Click Add.
1. Customize → Connectors → Add custom connector. 2. Name: Dirigon 3. URL: https://dirigon.com/v1/mcp 4. Advanced settings: leave blank. 5. Add. Sign in with the mailbox on the API plan. Allow. 6. New chat → + → enable Dirigon.
Do not paste an API key into the conversation or into the OAuth boxes.
Claude Code
claude mcp add --transport http dirigon https://dirigon.com/v1/mcp
Then /mcp inside Claude Code. Sign in when it asks.
ChatGPT
Directory: https://chatgpt.com/plugins (search Dirigon) once the listing is live.
Until then: copy https://dirigon.com/v1/mcp. Settings → Developer mode → Plugins → +. Name Dirigon. Paste the URL. Authentication OAuth. Sign in. Allow. New chat, add Dirigon from the app picker.
Listing pack: https://dirigon.com/docs/openai-plugin.md
Grok
Bring your own MCP. Open https://grok.com/connectors → New Connector → Custom → URL https://dirigon.com/v1/mcp. Authentication OAuth. Sign in with the mailbox on the API plan. Allow. Do not paste a key into Grok chat or the connector config. An invite terminal seat cannot Allow.
No public third-party catalog tile yet (catalog TBD / partner). Docs: https://docs.x.ai/grok/connectors
Cursor
{
"mcpServers": {
"dirigon": {
"url": "https://dirigon.com/v1/mcp"
}
}
}
Sign in when Cursor asks. Do not put a key in mcp.json.
Codex CLI
codex mcp add dirigon --url https://dirigon.com/v1/mcp
Tools
lookup- Everyday query. q= a borrower, ticker, CIK, or phrase. Short card plus next. full=true is the deep card. Prefer this for a name.get_coverage- This compile's universe. funds = AG filers (BDCs + interval) plus CLO CEF tape. bdcs / interval / clo split. credits = peeled issuer_id count. total_fv_bn is $ billions; line fv_m is $ millions. meta.compile_id is the snapshot to cite. dictionary[] defines each field.get_issuer- issuer_id (or q= with one hit, or an exact name) opens the credit card: same-loan marks, family, history, recap when on the recap tape (new paper, not a recovery). q= matches whole tokens, not substrings. Many hits: thin list. No q: most-held names (thin). preset=disagreement = widest same-loan screen. Open get_facility on facilities[].facility_id (ISS-######:instrument|YYYY-MM) without guessing; default_facility / history_facilities[].key also address one paper. Do not merge family ids. Do not crawl every issuer_id.get_facility- One facility (instrument x maturity): holders, marks, as-of, liens. Not the issuer book. Pass facility_id (ISS-######:instrument|maturity) or issuer_id plus key (first_lien_term_loan|2029-08). issuer_id alone opens default_facility. Recap paper is a distinct key. same_loan is true only on the matched funded facility; revolvers are never SAME LOAN.get_filer- Exact ticker or cik= opens the fund card. Quote book.fv_m. fee_schedule is the advisory contract. fees.mgmt_fee_m / incentive_fee_m are tagged expense $m this period (aliases mgmt_m / incentive_m). incentive_status is tagged | untagged | zero_tagged | n/a. Untagged incentive stays null. YTD/not_quarterly is labeled, not silent-absent. Reported SOI marks · not open-market FV · fees != marks. pik_income.interest_pct_tii is quarterly PIK interest divided by total investment income. dividend_pct_tii is separate. pik_pct_debt_fv is any-PIK of debt fair value. all_pik_pct_debt_fv is zero-cash debt. Neither debt share is a share of investment income. A missing pik_income field was not tagged. q= with many hits is a thin list. sort=fv limit=4 is the Allocator starter. get_sector q=software view=funds ranks software books. Chips: BCRED, OCIC, HLEND, ADS, ASIF.get_positions- Line lookup on one fund SOI. Pass cik from get_filer and q= a borrower. No q: 15 sample lines (limit honors 1-15). Max 100 with q. n is the full tape, not the analytics book. Do not sum fv_m. If marks_status=null_marks, sampled marks are null.get_disagreement- The disagreement screen: widest same-loan issuer spreads on the latest common period (4+ holders, 15pt+, vintage hidden). n is issuers, not facilities. Stale interval marks do not rank. Pass issuer_id to get_issuer for the card. cursor pages.get_non_accrual- Lines the funds footnoted as non-accrual. Optional cik or q=credit name. Default 50. cursor pages.get_sector- Sectors page. No q: universe mix with denominator_fv_m. q=software|healthcare|industrials. view=credits|funds. Software fund ranking uses membership software_pct. Other sectors use printed mix. sort=fv|pct. cursor pages. cik= one fund's mix.get_clo_tranche- CLO note holder graph. q= or tranche_key= opens one deal|class (holders, marks, vehicles). No q: cross-vehicle connections (BDC / interval / loan_cef sleeves that share a CEF tranche). view=books is per-CEF field fill vs the canonical standard. Off Find Credit. Not collateral, WAS, or OC/IC.get_scan- Morning desk. No tile: headline and the tile index. tile= returns that list. Leverage history and distribution sleeves are not included. No new math.get_digest- Morning change pack. Copies digest.json. New filings, watchlist, non-accrual. Assembly, not a second mark engine.get_sits- Special sits desk. Copies sits.json. Listed BDCs at ≤50¢ of NAV, 95¢ residual on tagged D/E, run-rate dividend path, 8-K claims vs later tagged facts. Residual is a scenario, not a loan mark.
Example
curl https://dirigon.com/v1/mcp \
-H "X-API-KEY: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Example prompts (must be legal on the plan)
- Trial: lookup q=Coupa. Who holds it, and how do they mark the same loan? Then get_facility on the matched paper.
- Tape: Open ARCC. What is book vs as-filed? Then five SOI lines.
- Tape+: Open BCRED. What is the book mark vs as-filed?
- Tape: Show Ares Capital's Kellermeyer line.
- Matched: lookup q=Coupa. Open get_issuer for every holder and the mark they filed. Open get_facility on default_facility.
- Matched: Which fund has the most software?
- Matched: Which funds flagged Medallia as non-accrual?
- Matched: Four largest funds, equal-weight: book mark, PIK, non-accrual. (Allocator starter. Blend the four cards.)
- Terminal: Show the widest same-loan disagreements this quarter, on fair value versus principal.
- Terminal: Show the widest holder-mark disagreements in software.
Off-plan tools return HTTP 402. Read legal_alternative and retry.
Live issuer tools start on Trial or Matched. Desks request a seat. Start trial · Get Matched · Request a seat.