claude-code-mcp-manual-install
Scannednpx machina-cli add skill shimo4228/claude-code-learned-skills/claude-code-mcp-manual-install --openclawFiles (1)
SKILL.md
2.3 KB
Claude Code 内での MCP サーバー手動インストール
Extracted: 2026-02-13 Context: Claude Code セッション内から MCP サーバーを追加する際、CLI が使えない場合の回避策
Problem
Claude Code 内から MCP サーバーを追加しようとすると、2つの障壁がある。
-
claude mcp addはネストされた Claude Code セッション内では実行不可Error: Claude Code cannot be launched inside another Claude Code session. -
npx @smithery/cli installはインタラクティブ入力を要求し、非対話環境で crash するError [ERR_USE_AFTER_CLOSE]: readline was closed
Solution
~/.claude.json の mcpServers セクションを jq で直接編集する。
# MCP サーバーを追加
jq '.mcpServers.ServerName = {
"type": "stdio",
"command": "npx",
"args": ["-y", "package-name"]
}' ~/.claude.json > /tmp/claude.json.tmp && mv /tmp/claude.json.tmp ~/.claude.json
# 追加されたことを確認
jq '.mcpServers | keys' ~/.claude.json
HTTP タイプの場合
jq '.mcpServers.ServerName = {
"type": "http",
"url": "https://example.com/mcp"
}' ~/.claude.json > /tmp/claude.json.tmp && mv /tmp/claude.json.tmp ~/.claude.json
注意点
- セッション再起動が必要: MCP サーバーはセッション開始時にロードされるため、追加後は Claude Code を再起動する
- ~/.claude.json は頻繁に更新される: Claude Code 自身がメトリクスを書き込むため、Read → Edit パターンでは「file modified since read」エラーが頻発する。jq でアトミックに書き換えるのが確実
- バックアップ推奨: 大量のセッション統計データを含むファイルなので、壊すと面倒
When to Use
- Claude Code セッション中に新しい MCP サーバーを追加したい時
- Smithery CLI が環境依存で動かない時
- 非対話的に MCP サーバーを一括設定したい時
Source
git clone https://github.com/shimo4228/claude-code-learned-skills/blob/main/skills/claude-code-mcp-manual-install/SKILL.mdView on GitHub Overview
このスキルは、Claude Code セッション中に CLI が使えない場合でも MCP サーバーを追加する方法を提供します。 ~/.claude.json の mcpServers を jq で直接編集して非対話環境でも登録できる点が特徴です。
How This Skill Works
jq を使って ~/.claude.json の mcpServers セクションを直接更新します。必要に応じて stdio や http といったタイプを設定し、変更は一時ファイル経由でアトミックに書き換えることで競合を回避します。変更後は Claude Code を再起動して新しいサーバーをロードします。
When to Use It
- Claude Code セッション中に新しい MCP サーバーを追加したい時
- Smithery CLI が環境依存で動かない時
- 非対話的に MCP サーバーを一括設定したい時
- ネストした Claude Code セッションで CLI の代替手段が欲しい時
- 設定を事前に検証しつつ安全に編集したい時
Quick Start
- Step 1: ~/.claude.json の mcpServers に新しいサーバーを jq で追加する
- Step 2: 追加が正しく反映されたかを jq が返す keys で確認する
- Step 3: Claude Code を再起動して変更を適用する
Best Practices
- 編集前に ~/.claude.json のバックアップを取る
- jq を使ってアトミックに書換えるため一時ファイルを介して mv する
- 変更後は Claude Code を再起動して変更を反映させる
- mcpServers の keys を確認して追加が正しく反映されているか確認する
- 大量サーバー設定時はスクリプト化して再現性を高める
Example Use Cases
- ServerName を stdio タイプで追加し、type, command, args を設定して実行可能な形にする
- ServerName を http タイプで追加し、URL を指定して外部HTTPサーバーを利用する
- 追加後に jq で mcpServers の keys を確認して登録を検証する
- 追加後に Claude Code を再起動して新規サーバーを有効化する
- バックアップを取りつつ複数サーバーを一括設定する運用を検証する
Frequently Asked Questions
Add this skill to your agents