mcp: allowing an MCP tool by its documented name hides it; the bare name must be allowed too
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Leggi packages/core/src/tool.ts intorno alla riga 231 e packages/core/src/tool/mcp.ts intorno alla riga 52 per seguire i due controlli delle autorizzazioni. Riproduci il problema con le autorizzazioni e il comando opencode run dell’issue, quindi verifica che consentire tutorapi_section_read renda lo strumento visibile e invocabile. L’issue suggerisce di registrare gli strumenti MCP con il nome di autorizzazione documentato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
What we want: an agent that may use only one MCP tool — section_read from the local MCP server tutorapi.
As the docs say — does not work, the agent does not see the tool:
permissions:
- { action: "*", resource: "*", effect: deny }
- { action: tutorapi_section_read, resource: "*", effect: allow }
What works — the same tool allowed twice, also by its bare name:
permissions:
- { action: "*", resource: "*", effect: deny }
- { action: section_read, resource: "*", effect: allow }
- { action: tutorapi_section_read, resource: "*", effect: allow }
Why: OpenCode checks the permission twice, under different names:
section_read— when it decides whether to show the tool to the agent;tutorapi_section_read— when the agent calls the tool.
Where in the code (v2.0.27):
packages/core/src/tool.ts:231— tool list:whollyDisabled(tool.options?.permission ?? name, rules). MCP tools are registered withoutoptions.permission, so the bare name is checked.packages/core/src/tool/mcp.ts:52— tool call:permission.assert({ action: name(tool.server, tool.name), ... }).- Possible fix: register MCP tools with
options.permission: name(tool.server, tool.name).
Plugins
opencode-claude (local plugin), openchamber agent-tool
OpenCode version
2.0.25 (the same code is in v2.0.27)
Steps to reproduce
opencode run --agent <agent with the first permissions> --model <model> "List the names of all your tools."—section_readis not listed.- Same with the second permissions —
section_readis listed and the call succeeds.
Operating System
Windows 11 (10.0.26200)
Terminal
None, opencode run started from a Node script.
- Lingua principale
- TypeScript
- Stelle
- 213k
- Fork
- 28.4k
- Merge medio
- 8h 32m
- PR unite (30g)
- 253
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di anomalyco/opencode
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
anomalyco/opencode#55676 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
tui: NumPad End/Home ignored under kitty keyboard protocol (Windows Terminal reports KP_END 57424)Forse già presa @argszero l’ha presa oggi. Apertareproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anomalyco/opencode#55533 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
pending close triaging
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
anomalyco/opencode#55392 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
anomalyco/opencode#55383 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
web: second Firefox tab never connects to /api/event - Cache-Control: no-cache lets Firefox's HTTP cache block concurrent SSE requestsForse già presa @zonemeen l’ha presa 1 giorno fa. Apertareproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anomalyco/opencode#55369 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di anomalyco/opencode
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dsh-market/dsh-market#877 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
stellar/stellar-dev-skill#151 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Trial & Error: guided Blind offer squeezes on phones and sits under the touch toolbar on iPadApertaarea:arcade game ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fderuiter/deruiter.dev#2281 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
scope: data grid type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni