Commit e8e0d34
fix(mcp): list verb tools for table-less Resources to any authenticated user (#1940)
`makeVisibleTo` returned false for a Resource with no databaseName/tableName,
so every non-super user saw none of its verb tools in tools/list. That hid
exactly the Resources #1920/#1921 taught to produce rich schemas, and hid
nothing meaningful: tools/call already accepts these tools by name, so the
gate cost discoverability without buying access control.
Return true instead and let the Resource's own allow* predicates enforce at
call time — the contract custom `mcpTools` have always had (they have never
had a listing filter beyond authentication). The table-backed path is
unchanged and still gates on per-table permissions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0188G62J9fZQg4J9rVuqLzjy1 parent 8811652 commit e8e0d34
2 files changed
Lines changed: 33 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
708 | 708 | | |
709 | 709 | | |
710 | 710 | | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
715 | | - | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
716 | 717 | | |
717 | 718 | | |
718 | 719 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
334 | 361 | | |
335 | 362 | | |
336 | 363 | | |
| |||
0 commit comments