read_local_files¶
プロジェクト内のファイル(または設定された filesystem MCP サーバーが参照できる任意の場所)を読み取り、その内容に関する質問に回答します — MCP バックの stdlib Skill の標準的な例です。
使う場面¶
- ユーザーがファイル名やパスでファイルについて質問するとき: 「
pyproject.tomlには何が宣言されていますか?」「README のライセンスセクションを要約してください。」 - リクエストがファイルシステム系で、設定済みの
filesystemサーバーが利用可能な場合、ルーターはread_local_filesを発行します。
使わない場面¶
- プロジェクト全体にわたる自由形式のコード検索 — それは
web_researchや grep 系の op であり、単一ファイルの読み取りではありません。 - OS がデフォルトの
file.readパーミッションで直接読み取る.reyn/内のファイル — MCP を経由する必要はありません。 - バイナリファイル。基盤となるツールは
read_text_fileです。
必要なセットアップ¶
セットアップチェックリスト¶
- MCP filesystem サーバー —
reyn.yamlにmcp.servers.filesystemを追加します(以下のブロックを参照)。 - パーミッションの事前承認 —
reyn.yamlのpermissions:ブロックにmcp.filesystem: allowを追加します。 これがないと、Reyn は MCP 呼び出しのたびにインタラクティブなプロンプトを表示します。ヘッドレス / 非 TTY 環境(CI、stdin パイプ、dogfood スクリプト)ではプロンプトに回答できず、すべての呼び出しがpermission_deniedを返し Skill は空の状態で終了します。 - 完全な動作例は
cookbook/configs/with-mcp.yamlを参照してください — プロジェクトルートにコピーしてreyn.yamlにリネームしてください。
reyn.yaml の filesystem という正確な名前で MCP サーバーが設定されている必要があります。
以下のブロックを既存の reyn.yaml に貼り付けてください(mcp と permissions の両セクションが必要です)。
permissions:
mcp.filesystem: allow # ヘッドレス / 非 TTY 実行に必要
mcp:
servers:
filesystem:
type: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "."]
[mcp] extra のインストールを含むセットアップの完全な手順は How-to: MCP サーバーを使う を参照してください。
Phase¶
| Phase | 用途 |
|---|---|
read_and_respond |
エントリー Phase。要求されたパスを解決し、filesystem に対して mcp op を発行し、レスポンスをフォーマットします。file_content_response で finish するか、フォローアップのために遷移します。 |
この Phase は frontmatter に permissions.mcp: [filesystem] を宣言しています。
最終出力: file_content_response¶
| フィールド | 型 | 用途 |
|---|---|---|
path |
string | 読み取ったパス(サーバーが解決したもの) |
content |
string | ファイルの内容、またはそれから導出した回答 |
summary |
string(省略可能) | ユーザーが生のテキストではなく要約を求めた場合の 1 段落の概要 |
例¶
このルートにリダイレクトされるプロンプトの例:
- 「README.md を読んで、reyn とは何かを教えてください。」
- 「
LICENSEに記載されているライセンスは何ですか?」 - 「
docs/concepts/principles.mdの哲学セクションを要約してください。」
このルートにリダイレクトされないプロンプトの例:
- 「リポジトリ内のすべての TODO コメントを探してください。」→ より広い検索。単一ファイルの読み取りではありません。
- 「
.reyn/events.jsonlの中身は何ですか?」→ デフォルトのfile.readが処理します。MCP 不要。
ソース¶
src/reyn/stdlib/skills/read_local_files/
関連情報¶
- Concepts: MCP — reyn がプロトコルを統合する仕組み
- How-to: MCP サーバーを使う — この Skill が動かすクイックスタート
- Reference:
reyn.yaml§ MCP servers