Docs
Openai Plugin
Paste this into the OpenAI plugin submission portal. MCP is already live. Do not paste an API key.
sunset: "Retire after the listing is live and /connect points at the directory URL. Review 2026-12-11."
Portal
https://platform.openai.com/plugins
Type: With MCP. Universal URL. OAuth.
Listing
| Field | Value |
|---|---|
| Plugin name | Dirigon |
| Subtitle | Private-credit marks as filed. Same loan, different holders. |
| Category | Finance |
| Short description | Look through BDCs, interval funds, and listed CLO CEFs. See who holds a credit and how each fund marked the same facility on EDGAR. |
| Website | https://dirigon.com |
| Support | mailto:admin@dirigon.com |
| Privacy | https://dirigon.com/docs/privacy.md |
| Terms | https://dirigon.com/docs/terms.md |
| Docs | https://dirigon.com/agents.md |
| MCP | https://dirigon.com/v1/mcp |
| Skill | https://dirigon.com/skill.md |
| Auth | OAuth. Dynamic client registration. Leave client id/secret empty. Scopes: dirigon, openid, email. |
Long description:
Use Dirigon when the question is a private-credit mark, not a stock price. ChatGPT can look up a borrower, open a fund's schedule of investments, compare same-loan marks across holders, and cite the compile. A fund blend is not a mark. This is public EDGAR only.
Reads only. All tools readOnlyHint true, openWorldHint false, destructiveHint false.
Why this is not another finance MCP
ChatGPT for Financial Services hosts Daloopa, PitchBook, LSEG News, and Crunchbase. That stack covers public fundamentals, private-company graphs, and news.
It does not cover: same loan, who holds it, what each filing vehicle marked it, as of which SOI.
Dirigon is that graph. Facility-matched. Cite meta.compile_id and the filing URL. No material non-public information.
Starter prompts
1. Who holds Coupa in BDC filings, and how does each holder mark the same loan? 2. Open ARCC. What is book vs as-filed, then show five SOI lines. 3. Show the widest same-loan disagreements this quarter on fair value versus principal. 4. How do Blackstone (BCRED) and Blue Owl (OBDC) mark the same software credits this filing window? 5. Is this name on non-accrual in any filing vehicle, and what is the footnote?
Trial mailbox: prompt 1 (lookup q=Coupa). Tape mailbox: prompt 2 (ARCC). Do not run Coupa issuer cards on Tape (HTTP 402).
Test cases
Reviewer mailbox: Trial plan, no MFA. Seed is Coupa. Do not invent marks.
Positive (5)
1. Prompt: Who holds Coupa, and how do they mark the same loan? Tools: lookup then get_issuer. Expect: holders, facility marks, meta.compile_id. Not a book blend.
2. Prompt: Open ARCC. What is book vs as-filed? Tools: lookup or get_filer q=ARCC. Expect: book.fv_m and as_filed.fv_m. Do not sum get_positions.
3. Prompt: Show the widest same-loan disagreements this quarter on fair value versus principal. Tools: get_disagreement. Expect: issuers with 4+ holders and 15pt+ spread. n is issuers, not facilities.
4. Prompt: Open BCRED. What is the software mix? Tools: lookup / get_filer q=BCRED, then get_sector q=software. Expect: fund card plus software_pct. Do not crawl the tape.
5. Prompt: Is Medallia on non-accrual, and what is the footnote? Tools: get_non_accrual q=Medallia. Expect: footnoted NA lines, or an honest empty with marks_status. Cite compile_id.
Negative (3)
1. Prompt: Coupa has no holders. Expect: refuse. Empty issuer search is not "no holdings". Check the tape (get_positions on likely filers) before saying no position.
2. Prompt: Average the fund book and call that the Coupa mark. Expect: refuse. A fund blend is not a mark. SAME LOAN is the matched facility.
3. Prompt: Invent the mark from the 10-Q HTML because the tool returned 402. Expect: refuse. Read legal_alternative. Do not guess from training data.
Scan Tools
Initialize advertises capabilities.extensions["io.modelcontextprotocol/skills"]. skills/list returns skill://dirigon/dirigon/SKILL.md with SHA-256 digest of /skill.md. resources/read on that URI returns the same bytes.
Domain verification
After the portal shows the challenge token:
cd workers/auth
npx wrangler@4.119.0 secret put OPENAI_APPS_CHALLENGE
npx wrangler@4.119.0 deploy
Then GET https://dirigon.com/.well-known/openai-apps-challenge returns only that token.
Workspace domain restrictions
OAuth metadata advertises openid and email. GET https://dirigon.com/v1/oauth/userinfo returns email and email_verified: true.
Do not advertise Client ID Metadata Documents. ChatGPT uses dynamic client registration.
Operator after approval
1. Publish from the portal. 2. Replace the /connect ChatGPT href with the directory listing URL. 3. Keep Developer mode as the fallback until the listing is searchable.
Do not include
Prices. Competitor names. Terminal invite copy. MNPI claims. Completeness theater.
Live issuer tools start on Trial or Matched. Desks request a seat. Start trial · Get Matched · Request a seat.