For developers

Everything this site says about a closed-end fund - who is targeting it, what it is asking holders to do and by when, what it costs, how much it borrows and what it holds - can also be read by an assistant such as Claude, ChatGPT or Cursor, and by your own programs.

Connect an assistant

CEF Radar runs a server that speaks the Model Context Protocol, the open standard assistants use to call outside tools. Point your assistant at this address and it can look up any U.S. closed-end fund and answer in plain words, with the as-of date of every number and a link to the original document at the regulator:

https://cefradar.com/mcp

It is free, needs no account and no key, and only reads public filings. It never changes anything and never asks for personal details.

Claude (claude.ai and Claude Desktop)

A remote server like this one is added to your Claude account as a connector, and the same connector then works in Claude Desktop too. In claude.ai open Settings, then Connectors, and choose Add custom connector. Give it the name CEF Radar, paste the address above and leave the login fields empty - no authentication is needed. Then turn the connector on in a chat. (Claude Desktop's own configuration file, claude_desktop_config.json, only starts programs on your computer; it has no field for an address on the web.)

Cursor

Create a file called mcp.json in the .cursor folder of your project (or in your home folder for every project) with:

{
  "mcpServers": {
    "cef-radar": {
      "url": "https://cefradar.com/mcp"
    }
  }
}

ChatGPT

In ChatGPT, turn on Developer mode in Settings (it sits under the security and login section on the web version, on a paid plan). Then add a new app or connector, give it the name CEF Radar, paste the address above and choose No authentication.

Programs that only start local servers

Some assistants can only start a server as a program on your computer. For those, the mcp-remote bridge (a small program from npm) relays to this address:

{
  "mcpServers": {
    "cef-radar": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://cefradar.com/mcp"
      ]
    }
  }
}

Menu names change; these instructions were checked in September 2026. If a menu has moved, look for "connectors", "custom connector" or "MCP server" in the assistant's settings.

Try it from the command line

The server answers plain web requests. This one lists the tools:

curl -X POST https://cefradar.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

And this one asks about one fund:

curl -X POST https://cefradar.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "get_fund", "arguments": {"ticker": "JOF"}}}'

Requests are sent with POST to that one address, one at a time; there is no session to keep and nothing to open with GET. Every answer holds a plain-language text block and the same facts as structured data with as_of dates and source_url links.

What the assistant can ask

There is also one ready-made prompt, check_my_fund, which asks the assistant to call get_fund and answer the three questions a holder has: is anyone targeting it, do I have to act by a date, and what does it cost and borrow.

Free, and the limits

The assistant server is free: up to 2,000 tool calls a day from one address, resetting at midnight UTC. The JSON interface below allows 100 requests a day without a key. A paid plan's key from your alerts page ("More options") raises both limits to the plan's daily budget; send it as Authorization: Bearer <key>. (A free plan's key changes nothing for the assistant server: its calls stay in the free assistant budget and never use up your JSON budget.) Please cite the source as "CEF Radar (cef.dulinski.me), from public filings at the U.S. Securities and Exchange Commission". This is information, not advice.

The JSON interface and spreadsheet files

The same facts as plain JSON: the list of calls, the full description in the OpenAPI format and a manifest of the JSON calls for programs that read one (it also names the assistant server's address and tools). Every fact carries its as-of date and a link to the original document.

Lists can be downloaded as spreadsheet files (CSV) without a key: all closed-end funds, fund announcements of the last 90 days, and each fund's history and each investor's funds from their own pages.