[codex] add MCP tools visibility management (#1170)

* feat(mcp): add tools visibility management

## Features
- Tools visibility modal with 3 modes: All, Include, Exclude
- 'Manage Tools' button on McpServerCard (enabled only when connected)
- 'Fetch Tools List' button to refresh available tools (raw mode)
- Responsive design for mobile (480px), tablet (768px), desktop (1280px)
- i18n translations for 9 languages (zh/en/zh-TW/ja/ko/de/es/fr/pt)

## Technical Details
- Add raw parameter to fetchMcpTools API for unfiltered tools
- Pass raw parameter through controller → bridgeMcpAction → client
- Backend _mcp_tools_list supports raw_mode to skip include/exclude filter
- 28 MCP unit tests pass (23 controller + 5 bridge action)

## Files Changed
- McpManagerView.vue: Tools visibility modal with mode selector
- McpServerCard.vue: Add manage tools button
- mcp.ts (client): Add raw parameter to fetchMcpTools
- mcp.ts (controller): Pass raw parameter to bridge
- mcp.ts (services): Pass raw parameter to client.mcpTools
- client.ts: Add raw parameter to mcpTools
- hermes_bridge.py: Support raw_mode in _mcp_tools_list
- 9 locale files: Add 14 translation keys each
- mcp-controller.test.ts: Add 3 new test cases
- bridge-mcp-action.test.ts: New test file for parameter passing

* Delete projects directory

chore: remove accidentally committed projects/ directory

* fix MCP tools visibility edge cases

* remove MCP docs screenshots

---------

Co-authored-by: Crafter-feng <succeed_happu@163.com>
Co-authored-by: Crafter-feng <37255449+Crafter-feng@users.noreply.github.com>
This commit is contained in:
ekko
2026-05-31 09:00:38 +08:00
committed by GitHub
co-authored by Crafter-feng Crafter-feng
parent 9df79c33be
commit c998a53566
29 changed files with 703 additions and 189 deletions
+18
View File
@@ -157,6 +157,24 @@ export default {
invalidConfig: 'Ungültige Konfiguration',
invalidServerConfig: 'Ungültige Serverkonfiguration',
missingCommandOrUrl: 'Muss command oder url enthalten',
manageTools: 'Tools verwalten',
toolsVisibilityTitle: 'Tools-Sichtbarkeit verwalten',
fetchTools: 'Tools-Liste abrufen',
fetchToolsFailed: 'Tools-Liste konnte nicht abgerufen werden',
toolsMode: 'Modus:',
toolsModeAll: 'Alle',
toolsModeInclude: 'Einschließen',
toolsModeExclude: 'Ausschließen',
toolsListHeader: 'Tool-Name',
toolsEmpty: 'Keine Tools verfügbar, bitte zuerst die Tools-Liste abrufen',
toolsSummaryAll: '{count} Tools insgesamt, alle aktiviert',
toolsSummaryInclude: '{total} Tools insgesamt, {count} ausgewählt',
toolsSummaryExclude: '{total} Tools insgesamt, {count} ausgeschlossen',
toolsVisibilitySaved: 'Tools-Sichtbarkeit gespeichert',
toolsSelectAll: 'Alle auswählen',
toolsClearSelection: 'Auswahl löschen',
toolsExcludeAll: 'Alle ausschließen',
toolsClearExcluded: 'Ausschlüsse löschen',
},
// Sidebar