SerenaはClaude Codeをより安く、より強力にするオープンソースツールです。
uvはPythonのパッケージマネージャーです。以下のいずれかの方法でインストールしてください:
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS (Homebrew):
brew install uvpip経由:
pip install uvより詳しいインストール方法は uv公式インストールガイド を参照してください。
インストール後、ターミナルを再起動してください。
プロジェクトディレクトリで以下のコマンドを実行:
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant --project $(pwd)これだけでセットアップ完了です!
Claude Codeで新しい会話を始めて:
Serenaの初期設定を読み込んでくださいまたは:
/mcp__serena__initial_instructionsSerenaでは、プロジェクトを明示的に「有効化」する必要があります。Claude Codeで以下のように指示してください:
絶対パスで指定:
プロジェクト /path/to/my_project を有効化してくださいプロジェクト名で指定(過去に有効化済みの場合):
プロジェクト my_project を有効化してください有効化されたプロジェクトは自動的に serena_config.yml に追加され、各プロジェクトには .serena/project.yml が生成されます。
大きなプロジェクトでは必須です! インデックス化により、初回のツール実行が大幅に高速化されます。
プロジェクトディレクトリで以下を実行:
uvx --from git+https://github.com/oraios/serena index-projectまたは、別のディレクトリから:
uvx --from git+https://github.com/oraios/serena index-project /path/to/project新しいプロジェクトでSerenaを使う場合:
cd /path/to/new/project
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant --project $(pwd)プロジェクト全体の理解:
このプロジェクトの構造を教えてください関数・クラスの検索:
"calculate"という名前の関数を探してくださいUserクラスの定義を見せてください依存関係の分析:
この関数がどこから呼び出されているか教えてください新しいメソッドの追加:
User クラスに新しいメソッド get_full_name を追加してください。
first_name と last_name を結合して返す機能です。関数の置き換え:
calculate_price 関数の中身を、税込み計算に変更してくださいコードの改善:
このコードにエラーハンドリングを追加してくださいテストの実行:
テストを実行してくださいデバッグ:
このエラーの原因を調べて修正してください:
[エラーメッセージをペースト]新しいファイルの作成:
新しいファイル utils.py を作成して、共通のユーティリティ関数を追加してください設定ファイルの編集:
package.json に新しい依存関係を追加してくださいこのプロジェクトの主要な機能と、ファイル構造を説明してください。
使用している技術スタックと、エントリーポイントも教えてください。以下のエラーを修正してください:
TypeError: 'NoneType' object is not subscriptable
File "main.py", line 42, in process_dataユーザー認証機能を実装してください:
- ログイン/ログアウト
- パスワードハッシュ化
- JWT トークン生成
- 認証ミドルウェアこの関数は長すぎて複雑です。
複数の小さな関数に分割してリファクタリングしてくださいこの処理が遅いです。ボトルネックを特定して最適化してくださいプロジェクト固有の設定を行いたい場合、.serena/project.yml を作成:
project_name: "my-project"
language: python # python, typescript, java, rust, go, php など
read_only: false # trueにすると読み取り専用
ignored_paths:
- "node_modules/*"
- "*.log"
- "__pycache__/*"
- ".git/*"
encoding: "utf-8"| 言語 | 設定値 | 状態 |
|---|---|---|
| Python | python | ✅ 完全サポート |
| TypeScript/JavaScript | typescript | ✅ 完全サポート |
| Java | java | ✅ 完全サポート |
| C# | csharp | ✅ 完全サポート |
| Rust | rust | ✅ 完全サポート |
| Go | go | ✅ 完全サポート |
| PHP | php | ✅ 完全サポート |
| Elixir | elixir | ✅ 完全サポート |
| Clojure | clojure | ✅ 完全サポート |
| C/C++ | cpp | ⚠️ 一部制限あり |
症状: claude mcp add コマンドが失敗
解決方法:
# uvのインストール確認
uv --version
# Claudeコマンドの確認
claude --version
# プロジェクトディレクトリの確認
pwd症状: Serenaのツールが表示されない
解決方法:
/mcp__serena__initial_instructions コマンドを使用症状: コード解析ができない
解決方法:
# プロジェクトに対応言語のファイルがあるか確認
ls *.py *.ts *.js *.java
# .serena フォルダの作成
mkdir -p .serena症状: 「プロジェクトが見つからない」エラー
解決方法:
# プロジェクトディレクトリで再実行
cd /correct/project/path
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant --project $(pwd)❌ 悪い例: "コードを良くして" ✅ 良い例: "この関数にエラーハンドリングとログ出力を追加して"
大きなタスクは小さく分割:
このプロジェクトの重要な設計方針をメモリに保存してください変更後にテストを実行して、既存機能が壊れていないか確認してくださいSerenaをClaude Codeと組み合わせることで:
これらが実現できます。
参考リンク: