MCP でリソースを提供したい
4. 権限・セキュリティコマンド / 機能
server.resource() でデータソースを定義Claude がアクセスできるデータを公開
設定例
// リソース(データソース)の定義
server.resource(
"config://app",
"アプリケーション設定",
async () => {
const config = await fs.readFile("config.json", "utf-8");
return {
contents: [{
uri: "config://app",
mimeType: "application/json",
text: config
}]
};
}
);
// 動的リソース(パラメータ付き)
server.resource(
"user://{userId}",
"ユーザー情報",
async ({ userId }) => {
const user = await db.getUser(userId);
return {
contents: [{
uri: `user://${userId}`,
mimeType: "application/json",
text: JSON.stringify(user)
}]
};
}
);こんな時に使う
- 設定ファイルを Claude に読ませたい時
- データベースの情報を提供したい時
- 動的なデータを参照可能にしたい時
使い方
- 1server.resource() でリソースを定義
- 2URI スキーマは任意(config://, user:// など)
- 3{param} でURIパラメータを受け取れる
- 4mimeType でデータ形式を指定
Tips
- ツールは「アクション」、リソースは「データ」
- リソースは Claude が必要に応じて参照する
- 大きなデータは分割して提供するのが効率的