Resource-Oriented API Design for MCP
Provides resource-oriented API design patterns for MCP, covering URI scheme design, resource model definition, provider implementation, caching strategies, and resource transformation patterns.
name: resource-oriented-api description: | MCPのリソース指向API設計パターンを提供。URIスキーム設計、リソースモデル定義、 プロバイダー実装、キャッシュ戦略、リソース変換パターンを網羅する。
Anchors: • RESTful Web APIs (Leonard Richardson) / 適用: リソース設計・URI設計 / 目的: REST原則の適用 • MCP Resource Protocol / 適用: リソースプロバイダー実装 / 目的: MCP仕様準拠
Trigger: Use when designing MCP resources, implementing resource providers, or defining URI schemes. MCP resource, resource provider, URI scheme, リソース定義, リソースモデル, API設計 allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
Resource Oriented API
概要
MCPのリソース指向API設計パターンを提供するスキル。URIスキーム設計からリソースプロバイダー実装まで、リソース指向APIの設計・実装を支援する。
ワークフロー
Phase 1: リソースモデル設計
目的: ドメインに適したリソースモデルを設計する
アクション:
- リソースとして公開すべきエンティティを特定
- リソース間の階層・関連を定義
- URIスキームを設計(
references/uri-scheme-guide.md参照) - MIME-typeとコンテンツ形式を決定
Task: agents/design-resource-model.md を参照
Phase 2: リソースプロバイダー実装
目的: 設計したリソースモデルをMCPプロバイダーとして実装
アクション:
- リソース定義JSONを作成(
assets/resource-definition-template.json参照) - プロバイダークラスを実装(
assets/resource-provider-template.ts参照) scripts/validate-resource-definition.mjsで定義を検証scripts/validate-uri.mjsでURI設計を検証
Task: agents/implement-provider.md を参照
Phase 3: 最適化と検証
目的: パフォーマンスとセキュリティを最適化
アクション:
- キャッシュ戦略を適用(
references/caching-strategies.md参照) - リソース変換パターンを適用(
references/resource-transformation.md参照) - セキュリティチェック(パストラバーサル、スキーム制限)
- 最終検証と記録(
scripts/log_usage.mjs)
Task仕様(ナビゲーション)
| Task | 起動タイミング | 入力 | 出力 | | --------------------- | -------------- | -------------------- | -------------------- | | design-resource-model | Phase 1開始時 | ドメイン要件 | リソースモデル設計書 | | implement-provider | Phase 2開始時 | リソースモデル設計書 | プロバイダー実装 |
詳細仕様: 各Taskの詳細は agents/ ディレクトリの対応ファイルを参照
ベストプラクティス
すべきこと
- URIは階層的で直感的な構造にする(例:
/users/123/posts/456) - リソース名は複数形・ケバブケースを使用(例:
my-resources) - パス深度は最大4レベルに制限
- 特殊文字は適切にパーセントエンコード
- キャッシュ戦略を必ず検討する
避けるべきこと
- 動詞をURIに含めない(例:
/getUserは不可、/users/123を使用) - パストラバーサル脆弱性を放置しない
- 無制限のスキーム許可(許可リストで制限する)
- キャッシュ無効化戦略なしでの運用
リソース参照
references/(詳細知識)
| リソース | パス | 用途 | | --------------------- | ---------------------------------------------------------------------------------- | ---------------------------- | | URIスキーム設計ガイド | See references/uri-scheme-guide.md | URI構造・命名規則・正規化 | | キャッシュ戦略ガイド | See references/caching-strategies.md | 多層キャッシュ・無効化戦略 | | リソース変換パターン | See references/resource-transformation.md | パイプライン・フィルタリング |
scripts/(決定論的処理)
| スクリプト | 用途 | 使用例 |
| ---------------------------------- | ------------------ | --------------------------------------------------------------- |
| validate-resource-definition.mjs | リソース定義検証 | node scripts/validate-resource-definition.mjs definition.json |
| validate-uri.mjs | URI形式検証 | node scripts/validate-uri.mjs "db://sqlite/users/123" |
| log_usage.mjs | フィードバック記録 | node scripts/log_usage.mjs --result success --phase "Phase 3" |
assets/(テンプレート)
| テンプレート | 用途 |
| ----------------------------------- | ---------------------------- |
| resource-definition-template.json | リソース定義JSONテンプレート |
| resource-provider-template.ts | TypeScriptプロバイダー雛形 |
変更履歴
| Version | Date | Changes | | ------- | ---------- | -------------------------------------------- | | 2.0.0 | 2026-01-02 | 18-skills.md仕様に準拠、agents追加、構造改善 | | 1.0.1 | 2025-12-24 | Spec alignment and required artifacts added |
Related skills
Next.js App Router Expert
A skill that turns Claude into a Next.js App Router expert.
README Generator
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Generates comprehensive API documentation in OpenAPI/Swagger format.