Xiaozhi Desktop MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALLOWED_APPS | Yes | Comma-separated list of allowed macOS app names | |
| OBSIDIAN_VAULT | Yes | Path to your Obsidian vault | |
| CC_ALLOWED_PROJECTS | Yes | Comma-separated list of allowed project directories for Claude Code | |
| DEFAULT_PROJECT_ROOT | Yes | Default root directory for projects |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_save_memoryC | 当用户说“记一下/保存想法/写到 Obsidian”时调用,保存一条语音记忆。 |
| obsidian_create_noteB | 新建 Obsidian vault 内的 Markdown 笔记。 |
| obsidian_open_noteC | 打开 Obsidian vault 内的 Markdown 笔记。 |
| obsidian_append_noteC | 追加内容到 Obsidian vault 内指定 Markdown 笔记。 |
| obsidian_append_daily_noteC | 追加内容到 Obsidian 每日笔记。 |
| obsidian_searchC | 搜索 Obsidian vault 内 Markdown 笔记,返回少量片段。 |
| obsidian_recent_memoriesC | 读取最近几条语音记忆。 |
| app_openA | 当用户说“打开某个 App”时调用;只允许打开配置白名单里的 macOS App。 |
| app_closeA | 当用户说“关闭某个 App”时调用;只允许关闭配置白名单里的 macOS App。 |
| cc_create_taskB | 当用户说“让 cc/Codex/Claude Code 做...”时调用,只创建待办任务,不执行命令。 |
| cc_start_sessionC | 启动受管 Claude Code/Codex CLI 会话;只能在配置允许的项目目录里启动。 |
| cc_open_visible_sessionB | 打开可见 Terminal/iTerm 窗口并启动 Claude Code/Codex;方便人工观看和接管。 |
| cc_open_claude_codeC | 当用户说“打开 Claude Code/打开 cc”时调用,默认在可见 Terminal 中启动 claude。 |
| cc_list_sessionsA | 列出当前服务进程记住的可见 Claude Code/Codex 会话。 |
| cc_cleanup_sessionsA | 清理已经不存在的 Claude Code/Codex 可见会话登记。 |
| cc_session_statusC | 查看受管 CLI 当前状态,只读取最近输出:等待确认、报错、完成、运行中或空闲。 |
| cc_focus_sessionB | 把指定 Claude Code/Codex 可见会话窗口拉到前台。 |
| cc_send_instructionC | 向已启动的受管 CLI 会话发送自然语言任务说明。 |
| cc_send_decisionC | 当 CLI 等待确认时发送 yes/no/cancel;默认允许,可通过配置改成确认或禁止。 |
| cc_send_slash_commandB | 发送 /init、/compact、/model 等内部命令;默认允许,可通过配置收紧。 |
| cc_switch_modelC | 切换受管 Claude Code/Codex 会话模型;默认允许所有模型,可用配置收紧。 |
| cc_stop_sessionC | 停止受管 Claude Code/Codex CLI 会话,并关闭前台 Terminal 窗口。 |
| cc_close_terminalB | 当用户说“关闭终端/关闭cc窗口”时调用,关闭前台 Terminal/iTerm 窗口。 |
| desktop_rememberC | 语音友好入口:当用户说“记一下...”时保存到 Obsidian。 |
| desktop_open_cc_projectC | 语音友好入口:打开某个项目的 Claude Code/Codex 可见窗口。 |
| desktop_list_projectsA | 列出可以被桌面 MCP 打开的白名单项目。 |
| desktop_resolve_projectA | 把项目名、目录名或白名单路径解析为安全项目路径。 |
| desktop_open_cc_project_namedC | 按项目名/别名打开 Claude Code/Codex 可见窗口。 |
| desktop_ask_cc_projectC | 按项目名/别名把任务交给 Claude Code/Codex。 |
| desktop_ask_ccC | 语音友好入口:把一句自然语言任务交给 Claude Code/Codex。 |
| desktop_check_ccC | 语音友好入口:看看 Claude Code/Codex 当前在做什么或卡在哪。 |
| desktop_continue_ccC | 语音友好入口:让 Claude Code/Codex 继续。 |
| desktop_focus_ccB | 语音友好入口:把 Claude Code/Codex 窗口切到前台。 |
| desktop_stop_ccC | 语音友好入口:退出 Claude Code/Codex 并关闭窗口。 |
| xcode_open_projectB | 打开白名单项目内的 .xcodeproj 或 .xcworkspace。 |
| xcode_buildC | 在白名单项目内执行 xcodebuild build。 |
| xcode_testC | 在白名单项目内执行 xcodebuild test。 |
| xcode_cleanC | 在白名单项目内执行 xcodebuild clean。 |
| xcode_last_errorsC | 读取最近一次 xcodebuild 输出中的错误线索。 |
| desktop_health_detailA | 诊断桌面 MCP 环境:路径、CLI、终端 App、关键配置。 |
| desktop_config_summaryA | 返回脱敏配置摘要,方便排查桌面 MCP 环境。 |
| desktop_tool_catalogA | 返回桌面 MCP 工具目录,帮助小智/Java 选择高层工具。 |
| desktop_category_registryA | 返回通用桌面能力分类,例如 music、docs、ai、dev、browser、system。 |
| desktop_intentD | 通用桌面意图入口:按 category + intent 路由到底层安全能力。 |
| pending_action_createA | 创建一个待确认动作;只允许白名单动作类型,不会立即执行。 |
| pending_action_listB | 列出待确认动作;status 为空时列出全部。 |
| pending_action_confirmC | 确认并执行一个待确认动作。 |
| pending_action_cancelC | 取消一个待确认动作,不执行。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 48 tools
Many tools have overlapping purposes, especially among 'cc_' and 'desktop_' prefixes (e.g., cc_open_claude_code, cc_start_session, desktop_open_cc_project, desktop_open_cc_project_named). An agent could easily misselect which tool to use for launching or managing Claude Code sessions.
Tool names follow a consistent verb_noun pattern within each subsystem (app_, cc_, obsidian_, xcode_), but the overall mix of prefixes and some near-duplicate names (e.g., cc_open_claude_code vs cc_open_visible_session) cause minor confusion.
With 48 tools, the set is quite large but covers a broad domain (desktop automation, Claude Code, Obsidian, Xcode). However, many tools serve very similar functions, suggesting some could be consolidated.
The tool set provides comprehensive coverage for its intended domain: app management, Claude Code lifecycle, Obsidian note operations, pending actions, and Xcode build/test. Minor gaps exist (e.g., lack of file system operations), but core workflows are well-supported.