Commit 45cf827
fix(mcp-server): openai/widgetCSP needs snake_case domain lists
ChatGPT's compatibility key `_meta["openai/widgetCSP"]` was being assigned
the same object as the MCP Apps standard `_meta.ui.csp`, which uses
camelCase (connectDomains/resourceDomains). OpenAI's key expects
connect_domains/resource_domains, so it parsed as an empty allowlist and
the plugin-directory tool scan rejected all six widgets with
"openai/widgetCSP must contain at least one CSP or redirect domain list".
Derive the OpenAI object from the same `csp` source under snake_case names
so the two lists cannot drift. `ui.csp` is unchanged, so Claude and every
other MCP client see exactly what they saw before.
Verified against the built server: resources/list emits both keys on all
6 widgets with identical domains.1 parent 6b56336 commit 45cf827
3 files changed
Lines changed: 29 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
3 | 20 | | |
4 | 21 | | |
5 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2085 | 2085 | | |
2086 | 2086 | | |
2087 | 2087 | | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
2088 | 2098 | | |
2089 | 2099 | | |
2090 | 2100 | | |
2091 | | - | |
| 2101 | + | |
2092 | 2102 | | |
2093 | 2103 | | |
2094 | 2104 | | |
| |||
0 commit comments