mcpField
O
Octocode

Octocode

ローカル
github.com/bgauryyAI・エージェント9569 週間前に更新

Octocode について

Octocode は、ローカルコードと GitHub リポジトリ、PR、npm パッケージなどの外部コードを調査するための MCP サーバー兼コマンドラインツールです。AI エージェントと開発者を対象とし、Rust エンジンで検索と解析を行い、モデルに渡す前に出力を圧縮して機密情報を除去します。

主な機能

  1. 01ローカルと GitHub のコードを横断する検索
  2. 02ripgrep と AST による構造検索
  3. 03LSP による定義・参照のナビゲーション
  4. 04圧縮やページ分割によるファイル読み取り
  5. 05モデルへ送る前の機密情報の除去

活用シーン

  1. 01複数のリポジトリで実装パターンを比較
  2. 02大きなファイルの必要な領域のみを読み取り
  3. 03LSP で関数の呼び出し元と呼び出し先を追跡

MCP 対応

本プロジェクトは MCP サーバーであり、コード検索、ファイル読み取り、パッケージ検索、LSP ナビゲーションのツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"octocode": {
"command": "npx",
"args": [
"-y",
"octocode-mcp"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
起動コマンドnpx -y octocode-mcp
設定が必要な環境変数
GITHUB_TOKENシークレットGitHub Personal Access Token. Optional - authenticate via GitHub CLI (gh auth login) for automatic token management, or set this token manually for CI/CD environments.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmoctocode-mcp7.0.9

ツール

14

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
queriesarrayはい並列クエリ。
responseCharOffsetintegerいいえレスポンス全体での文字オフセットです。hasMore が true の場合は、返された値を使って再度呼び出します。
responseCharLengthintegerいいえレスポンス全体の文字ウィンドウです。

詳細

Octocode:エージェント型リサーチプラットフォーム

Octocode ロゴ

MCP Community Server Ask DeepWiki Glama score

ウェブサイト YouTube

AI エージェントと開発者のための、エビデンスを重視したコードリサーチです。

Octocode は、ローカルコードと外部コードの両方(GitHub リポジトリ、PR、npm)を、ripgrep + AST 検索、ツリー、正確な読み取り、LSP という一連のツールで調査します。CLI または MCP サーバーとして利用でき、Rust エンジンにより、単一ファイルから巨大なリポジトリまで、高速かつトークン効率の高い結果を提供します。


目次


クイックスタート

前提条件: Node.js 20.12+

1. npx で Octocode CLI を実行します

npx octocode --help

2. GitHub で認証します - 省略可能ですが、プライベートリポジトリを利用でき、API レート制限も緩和されます:

npx octocode auth login
npx octocode status       # verify the active token source

3. インターフェースを選択します。 どちらも同じツールと Rust エンジンを使用します。(CLI ではクローンがデフォルトで有効ですが、MCP ではオプトインです。)

🖥️ CLI - ターミナルから直接リサーチできます:

npx octocode

🤖 MCP - ワンクリックでインストールできます:

  • Cursor にインストール
  • VS Code にインストール
その他のインストール方法を表示(Windsurf、Kiro、Goose、LM Studio、Claude Code)
  • VS Code Insiders にインストール
  • Windsurf にインストール
  • Kiro にインストール
  • Goose にインストール
  • LM Studio にインストール

Claude Code:

claude mcp add-json octocode --scope user '{"command":"npx","type":"stdio","args":["octocode-mcp@latest"]}'

その他のクライアント: npx octocode install


MCP サーバーとして使う

MCP クライアントの設定に追加します(または上記のワンクリックインストールを使用します):

{
  "octocode": {
    "command": "npx",
    "type": "stdio",
    "args": ["octocode-mcp@latest"]
  }
}

GitHub トークンとオプションは env の下に設定します(設定を参照)。

エージェント向けの CLI として使う

npx octocode を実行すれば、エージェントが必要な操作を判断します。引数なしのコマンドを実行すると、組み込みの使用方法とツールの全カタログが表示されるため、MCP クライアントや追加の設定がなくても、どのコーディングエージェントでもすぐに使い方を把握できます。

npx octocode                                         # self-describing usage for agents
npx octocode tools                                   # list every tool
npx octocode tools localSearchCode --scheme          # inspect a tool's schema

すべての MCP ツールは通常のコマンドとしても利用できます。入力は JSON、出力はトークン効率の高い YAML です。ローカルパスはローカルツールに、owner/repo[/path] は GitHub に振り分けられます。

npx octocode tools localSearchCode \
  --queries '{"path":".","searchText":"authenticate","maxFiles":20}'
results:
  - id: localSearchCode-1
    data:
      files:
        - path: src/auth.ts
          matches:
            - line: 12
              value: "export async function authenticate(req: Request) {"

詳しくは octocode.ai をご覧ください。


Octocode を選ぶ理由

エージェントは推測よりも根拠に基づいてコードを書くほうが優れています。Octocode は、ローカルコードと GitHub や npm 上の外部コードという2つの世界を1つのフローで調査し、エージェントがコードを変更、レビュー、説明する前に、簡潔で引用可能なコンテキストを提供します。コードは真実であり、コンテキストは地図です。

多くのツールは一部の作業(ウェブ検索やリポジトリの grep など)だけを行い、固定されたデータを返します。Octocode は一連の作業全体をカバーし、次に必要なデータをエージェント自身が判断できるようにします。

  • エージェント主導の効率的なフロー。 一度きりの大量出力ではなく、Octocode は低コストの手順をつないで最適化された調査フローを構築します。コードを広く検索し、一致した正確な行や範囲だけを取得します。スマートなページネーションとすぐに使える軽量化機能により、モデルが必要以上のデータを取得することはありません。すべての結果には、最も低コストで実行できる次の手順のヒントが付いています。
  • モノレポにも対応。 あるリポジトリでパターンを見つけ、それを導入した PR をたどり、チャットを離れずに他のリポジトリや自分のファイルでも追跡できます。任意のリポジトリをクローンして、ローカルで調査できます。
  • スマートな GitHub フロー。 コード、PR、コミット、Issue、リポジトリに対する並列一括クエリを、検索は広く、読み取りは絞り、意味に基づいて追跡するという一貫した方針で実行できます。
  • GitHub がなくても動作。 任意のリポジトリをクローンし、ローカルツール(検索、AST、LSP、コンテンツ)の対象に設定すれば、同じく根拠を優先するフローを利用できます。
  • ノイズではなく構造を読み取ります。 70 以上の言語をその場で軽量化・骨格化します。100 KB のファイルを数百トークンにまとめ、定型コードの壁を避けられます。
  • 高速で自己完結。 検索、解析、ナビゲーション、秘匿化を、ビルド済みのRust エンジン1つで実行します。ノート PC でも巨大なリポジトリでも高速に動作し、追加のインストールは不要です。
  • デフォルトで安全。 モデルに渡すすべてのバイトをスキャンし、まずシークレットを秘匿化します(セキュリティを参照)。

できること(次の手順で推測ではなく、確かなコンテキストが必要なとき):

必要なことOctocode の活用方法
コードベースに関する質問ローカルまたは GitHub のコードを検索し、正確な範囲を読み取り、ツリーを参照して、ファイルと行のアンカーを回答に含めます。
実装の調査コードを変更する前に、リポジトリ、npm パッケージ、プルリクエスト、コミット、ローカルファイルにまたがってパターンを比較します。
セマンティックなナビゲーションLSP を通じて、定義、参照、呼び出し元/呼び出し先、呼び出し階層、ホバー情報、シンボル、診断情報、型の関係を解決します。
構造的なマッチングパターンまたは YAML ルールを使って AST 形状の検索を実行し、コメントや文字列による誤検出を防ぎます。
大きなファイルのコンテキストコードを軽量化、骨格化、またはページ分割し、エージェントが定型コードではなく関連する構造にトークンを使えるようにします。
エージェントのワークフローMCP、CLI、Agent Skills で同じエンジンを利用できます。

調査向けに構築(ベンチマーク)

単純な検索ではなく、調査向けのフロー(複数ステップの追跡、依存関係/呼び出しグラフの連鎖、コミット範囲、影響範囲、複数リポジトリにまたがる PR レビュー)を対象にした、ブラインド形式の直接比較テストです。

Octocode ベンチマーク — 同じ回答を、コンテキストを大幅に抑えて実現

仕組み: GitHub に関する質問 30 件 × 3 回の実行。Octocode と、同一の質問を使った gh、gh+Headroom、gh+RTK を比較します(異なるのは CLI のみです)。ブラインド判定者(gpt-5.5)が正確性を評価します。指標はモデルに渡された文字数で、計測ログからカウントします(トークンではなく文字数)。結果: 正確性がほぼ同等の場合、ローカルビルドの主要な実行結果では、Octocode の回答に必要な文字数は、素の gh の 約 2.0 分の 1、gh+Headroom の約 2.6 分の 1、gh+RTK の約 3.2 分の 1です。

▶ インタラクティブレポートを開く · 実行方法/手法 · 質問 · すべてのレポート


ツール

カタログ全体で 17 個のツールを用意しています。 登録される数は、利用する環境と設定するフラグによって異なります。

環境登録数登録されるツール
MCP、フラグなし8GitHub の検索と読み取り、および npmSearch
MCP、ENABLE_LOCAL=true145 個のローカルツールと lspGetSemantics を追加
MCP、+ ENABLE_CLONE=true15ghCloneRepo を追加
MCP、+ ENABLE_TOOLS の許可リスト17ghListReleases と ghSearchDiscussions を追加
CLI、フラグなし15ローカルツールとクローンがデフォルトで有効
CLI、+ ENABLE_RELEASES=1 ENABLE_DISCUSSIONS=117同じ 2 個の GitHub ツールを追加

ghListReleases と ghSearchDiscussions を MCP で有効にするには、設定が 1 つではなく 2 つ必要です。 ENABLE_RELEASES=1 または ENABLE_DISCUSSIONS=1 を設定するとツールがカタログに追加され、 ENABLE_TOOLS="ghListReleases,ghSearchDiscussions" を設定すると登録されます。どちらか一方だけでは ツールは登録されません。どちらも isDefault: false であり、MCP の登録フィルターではデフォルトのツールか、 明示的に許可リストに指定されたツールのみが登録されるためです。 CLI では ENABLE_RELEASES と ENABLE_DISCUSSIONS のフラグだけが必要です。ENABLE_LOCAL と ENABLE_CLONE は true または 1 を受け付けます。ENABLE_RELEASES と ENABLE_DISCUSSIONS は yes と on も受け付けます。 フラグ:設定。

トークン設定。 concise:true はパスとタイトルのみのリストを返します。minify はファイル読み取り時の密度を設定します。symbols は行番号付きの骨組み、standard はコメントと空行を除去した内容(デフォルト)、none は正確なバイト列です。

GitHub ツール
ツール説明設定項目
ghSearchCodeGitHub 全体を対象に、所有者、リポジトリ、パス、ファイル名、拡張子、マッチ条件でコードとパスを検索します。1〜5 件のクエリを並列で実行できます。concise
ghGetFileContentGitHub のファイルまたは範囲を読み込みます。ファイル全体、行範囲、マッチ箇所、ページ分割した文字数を指定できます。minify
ghViewRepoStructureリポジトリのディレクトリツリーを閲覧し、オプトインでリポジトリ情報を追加できます。include
ghSearchReposキーワード、所有者、トピック、言語、スター数、更新日、ライセンス、公開範囲でリポジトリを検索します。concise
ghSearchPullRequestsプルリクエストを検索するか、1 件の PR を詳細に読み込みます。ファイル、パッチ、コメント、レビュー、コミットを確認できます。content
ghSearchIssuesIssue を検索するか、1 件の Issue の本文とコメントを読み込みます。content
ghSearchCommitsリポジトリのコミット履歴をたどるか、2 つの参照(base+head)を比較します。includeDiff
ghListReleasesリリースと最新の安定版リリースを一覧表示します。アセットはオプトインで取得できます。オプトイン(フラグについてはツールを参照してください)。includeAssets
ghSearchDiscussionsGraphQL を使って、リポジトリの Discussions(Q&A、RFC、告知)を検索します。オプトイン(フラグについてはツールを参照してください)。keywordsToSearch
ghCloneRepoローカル分析と LSP 分析のために、リポジトリまたはスパースサブツリーをローカルキャッシュにクローンします。MCP ではオプトイン(ENABLE_CLONE=true)、CLI ではデフォルトで有効です。sparsePath
ローカルツール
ツール説明設定項目
localSearchCodeファイルと行のアンカーを返す、ローカルのコード/テキスト検索です。mode:"structural" を指定すると、Octocode の AST 形状クエリ(pattern または rule)を実行します。mode
localViewStructureローカルディレクトリツリーを閲覧します。深さ、フィルター、ページネーション、メタデータを指定できます。detail
localFindFiles名前、パス、正規表現、拡張子、サイズ、時間、権限、種類でローカルのファイルとディレクトリを検索します。
localFindDeadCodeリポジトリ全体の到達可能性分析を使って、参照されていない可能性が高いエクスポートとデッドコードのクラスターを検出します。entrypoints
localGetFileContentローカルファイルまたは範囲を読み込みます。正確な範囲、マッチ文字列、行範囲、またはページ分割した文字数を指定できます。minify
パッケージ検索
ツール説明設定項目
npmSearchnpm パッケージの検索とキーワード検索を行い、メタデータと、GitHub に引き継ぐためのソースリポジトリを返します。concise
LSP
ツール説明
lspGetSemantics型情報に基づくセマンティックナビゲーションを提供します。definition、references、callers、callees、callHierarchy、hover、documentSymbols、typeDefinition、implementation、workspaceSymbol、supertypes、subtypes、diagnostic を利用できます。CLI からは直接実行します:npx octocode tools lspGetSemantics --queries '<json>'。ナビゲーションはインストール済みの言語サーバーを介して実行されます(LSP ツールのリファレンスを参照してください)。

すべてのツールの完全なスキーマ、フィールド、使用例はdocs/OCTOCODE_TOOLS.md(ドキュメントにリンクされています)に記載されています。


MCP

MCP サーバーは、Octocode のツールカタログを stdio 経由で AI アシスタントに直接公開します。

https://github.com/user-attachments/assets/de8d14c0-2ead-46ed-895e-09144c9b5071

手動設定

octocode-mcp を使って、MCP クライアントの設定に追加します。

{
  "octocode": {
    "command": "npx",
    "type": "stdio",
    "args": [
      "octocode-mcp@latest"
    ]
  }
}

GitHub トークンとオプションを env に追加してください。認証と設定を参照してください。


CLI

同じリサーチエンジンを利用でき、MCP クライアントは不要です。ローカルパスはローカルツールに、owner/repo[/path] は GitHub にルーティングされます。npx octocode auth login で一度認証してください(認証を参照)。使用方法の詳細は npx octocode --help を実行してください。

コマンド
ツールコマンド
コマンド説明
npx octocode tools <name> --scheme1 つのツールのスキーマ(フィールド、型、範囲、デフォルト値)を表示します
npx octocode tools <name> --queries '<json>'ツールを実行します(MCP と同じツール)。出力は YAML 形式です
npx octocode tools <name> --queries '<json>' --jsonツールを実行し、完全な CallToolResult JSON を出力します
npx octocode tools利用可能なすべてのツールを一覧表示します
その他のコマンド
  • キャッシュとクローン — npx octocode clone、npx octocode cache fetch|status|clear
  • スキル — バンドルされた Octocode スキル用の npx octocode skill list|install|check|info|remove
  • 言語サーバー — npx octocode lsp-server list|install|status|uninstall|clean
  • セットアップと情報確認 — npx octocode install、npx octocode auth、npx octocode status、npx octocode context

完全な構文、フラグ、終了コードについては、Octocode CLI ガイドをご覧ください。


設定

すべての設定は任意です。Octocode は適切なデフォルト設定で動作します。設定は、優先順位の高い順に次の 3 つのソースから解決されます。

environment variables  >  <octocode-home>/.octocoderc  >  built-in defaults
  1. MCP/環境変数(最優先):クライアントごと、またはプロジェクトごとに、MCP 設定の env またはシェルで設定します。
  2. グローバル設定:<octocode-home>/.octocoderc。マシン全体のデフォルト値で、CLI と MCP サーバーの両方が読み込みます。
  3. 組み込みのデフォルト値:どちらも設定されていない場合に使用されます。

Octocode ホーム(<octocode-home>)には、グローバル設定、暗号化された認証情報、セッション、統計情報、一時的なマテリアライズ用キャッシュが保存されます。すべてのプラットフォームで、OS のホームディレクトリ内にある .octocode です。macOS と Linux では ~/.octocode、Windows では %USERPROFILE%\.octocode です。OCTOCODE_HOME で変更できます。

値は MCP の env エントリ(クライアントごとに設定され、.octocoderc より優先されます)または <octocode-home>/.octocoderc(コメント付き JSON)でグローバルに設定します。トークンを .octocoderc に保存しないでください — env または npx octocode auth login を使用してください。

よく使う設定

最もよく使われる設定です(注記がない限り、CLI と MCP の両方に適用されます)。

環境変数.octocoderc のキーデフォルト値説明
OCTOCODE_TOKEN / GH_TOKEN / GITHUB_TOKENenv のみ未設定優先順位に従って使用する GitHub トークンです。.octocoderc には保存しないでください。
ENABLE_LOCALlocal.enabledCLI は true。MCP では明示的に設定ローカルファイルシステムおよび LSP ツールの有効/無効を切り替えます。
ENABLE_CLONElocal.enableCloneCLI は true、MCP は falseghCloneRepo とディレクトリの取得の有効/無効を切り替えます。
WORKSPACE_ROOTlocal.workspaceRootcwd相対ローカルパスを解決する際のルートです。
ALLOWED_PATHSlocal.allowedPaths[]ローカルアクセスに追加するパスの許可リストです。
OCTOCODE_OUTPUT_FORMAToutput.formatyaml応答形式です。yaml または json を指定します。

OCTOCODE_HOME、GitHub Enterprise(GITHUB_API_URL)、MCP ツールの許可リスト(TOOLS_TO_RUN/ENABLE_TOOLS/DISABLE_TOOLS)、ネットワークのタイムアウトと再試行については、設定リファレンスをご覧ください。

設定例

~/.octocode/.octocoderc:

{
  "github": {
    "apiUrl": "https://api.github.com"
  },
  "local": {
    "enabled": true,
    "enableClone": true
  },
  "output": {
    "format": "yaml"
  }
}

プロジェクトごとの上書き設定とカスタム LSP サーバーは、ワークスペースの .octocode/ フォルダーに保存します。.octocoderc の完全なスキーマ、コピーして使える設定例、クローンキャッシュの調整、GitHub Enterprise のセットアップ、優先順位の詳細については、設定リファレンスをご覧ください。


認証方法

GitHub を利用するツールには認証が必要です。いずれか 1 つの方法で認証できます。詳細については、認証のセットアップをご覧ください。

方法 1:Octocode CLI(推奨)
npx octocode auth login
npx octocode status       # verify the active token source

対話形式のログインでは、Octocode のブラウザー OAuth または gh auth login を選択できます。Octocode OAuth の認証情報は、暗号化されてディスクに保存されます。

方法 2:GitHub CLI(こちらもサポート)
gh auth login

Octocode は gh トークンを自動的に読み取るため、追加の設定は不要です。

オプション 3:パーソナルアクセストークン(こちらもサポートされています)

シェルで OCTOCODE_TOKEN、GH_TOKEN、または GITHUB_TOKEN を設定します。必要なスコープ:repo、read:user、read:org。

トークンは github.com/settings/tokens で作成してください。

注: トークンをバージョン管理にコミットしないでください。環境変数または安全なシークレット管理を使用してください。


セキュリティ

モデルに渡されるすべてのバイトは、まずスキャンされ、秘匿化されます。 すべてのコンテンツは、入力時も 出力時 も Rust エンジンのシークレットスキャナーを通過するため、シークレットがモデルに届くことはありません。対象には、ローカルファイル、GitHub と npm のレスポンス、エラー、ツールの出力が含まれます。MCP と CLI のどちらでも動作は同じです。

  • 入力時と出力時のシークレット秘匿化。 300 種類以上のプロバイダー認証情報パターン(AWS、Azure、GCP、GitHub、OpenAI、Anthropic、Stripe、Slack、1Password など)に加え、汎用 JWT、PEM/秘密鍵、ベアラートークン、データベース接続文字列、高エントロピー文字列に対応しています。マスクされた値には秘匿化の警告が表示されるため、エージェントが把握できます。
  • ソースでコンテンツをサニタイズ。 ローカルの読み取り(localGetFileContent、ripgrep、構造検索、バイナリ、ファイル検出、構造)と外部からの取得(GitHub のコード/ファイル、npm)は、境界でのみではなく、読み取り時にスキャンされます。
  • パスの安全性。 相対パスの入力は WORKSPACE_ROOT /設定/cwd を基準に解決され、その後、ローカルの読み取りはエンジンで許可されたルート(デフォルトではホームに加え、ALLOWED_PATHS と Octocode に登録されたルート)に制限されます。シンボリックリンクは解決され、実際のターゲットが再検証されるため、リンクがブロックされた場所へ抜け出すことはありません。
  • 機密ファイルはデフォルトでブロック。 既知のシークレットを含むファイルやフォルダーの読み取りでは、内容ではなく秘匿化されたエラーが返されます。対象は、鍵/証明書、.env*、.npmrc/.netrc、クラウド/インフラの認証情報(.aws/、.kube/、*.tfstate)、.git/、ブラウザーのログイン情報、OS のキーチェーン、ウォレットです。全リストは SECURITY.md をご覧ください。
  • コマンドの安全性。 通常のローカル検索は octocode-engine 内でプロセス内実行されます。外部ヘルパーはレーンごとに固定され、コマンド/引数が許可リストで制限されており、引数配列を使って spawn 経由で実行されます。シェル文字列もインジェクションもありません。
  • スキーマ検証はツールの実行前に行われ、信頼できない入力のサイズと形式は制限されます。
  • 認証情報。 GitHub 認証には、環境変数のトークン、AES-256-GCM で暗号化されてディスクに保存される OAuth、または gh CLI を使用します。トークンがログに記録されることはありません。

セキュリティモデル、パイプライン、脅威への対応範囲の詳細: SECURITY.md。 関連項目: 設定と認証 · 認証情報


言語サポート

4 つのコードインテリジェンス軸があり、そのうち 3 つは Rust エンジンにネイティブで備わっており、外部ツールは不要です。

軸機能使用方法
構造 AST60 以上の拡張子に対応した Tree-sitter の構造クエリ(pattern または YAML の rule)です。localSearchCode mode:"structural" · CLI tools localSearchCode --scheme
シグネチャ概要実際の Tree-sitter 解析に基づき、行番号付きで本体を除いたスケルトンを生成します。ヒューリスティックは使用しません。スケルトンが元のファイルより小さくならない場合は、ファイル本体を返すサイズ増加防止ガードが働きます。minify:"symbols" · CLI tools localGetFileContent --scheme
コンテンツの最小化70 以上の言語と設定形式に対応したコメント/空白の除去機能です。HTML/Vue/Svelte では、埋め込みの <style>/<script> も最小化します。minify:"standard"(デフォルト)
LSP ナビゲーションインストール済みの言語サーバーを通じて、定義、参照、呼び出し元/呼び出し先、callHierarchy、hover、typeDefinition、implementation、documentSymbols を取得します。JS/TS には、サーバー不要のネイティブな方法もあります。lspGetSemantics · CLI tools lspGetSemantics --scheme

📋 完全なサポートマトリックス: 各拡張子の AST、シグネチャ、LSP、最小化の対応状況については、**完全な形式サポートマトリックス**をご覧ください。


スキル

エージェントスキルは、AI エージェントの機能を拡張するための軽量なオープン形式です。 skills.sh/bgauryy/octocode-mcpで閲覧・インストールできます。

octocode パッケージには、skills/に13 個のスキルが含まれています。それぞれ必要なときにのみリファレンスを読み込む軽量な SKILL.md で構成されているため、組み合わせて使用できます。まずは、証拠を重視したコード作業に役立つ ⭐ Researchから始めましょう。

npx octocode skill list
npx octocode skill install octocode-research --platform pi
npx octocode skill check --json
npx octocode skill help
中核となる調査と抽出
スキル使用する場面
⭐ octocode-research証拠を重視した調査、レビュー、デバッグ、リファクタリング、先行事例の検証。
octocode-scraping公開ページの抽出とクロールのトリアージ:静的コーパス+graph v2(pages/data/actions/risks/evidence)を使用し、その後、動的アクションやブロックされたページについて CDP に引き継ぎます。
octocode-chrome-devtoolsブラウザー/CDP の証拠:ネットワーク、コンソール、パフォーマンス、Cookie/ストレージ、スクリーンショット、認証が必要なページ、scrape-graph アクションのライブ検証。
計画とアーキテクチャ
スキル使用する場面
octocode-brainstorming構築前の体系的なアイデア検討:選択肢、構築する価値の検証、先行事例のマップ。
octocode-rfc-generator証拠に裏付けられた RFC、設計ドキュメント、移行計画、選択肢の比較。
octocode-documentationREADME、API ドキュメント、運用手順書、AGENTS.md、ADR の作成または更新。
評価とレビュー
スキル使用する場面
octocode-roast重大度順のランキングと修正方法を添えた、率直で根拠に基づくコード批評が必要な場合。
octocode-graph-eval変更が役立ったかを測定する場合:目標→KPI の契約、ベースライン、採用/ロールバックのループ、評価スイート。
octocode-prompt-optimizerプロンプト、ツールスキーマ、エージェントの契約を、より明確、安全、低コストで測定可能にする場合。
エージェントのオーケストレーション
スキル使用する場面
octocode-subagentワーカーの起動/Task/A2A/チャレンジ手法を使う場合、または検証ゲートの下でトークンを大量に消費するテキストをローカルの Ollama に委任する場合。
octocode-skillsエージェントスキルのライフサイクル:発見、レビュー、作成、改善、インストール、同期。

ウェブ自動化ワークフロー: octocode-scraping はまず安全な静的パス(取得/クロール/抽出 → ローカルコーパス → graph v2)を実行します。グラフによって動的アクションが明らかになった場合、または静的出力がブロックされている/不十分な場合は、octocode-chrome-devtools で実際の操作可否、Cookie/ストレージ、ネットワーク/HAR の本文、スクリーンショット、認証が必要な状態を検証します。発見した URL/データ/成果物をスクレイピングコーパスに戻し、継続的な検証に利用できます。


アーキテクチャ

yarn workspaces のモノレポです。MCP サーバーとCLIは、共通の TypeScript ツールコアを利用する薄いフロントエンドであり、ツールコアは CPU 負荷の高いすべての処理を単一のRust エンジンに委譲します(napi-rs を介してコンパイルし、事前ビルド済みの .node バイナリを生成します)。ツールカタログも、セキュリティレイヤーも、レスポンス整形器も 1 つで、2 つの方法からアクセスできます。

graph LR
    CLI["octocode<br/>CLI"]
    MCP["octocode-mcp<br/>MCP server, stdio"]
    VSC["VS Code extension<br/>OAuth + install"]
    CORE["octocode-tools-core<br/>tools, GitHub client, auth, pagination, security bridge"]
    ENGINE["octocode-engine (Rust)<br/>secrets, minify, AST, signatures, ripgrep/diff/YAML, LSP"]
    EXT["GitHub API, local FS + ripgrep, language servers"]

    CLI --> CORE
    MCP --> CORE
    VSC -. starts .-> MCP
    CORE --> ENGINE
    CORE --> EXT
    ENGINE --> EXT

    style ENGINE fill:#1a1a2e,stroke:#e75d2a,color:#fff

リクエストフローは、MCP と CLI のどちらから呼び出しても同じです。

client → sanitize inputs (Rust) → run tool (GitHub / FS / LSP) → sanitize + YAML-serialize + paginate (Rust) → result + next-step hints

単一の Rust エンジンが、シークレット検出、サニタイズ、パスとコマンドの検証、ミニファイ(70 以上の言語)、シグネチャ抽出、構造的 AST 検索、ripgrep の解析、差分のフィルタリング、YAML シリアライズ、LSP を担います。そのため、Node のイベントループがブロックされず、ネイティブローダーが重複することもありません。エンジンは darwin(arm64/x64)、linux(arm64/x64、gnu と musl)、win32-x64 向けに事前ビルド済みで提供されるため、実行時に Rust のツールチェーンは不要です。

パッケージ
ディレクトリnpm パッケージ役割
packages/octocodeoctocodeCLI:クイックコマンド、生のツールランナー、スキルのインストール、認証/ログイン/ログアウト、インストール、ステータス、コンテキスト。
packages/octocode-mcpoctocode-mcpAI アシスタント向けにツールカタログを登録する MCP サーバー(stdio)。
packages/octocode-tools-core@octocodeai/octocode-tools-core共有ツールコア:実装、GitHub クライアント、認証情報とトークンの解決、セッション、ページネーション、セキュリティブリッジ。
packages/octocode-engine@octocodeai/octocode-engineRust/napi ネイティブエンジン:セキュリティスキャン、最小化、シグネチャ、構造的 AST、ripgrep/diff/YAML、LSP。
packages/octocode-config@octocodeai/config依存関係ゼロの環境変数・設定ローダー:getOctocodeHome、.env の解析、.octocoderc の読み込み。すべてのパッケージとスキルで使用される単一の情報源です。
packages/octocode-vscodeoctocode-mcp-vscodeVS Code 拡張機能:GitHub OAuth と複数のエディターへの MCP インストール。

packages/octocode-benchmark(非公開、未公開)には、ベンチマークの方法論、評価、実行アーティファクトが含まれています。ドキュメントを参照してください。


ドキュメント

ウェブサイト:octocode.ai · 製品ドキュメント:github.com/bgauryy/octocode/tree/main/docs。このセクションが正式なドキュメント一覧です。ベンチマークの方法論、評価、実行アーティファクトは packages/octocode-benchmark にあります。

領域ドキュメント
MCP サーバーOctocode MCP サーバー · 設定と認証
ツールとワークフローOctocode ツールリファレンス · RDD マニフェストとワークフロー · Octocode リサーチスキル
CLIOctocode CLI ガイド
リサーチモデルOctocode リサーチマニフェスト · ルーティングとエビデンスに関するポジションペーパー · MCP ツールの品質とエージェントのワークフロー
スキルスキル
開発とセキュリティセキュリティモデル · LSP サーバーのライフサイクル
ベンチマークと評価ベンチマーク結果 · ベンチマーク設計 · ベンチマーク実行手順書 · サポートマトリックス
共通内部機能トークンの優先順位 · セッションの永続化

トラブルシューティング

Node.js または環境に関する問題ですか? 組み込みの doctor コマンドを実行して、環境を確認してください。

npx node-doctor

よくある問題:

  • GitHub 認証エラー: Personal Access Token(PAT)に repo および read:user スコープがあることを確認してください。CLI を使用している場合は、npx octocode auth login を実行して認証を更新してください。
  • MCP 接続の問題: AI アシスタント(Cursor や Windsurf など)が接続できない場合は、まずターミナルで npx octocode auth login を実行したことを確認するか、MCP の env 設定で OCTOCODE_TOKEN を明示的に渡してください。
  • ネイティブエンジンのエラー: Octocode はビルド済みの Rust エンジンを使用します。Linux で読み込みに失敗する場合は、システムが glibc または musl と互換性があることを確認してください。macOS/Windows では、サポート対象のアーキテクチャ(x64 または arm64)を使用していることを確認してください。

エージェントのワークフロー

推奨の開発モード:Pi + Octocode

Pi は、哲学として 「MCP よりも README のある CLI ツール(スキル)」 を掲げる、高速でローカルファーストなコーディングエージェントです。Pi と Octocode を組み合わせると、無駄がなく、証拠に基づいた開発ループを実現できます。Pi が編集し、Octocode が調査します。必要な範囲に応じて、次の 2 つの方法から選べます。

  • スキル方式 — 推奨。最もシンプルです。 octocode-research スキルを Pi のグローバルスキルディレクトリに配置します。このスキルは Octocode の CLI を直接操作するため、MCP のトランスポートは不要で、トークンのオーバーヘッドも最小限です。Pi が自動的に検出します。

    npx octocode skill install octocode-research --platform pi
    
  • アダプター方式 — ツールをすべて利用できます。 pi-mcp-adapter をインストールすると、Octocode の MCP ツールを単一の約 200 トークンのプロキシツール経由で利用できます。ツールが呼び出されるまで、サーバーは切断された状態を保ちます。ENABLE_CLONE=true を設定すると、クローンツールを有効にできます。

調査に基づくループ

エージェントの失敗の多くは、編集前に起きます。誰がその動作を担当しているのかを推測したり、ソースを読まずにスニペットを信用したり、影響範囲を確認する前に編集したりすることが原因です。代わりに、より低コストなループを実行しましょう。ツリーで全体像を把握し、検索し、正確な証拠を読み、識別が重要な場合は AST/LSP を使い、その後パッチを適用して検証します。編集はホストが行い、Octocode は地図となり、スキルがその習慣を定着させます。

マニフェスト

「コードは真実ですが、コンテキストは地図です。」 Octocode の哲学を理解するには、調査主導型開発のための Octocode マニフェストをお読みください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。