본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

diagnosing-mcp

ZCode 클라이언트의 MCP 서버 설정 문제를 조사합니다. 상태, 설정 범위, 필드, 통신 방식, 시작 오류를 확인해 연결 실패, 도구 누락, 파일 수정 미반영의 원인과 수정 위치를 찾습니다.

원문원문 설명 보기

Use to diagnose and fix ZCode MCP (Model Context Protocol) server configuration problems in the ZCode client. Applies when an MCP server will not connect, its tools (mcp__server__tool) do not appear, it shows as disabled or failed, connections time out, a command cannot be found, template variables are not expanded, or a server defined in a configuration file has no effect. Provides configuration locations, how to inspect status in Settings, common pitfalls, and a step-by-step localization and repair workflow.

연동 도구MySQL

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • MCP 서버가 연결되거나 시작되지 않을 때
  • 세션에 MCP 도구가 표시되지 않을 때
  • 설정 파일 수정이 반영되지 않을 때
  • 명령이나 통신 방식 오류를 조사할 때

한국어 소개

할 수 있는 일

ZCode 클라이언트의 MCP 서버 설정을 살펴보고 연결 실패나 도구 누락의 원인을 찾습니다. 설정 화면에서 서버 상태를 확인하고, 사용자·작업 공간·플러그인 등 설정 범위별 읽기 순서와 덮어쓰기 관계를 고려해 해당 항목을 파악합니다. command, args, env, headers 같은 필드와 통신 방식, 시간 초과, JSON 문법, 알 수 없는 키, 시작 시 오류도 점검합니다.

이럴 때 유용합니다

MCP 서버가 연결되지 않거나 시간 초과가 발생할 때, 도구가 모델 세션에 나타나지 않을 때 사용할 수 있습니다. 설정 파일을 수정해도 반영되지 않거나, 명령을 찾지 못하거나, 템플릿 변수가 그대로 전달되는 경우에도 서버 상태와 설정 위치를 대조해 원인을 찾습니다.

사용 예시

  • “MCP 서버 연결 시간이 초과됩니다. 설정을 확인해 주세요.”
  • “설정 파일에 적은 서버가 표시되지 않는 이유를 찾아주세요.”
  • “MCP 서버는 표시되지만 도구가 나타나지 않습니다. 원인을 진단해 주세요.”

주의 사항

대상은 ZCode 클라이언트의 MCP 설정입니다. 설정 파일에 정의한 서버에서는 ${...} 형식의 템플릿 변수가 확장되지 않으므로 절대 경로처럼 구체적인 값을 지정해야 합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
B일부 부족설정 파일 편집과 터미널 명령 실행을 안내하지만, 영향 확인에 대한 설명은 제한적입니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
A양호ZCode 설정 화면과 파일 위치가 안내되어 있으며 추가 도구 요구 사항은 없습니다.

점수에는 넣지 않았습니다. 2026년 10월 24일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md11.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Diagnosing MCP Configuration

Goal: reduce any MCP problem to a single concrete file-field edit. A person inspects status from the client; an agent reads and edits the configuration files directly.

Key points that are often misunderstood: the user configuration file is ~/.zcode/cli/config.json; .agents/mcp.json is a compatibility fallback (read only when the same scope's .zcode has no MCP servers); and in the desktop client, MCP status and repair live under Settings → MCP.

1. Configuration locations and precedence

ScopeFileField
User~/.zcode/cli/config.jsonmcp.servers
User (fallback)~/.agents/mcp.jsonmcpServers (used only if ~/.zcode/cli/config.json has no MCP servers)
Workspace<repo>/.zcode/config.json or <repo>/zcode.json (every directory from the repository root down to the working directory is read)mcp.servers
Workspace (fallback)<repo>/.agents/mcp.jsonmcpServers (used only if the workspace .zcode has no MCP servers)
Plugin<pluginRoot>/.mcp.json or the manifest's mcpServers fieldKeys are namespaced as plugin:<plugin>:<server>

Within each scope, .zcode takes priority and .agents/mcp.json is a same-scope fallback: if that scope's .zcode defines any MCP server, its .agents/mcp.json is ignored entirely. Note the different key shape — .zcode uses nested mcp.servers, while .agents/mcp.json uses a top-level mcpServers.

Override order across scopes for a same-named server: CLI → environment → user → workspace → system. In short, user overrides workspace. Plugin-provided servers form the base layer and are overridden by explicit configuration.

Auto-connect: MCP servers from every scope — user, workspace, plugin, environment, and CLI — are trusted and connected automatically at session start. Workspace-scoped servers were previously untrusted (reported Project MCP server requires explicit connection before use.); they now connect by default like any other scope. Use Settings → MCP as the supported client surface for inspecting status and repairing configuration.

2. Configuration schema

  • stdio: requires command; optional args[], cwd, env, enabled, timeoutMs.
  • http / sse: requires url; optional headers, enabled, timeoutMs.
  • Standard field names are env for stdio environment variables and headers for HTTP/SSE request headers. command is a string and args is an array of strings; do not paste OpenCode-style command: ["npx", "-y", "..."] into ZCode's JSON editor.
  • When type is omitted it is inferred: a command implies stdio, a url implies http. Legacy forms are migrated automatically when the CLI reads config directly (type: "remote" → http, environment → env, enable → enabled, http_headers → headers). Desktop app-managed session creation may bypass part of that CLI file parser, so prefer canonical fields (env, headers, enabled, type: "http") in files that the desktop Settings → MCP page reads.
  • The configuration-file server schema is strict: an unknown key causes the server to be dropped.
  • Template variables ${...} are expanded only for plugin-provided MCP servers (for example ${CLAUDE_PLUGIN_ROOT} / ${ZCODE_PLUGIN_ROOT}, ${CLAUDE_PROJECT_DIR}, ${user_config.KEY}). Configuration-file MCP servers do not expand templates — use absolute paths there.
  • The default timeout is 30000 ms.

Canonical examples:

{
  "mcp": {
    "servers": {
      "mysql-local": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@benborla29/mcp-server-mysql"],
        "env": {
          "MYSQL_HOST": "127.0.0.1",
          "MYSQL_PORT": "3306"
        }
      },
      "remote-reader": {
        "type": "http",
        "url": "https://example.com/mcp",
        "headers": {
          "Authorization": "Bearer ..."
        }
      }
    }
  }
}

3. How to inspect status

  • List and status: open Settings → MCP in the client. Each entry shows whether the server is connected, disabled, disconnected, or failed, with any error inline. Plugin-provided servers are marked as built-in. (untrusted is a legacy status that no longer appears for normally configured servers now that every scope auto-connects.)
  • After edits: restart the affected session, or restart ZCode if the Settings page still shows stale data, then reopen Settings → MCP to confirm the server status.
  • Standard-I/O error output (the root cause of most failures): a stdio server's captured error stream is written to the ZCode log. To see the full output, run the server's command with its arguments directly in a terminal.

4. Common pitfalls (symptom → cause → fix)

  1. Workspace server does not connect — a server defined in <repo>/.zcode/config.json (or <repo>/.agents/mcp.json) is not connecting. Workspace servers now auto-connect like any other scope, so this is no longer a trust gate — the cause is a real config or startup problem. → Check its Settings → MCP status: failed → go to step 4; absent → the config was not loaded (pitfall 5/9) or it is in .agents/mcp.json but shadowed (pitfall 12).
  2. command not found — the server shows failed with an error such as spawn npx ENOENT. The command is not on PATH, or a relative path was not resolved. → Use an absolute path, add cwd when needed, and on Windows point at the .cmd/.exe.
  3. ${...} reaches the process literally — configuration-file MCP servers do not expand templates. → Use concrete absolute paths (templates are a plugin-only feature).
  4. Plugin is missing an environment value or secret — the plugin reports a missing variable. → Set the plugin's configuration value (Plugin Management → the plugin's advanced settings) or export the required environment variable; sensitive values may only be placed in env/headers, not in command/url.
  5. Wrong transport type or unknown key — the server is silently dropped. → Make type match the fields, remove any extra top-level keys (the schema is strict), and ensure exactly one of command (stdio) or url (http/sse) is present.
  6. Unexpected override — editing the workspace mcp.servers entry has no effect. A same-named server in the user configuration is shadowing it (user overrides workspace for MCP). → Edit the user entry, or rename one of the servers.
  7. Connection or tool-listing timeout — failed ... timed out after 30000ms. → Add "timeoutMs": 60000 to that server, and address the slow startup.
  8. Only Connection closed with no cause — the error stream was not surfaced in the status line. → Check the ZCode log for the captured error output, or run the command with its arguments in a terminal.
  9. JSON syntax error in the configuration file — MCP servers (and possibly the whole file) go missing. → Validate the JSON, then fix the syntax.
  10. Server shows as disabled — enabled: false (or legacy enable: false). → Set "enabled": true or remove the field.
  11. A desktop-managed server list overrides the file — edits to configuration files have no effect because the client is supplying the MCP list. → Manage MCP through Settings → MCP in that context.
  12. .agents/mcp.json edits have no effect, or use the wrong key — a server added to .agents/mcp.json never appears. Either the same scope's .zcode already defines MCP servers (so .agents/mcp.json is ignored entirely for that scope), or the servers were placed under mcp.servers instead of the top-level mcpServers that .agents/mcp.json expects. → Move the definition into the .zcode file for that scope, or ensure that scope's .zcode has no MCP servers and use the top-level mcpServers key in .agents/mcp.json.
  13. Server name appears in logs but no MCP tools appear in the model request — the desktop app read the server entry and passed its name to the runtime, but the server failed during startup, so toolCount and registeredToolCount are zero. A common cause is a legacy environment field in ~/.zcode/cli/config.json: CLI direct config parsing can migrate it, but the desktop app-managed path currently expects env when converting to protocol mcpServers. → Rename environment to env, keep the values unchanged, restart ZCode, and reopen Settings → MCP.
  14. Settings → MCP crashes after JSON editing with command.trim is not a function — the saved server has a non-string command, usually OpenCode-style command: ["npx", "-y", "server"]. → Edit ~/.zcode/cli/config.json manually: set "command": "npx" and move the rest into "args": ["-y", "server"], then restart the app.

5. Localization workflow (in order; stop when the cause is found)

  1. Confirm MCP is enabled (it is by default).
  2. Open Settings → MCP and read the status: disabled → pitfall 10; failed (<error>) → read the inline error and go to step 4; not listed at all → step 3. (untrusted should no longer appear for a normally configured server.)
  3. Verify the configuration is loaded and valid: check the JSON validity of ~/.zcode/cli/config.json and <repo>/.zcode/config.json (and zcode.json) — pitfall 9. A server that is in the file but not listed failed schema validation (pitfall 5 — look for unknown keys, wrong type, or a missing command/url); a server defined only in .agents/mcp.json but not appearing points to the fallback shadowing or wrong-key issue (pitfall 12).
  4. Diagnose a failed server: ENOENT → pitfall 2; timed out → pitfall 7; Connection closed → pitfall 8; an http/sse network error → check proxy/CA, URL reachability, and headers.
  5. If Settings → MCP or service logs show mcpServerCount / server names but the model request has no mcp__... tools, check startup logs for mcp.startup.completed and mcp.tools.registered. If toolCount=0 with failed statuses, inspect the config field names first (env vs environment, string command vs array command) before treating it as a model-selection issue.
  6. If edits have no effect → pitfall 6 (user overrides workspace) or pitfall 11 (desktop-managed list).
  7. If a ${...} appears literally → pitfall 3 (configuration files do not expand templates) or pitfall 4 (an unset plugin variable).
  8. Apply the concrete fix — most commonly editing ~/.zcode/cli/config.json at mcp.servers.<name> (command / args / cwd / env / headers / timeoutMs / enabled) — then restart the session (every scope auto-connects) and reopen Settings → MCP to confirm.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

3d-object

무료요약 있음

three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.

  • 입체 모델을 만들고 모든 각도에서 확인하기
  • Blender에서 편집할 모델 만들기
  • 모델의 윤곽과 재질 표현 확인하기
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

action-items

무료요약 있음

개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.

  • 기한이 있는 작업과 약속 기록
  • 답변 대기와 진행을 막는 이유 정리
  • 선행 작업 완료 후 의존 관계 갱신
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

agents

무료

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

animated-video

무료요약 있음

재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.

  • 제품 조작 과정을 영상으로 제작
  • 글자와 도형으로 내용 설명
  • 세로형 애니메이션 제작
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

apple_healthkit

무료요약 있음

Apple Health에 동기화된 걸음 수, 심박수, 수면, 운동 기록을 기간별로 확인하고 일상 변화와 동기화 상태, 누락된 데이터를 살펴봅니다.

  • 걸음 수와 심박수의 변화를 확인합니다
  • 수면 단계와 시간, 중간 각성을 확인합니다
  • 운동 시간과 거리, 소모 열량을 돌아봅니다
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

artifact_document

무료요약 있음

Word 문서와 템플릿을 만들고 편집하며 내용 추출, 이미지 교체, 변경 내용 추적과 메모를 다룹니다. 제목과 목록 구조를 정리하고 모든 페이지의 표시를 확인합니다.

  • 구조를 갖춘 Word 문서 작성
  • 기존 문서의 내용 정리
  • 문서 안의 이미지와 텍스트 교체
asgeirtj/system_prompts_leaks7만2026년 10월 24일 업데이트

asgeirtj의 스킬 모두 보기

이 스킬의 문제 신고