A Tauri desktop application for managing MCP (Model Context Protocol) server configurations for Claude Code, Claude Desktop, and projects
This is a Tauri desktop application, not an MCP server. The codebase implements a UI tool for managing MCP servers via Tauri's invoke() API, which is a local IPC mechanism, not the Model Context Protocol. The six tools (get_mcp_servers, set_server_enabled, get_desktop_mcp_servers, set_desktop_server_enabled, get_projects, set_project_disabled_servers) are Tauri commands, not MCP tools. While the tool definitions are present in src/lib/api.ts as TypeScript function signatures, they lack MCP-compliant JSON Schema definitions, parameter type annotations, and proper tool registration. The descriptions are partially translated from Japanese and provide operational context but fail to meet LLM-optimization baselines. Input schemas are inferred from TypeScript interfaces, not explicitly defined. Most critically, this is not an MCP server, it is a desktop application that manages MCP server configurations. Evaluating it against MCP standards is architecturally mismatched.
Claude Desktop MCP サーバー一覧取得 enabled: claude_desktop_config.json の mcpServers disabled: mcp-server-manager-config.json の disabledMcpServers
グローバル MCP サーバー一覧取得 mcpServers と disabledMcpServers の両方から取得
プロジェクト一覧取得
Claude Desktop サーバーの有効/無効切替 無効化: claude_desktop_config.json から削除 → mcp-server-manager-config.json に退避 有効化: mcp-server-manager-config.json から削除 → claude_desktop_config.json に復元
プロジェクトのサーバー無効化リスト更新
グローバルサーバーの有効/無効切替 enabled=true: disabledMcpServers -> mcpServers enabled=false: mcpServers -> disabledMcpServers
This is not an MCP server. The codebase is a Tauri desktop application using Tauri's invoke() IPC mechanism, not the Model Context Protocol. MCP servers must expose tools via the MCP protocol (stdio, HTTP, or SSE), not via Tauri desktop IPC.
No explicit MCP tool registration. Tools are inferred from TypeScript function signatures in src/lib/api.ts (invoke() calls), not registered via MCP's tool registration mechanism. Cannot verify JSON Schema compliance or proper MCP metadata.
Input schemas are inferred from TypeScript interfaces, not explicitly defined as JSON Schema. For example, set_server_enabled accepts {name: string, enabled: boolean}, but no formal JSON Schema type definitions are visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 27 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Descriptions are partially in Japanese and lack LLM-optimization. Examples: 'グローバル MCP サーバー一覧取得' (Global MCP server list acquisition). Descriptions should be 10 - 1024 chars in English, action-oriented, and explain WHAT, WHEN, and any prerequisites. These are 20 - 40 chars but in Japanese, reducing LLM utility.
Parameters lack descriptions. set_server_enabled has parameters {name, enabled}, but descriptions like 'Server name' and 'Whether to enable or disable' are generic. Best practice requires specific guidance: 'The name of the MCP server to enable/disable (must match an entry from get_mcp_servers).'
No output schemas documented. Tools like get_mcp_servers return a list, but the structure (fields, types) is not formally documented. LLMs cannot plan downstream calls or extract relevant data without knowing what fields to expect.
No error handling guidance. If set_server_enabled fails (e.g. server not found, permission denied), there is no indication of recovery steps. Error responses should classify as retryable, user-fixable, or fatal.
No permission checks visible. set_server_enabled and set_desktop_server_enabled are write operations that modify system configuration. No evidence of authentication, authorization, or permission gating.