7.1 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #300 | 4 |
|
1788984710401 |
Ticket #300 - Plugins: tools MCP Unity non catalogues malgre skills visibles
Signalement
Dans le projet UnitySoundTool, le plugin Unity est actif et ses skills sont visibles par les agents, mais les tools MCP du plugin ne le sont pas. La surface indique: Aucun tool MCP plugin catalogue.
Cadrage UX
La surface ne doit pas confondre toutes les absences:
- Plugin sans tool MCP:
Aucun tool MCP fourni/Le plugin Unity est actif, mais il ne fournit aucun tool MCP. - Tools en erreur:
Tools MCP indisponibles+Reessayer+Voir les details. - Tools masques par permissions:
Tools MCP non autorises+ actionConfigurer les permissions. - Catalogue perime/reload requis:
Rechargement necessaire+Recharger le plugin. - Pendant resolution initiale:
Chargement des tools MCP..., pas d'etat vide premature.
Cadrage Architect
Les skills visibles valident seulement contributes.skills + assignation skill. Le message vide vient du panneau MCP quand le catalogue statique plugins.installed[*].contributes.mcpServers[*].tools est vide partout.
Contrat:
- Les tools MCP plugin se declarent via
contributes.mcpServers[].tools[]dans le manifeste, pas viaactivate(ctx). tools[]est le catalogue statique UI/assignation; l'execution reelle vient du serveur MCP et detools/list.- Ref stable d'assignation:
pluginId/serverId/toolName.
Arbitrage correctif:
- Si le manifeste Unity installe n'a pas
contributes.mcpServers[].tools[]: corriger/reinstaller le plugin Unity, pas IdeA core. - Si la source a
tools[]mais l'UI ne les voit pas apres reload: bug IdeA install/reload/registry/DTO frontend. - Si l'UI liste les tools mais l'agent ne les voit pas apres assignation: bug distinct injection/effective catalogue agent-facing ou cache provider/CLI.
Git IdeA
Branche de diagnostic: fix/300-unity-mcp-tools-uncatalogued depuis develop @ 941db62. Aucun correctif IdeA requis.
Diagnostic DevBackend - 2026-09-09
Verdict
Probleme de donnees du plugin Unity, pas bug IdeA install/reload/registry/DTO. Aucun code IdeA modifie.
Preuves
- SoundTool active
com.idea.unity-developer-toolsdans.ideai/project-plugins.json; les six skills sont assignes, tandis que les tableauxtoolsde tous les agents etaient vides. - Le registre global IdeA marquait le plugin
enabled, sans erreur ni restart requis, et pointait vers la source packagee:/home/anthony/Documents/Projects/UnityPlugin/plugins/unity-developer-tools/build/idea-install/unity-developer-tools. - Les manifestes source, package prepare et installe avaient le meme SHA-256
e7410c8ec6c3ceefef4d4ed5ba9cf227f86e5dea272fcbbade48a9c9560d23ab. - Dans ces trois manifestes,
contributes.mcpServers[0]declarait correctement le serveurunity-developer-tools.tools, mais omettaittools[]. - Le serveur MCP installe fonctionnait: un appel reel
tools/listretournait huit tools:unity_detect_project,unity_audit_project,unity_run_editmode_tests,unity_run_playmode_tests,unity_summarize_tests,unity_benchmark_report,unity_compare_cpu_gpu,unity_verify_architecture. - Le panneau frontend derive volontairement son catalogue de
installed[*].contributes.mcpServers[*].tools; une liste absente donne donc exactementAucun tool MCP plugin catalogue. - Le domaine et le DTO IdeA conservent fidelement cette liste. Le test existant
validates_mcp_server_without_static_tool_metadata_for_compatibilityconfirme qu'une omission est valide pour compatibilite et produit une liste statique vide.
Validation IdeA
cargo test -p application validates_mcp_server_without_static_tool_metadata_for_compatibility: vert, 1 test passe.- Aucun test ou correctif supplementaire IdeA n'est justifie: le contrat existant est respecte de bout en bout.
Diagnostic DevFrontend - 2026-09-09
Verdict
Aucun correctif frontend IdeA ne doit etre applique pour le cas UnitySoundTool actuel. Le message est emis parce que le DTO contient effectivement zero declaration statique tools[]; il ne resulte ni d'un filtrage de permissions frontend, ni d'une perte dans l'adapter Tauri.
Chaine et semantique confirmees
McpToolPermissionsPanelappelleuseProjectPlugins(projectId).- Le hook appelle uniquement
PluginGateway.listProjectSettings, implemente parplugin_list_project_settingsdans l'adapter Tauri. - La reponse
ProjectPluginSettingsViewtransporte sans transformationsettingset les manifestes validesinstalled. PluginMcpToolsEditorconstruit ses lignes exclusivement depuisinstalled[*].contributes.mcpServers[*].tools[].- Le compteur
cataloguedCountporte sur tous les plugins installes, pas seulement ceux actifs dans le projet. Le texteAucun tool MCP plugin catalogue.signifie donc exactement: aucun manifeste installe ne declare de metadata statique de tool, et aucune assignation orpheline n'est presente pour l'agent selectionne. - Les skills visibles ne prouvent que la presence de
contributes.skills; leur affichage est independant demcpServers[].tools[].
Correction UnityPlugin - 2026-09-09
Prise en charge par le projet UnityPlugin, ticket miroir local #13, ferme apres QA.
Fichier modifie et committe localement:
/home/anthony/Documents/Projects/UnityPlugin/plugins/unity-developer-tools/idea-plugin.json: ajout decontributes.mcpServers[0].tools[]avec les 8 tools statiques.
Tools catalogues:
unity_detect_projectunity_audit_projectunity_run_editmode_testsunity_run_playmode_testsunity_summarize_testsunity_benchmark_reportunity_compare_cpu_gpuunity_verify_architecture
Commandes validees depuis plugins/unity-developer-tools:
node scripts/validate-manifest.mjs: OKnode scripts/test-mcp-server.mjs: OK, 8 tools exposesnpm test: OKnpm run package:dir: OK
Artefact produit:
/home/anthony/Documents/Projects/UnityPlugin/plugins/unity-developer-tools/build/idea-install/unity-developer-tools
Commit UnityPlugin local:
c844a45surfix/unity-devtools-mcp-tool-catalog- Message:
fix(plugin): advertise static mcp tool catalog in manifest - Aucun push distant. Merge local vers
developdiffere car la branche est empilee surfix/unity-devtools-mcp-node-launch.
Application UnitySoundTool - 2026-09-09
Prise en charge par le projet UnitySoundTool, ticket local #25, ferme.
Resultat verifie:
- Plugin
com.idea.unity-developer-toolsactif. restartRequired: false.- Serveur MCP runtime
plugin:com.idea.unity-developer-tools:unity-developer-tools.toolsdemarre,error: null. - Les 8 tools MCP sont catalogues dans SoundTool.
- Verification directe du wrapper MCP package avec
initializepuistools/list: retourne les 8 tools avec schemas.
Note: l'installation a ete faite depuis une copie confinee sous le project root SoundTool, car IdeA refuse un chemin externe UnityPlugin pour l'installation directe (plugin directory must remain within the requester project root).
Verdict final
Signalement resolu par correction du manifeste UnityPlugin + repackaging + reinstall/reload dans UnitySoundTool. Pas de bug core IdeA a corriger pour ce cas.