👁️

serena mcp server利用のメモ

に公開

はじめに

これは自分用のメモです。serenaは.serenaフォルダを作成し、その内部で様々な情報を保持し、LLMのタスクを補助してくれます。mcpの設定時に対象とするプロジェクトのフォルダの指定が必要であるため、ユーザー空間全体で利用するmcpの設定が不適でした。

自分が利用する機会の多いCursor、Claude Code、gemini-cilについて設定方法をまとめておきます。

serena mcp server のjson設定ファイル

Claude Code

プロジェクト直下に.mcp.jsonというファイル名で下記を配置。mcpサーバーはほかを追加しても良い。これはmcpのみを扱う設定ファイルとなるため、mcpServer以外の項目を入れると認識しなくなってしまった。(地味にはまってしまった)

{
  "mcpServers": {
    "serena": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena-mcp-server",
        "--context",
        "ide-assistant",
        "--project",
        "path to project"
      ],
      "env": {}
    }
  }
}

Cursor

Cursorの場合はFile->Preferences->Cursor Settingsを開き、MCP & IntegrationsにてNew MCP Serverをクリックすることで設定を開ける。大抵は~/.cursor/mcp.jsonにある。

Cursorの場合は下記のようになる。もちろんほかのmcpがあっても良い。プロジェクトを指定しなくても動く。開いている作業フォルダに.serenaを作成し、情報を記述してくれる。便利。もしかして他のAIツールも同じだったりする?(試してない)

{
  "mcpServers": {
    "serena": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena-mcp-server",
        "--context",
        "ide-assistant"
      ]
    }
  }
}

gemini-cli

gemini-cliはプロジェクトフォルダに.gemini/settings.jsonという形式で配置する。中身はClaude Codeと同様で問題なかった。

{
  "mcpServers": {
    "serena": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena-mcp-server",
        "--context",
        "ide-assistant",
        "--project",
        "path to project"
      ],
      "env": {}
    }
  }
}

次に

時間があるときにCursor形式の設定ができるかも試す。json設定ファイル内に.serenaフォルダを取り扱うパスが書かれているのは気持ちが悪い。都度作業ディレクトリでやってくれよ?という気もするが、一方でLLMがcdで移動しながら作業をしつつ、適当なタイミングでメモリを作ろうとしたらどんな振る舞いになるのかは不安が残るところではある。

ただ、gemini-cliやClaude Codeの場合は、プロジェクトごとにmcpを変えたいみたいなことは普通にあるので自分があまり困っていない。

Discussion