StackSherpa について
StackSherpaは、APIを選ぶ開発者向けのカタログとコマンドラインツールです。プロジェクトのプロフィールに応じて候補を提示し、料金やコンプライアンス情報、既知の問題も確認できます。
主な機能
- 01450以上のAPIプロバイダを収録
- 02プロジェクトプロフィールに応じた推薦
- 03料金とコンプライアンス情報
- 04GitHub由来の既知の問題
- 05コマンドラインツールとClaude Codeスキル
活用シーン
- 01カテゴリごとのプロバイダ比較
- 02規模やコンプライアンス要件による絞り込み
- 03導入前の料金と既知の問題の確認
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
stacksherpa
インテリジェントな API 推薦エンジン。28 カテゴリーにわたる 450 以上のプロバイダーを収録し、料金、既知の問題、コンプライアンスデータ、GitHub の課題のライブ追跡に対応しています。
クイックスタート
# 1. Install the CLI
npm install -g stacksherpa
# 2. Install the Claude Code skill (Claude will auto-consult stacksherpa when you need an API)
mkdir -p ~/.claude/skills/api-selection
curl -sL https://raw.githubusercontent.com/astein91/stacksherpa/main/skills/api-selection/SKILL.md \
-o ~/.claude/skills/api-selection/SKILL.md
# 3. Try it
stacksherpa providers email --pretty
API キーは不要です。カタログは共有の読み取り専用データベースです。
カタログを見る
stacksherpa.vercel.app にアクセスして、プロバイダーの確認や選択肢の比較、料金と既知の問題の確認ができます。インストールは不要です。
CLI の使い方
stacksherpa categories --pretty # List all 28 categories
stacksherpa providers email --pretty # All email providers + your profile
stacksherpa providers database --pretty # All database providers
stacksherpa provider stripe --pretty # Deep-dive on one provider
stacksherpa profile --pretty # View your project profile
stacksherpa profile --set '{"project.scale": "startup"}'
stacksherpa profile --set '{"constraints.compliance": ["SOC2"]}'
stacksherpa decide --api Resend --category email --outcome positive
stacksherpa report --id <decision-id> --success
stacksherpa projects list --pretty
すべてのコマンドは JSON を出力します。人が読みやすい形式にするには、--pretty を追加してください。
Claude Code スキル
クイックスタートではスキルがグローバルにインストールされます(~/.claude/skills/)。プロジェクトごとにインストールすることもできます。
mkdir -p .claude/skills/api-selection
curl -sL https://raw.githubusercontent.com/astein91/stacksherpa/main/skills/api-selection/SKILL.md \
-o .claude/skills/api-selection/SKILL.md
インストールすると、Claude は API 統合を提案する前に stacksherpa providers <category> を自動的に実行します。スラッシュコマンドは不要です。スキルが自動的に起動します。
代替方法 — スキルを使わず、指示のみを設定: プロジェクトの CLAUDE.md に以下を追加してください。
## API Selection
When implementing features that require external APIs:
1. Run `stacksherpa providers <category>` via Bash before choosing a provider
2. Pick the best match based on the returned profile, pricing, and issues
3. After integration, run `stacksherpa decide --api X --category Y --outcome positive`
カテゴリー(28)
| グループ | カテゴリー |
|---|---|
| コア | auth, database, storage, email, payments, analytics, monitoring, search |
| メッセージング | sms, push, realtime, chat |
| AI | ai, ai-audio, ai-video, ai-image, vector-db |
| インフラストラクチャ | cache, jobs, message-queue, hosting, cdn, feature-flags |
| コンテンツとデータ | cms, media, maps, web-search, finance |
各プロバイダーに含まれる情報
- 説明、ウェブサイト、ドキュメント URL、料金 URL
- 強み(開発体験、信頼性、コスト、パフォーマンス、サポート、セキュリティ、カスタマイズ性)
- 最適な対象(趣味での利用/スタートアップ/成長企業/エンタープライズ)
- 避けるべき場合/最適な場合(具体的な条件)
- 代替サービス(プロバイダー ID へのリンク)
- コンプライアンス認証(SOC2、HIPAA、GDPR、PCI-DSS、ISO27001)
- エコシステムとの親和性(vercel、supabase、aws、cloudflare など)
- セルフホスト可能かどうか
- 最新の料金情報 — プロバイダーのウェブサイトから取得
- 既知の問題 — GitHub から取得(リアクション数、重大度、回避策)
プロジェクトプロファイル
プロジェクトのルートに .stacksherpa/profile.json を作成すると、推薦内容をカスタマイズできます。
{
"project": {
"name": "my-app",
"stack": { "language": "TypeScript", "framework": "Next.js", "hosting": "Vercel" },
"scale": "startup"
},
"constraints": {
"compliance": ["SOC2"],
"budgetCeiling": { "monthly": 100 }
},
"preferences": {
"prioritize": ["dx", "reliability"],
"avoidProviders": ["sendgrid"]
}
}
~/.stacksherpa/defaults.json のグローバル設定はすべてのプロジェクトに適用されます(ローカルプロファイルが優先されます)。
データアーキテクチャ
Turso (shared, read-only for CLI clients)
providers — 450+ providers with rich metadata
pricing — versioned pricing snapshots
known_issues — scraped from GitHub (reactions, severity)
discovery_log — audit trail of bootstrap runs
Local (~/.stacksherpa/)
defaults.json — global defaults across all projects
Local (<project>/.stacksherpa/)
profile.json — project constraints & preferences
decisions.json — API selection history
データがマシンの外部に送信されることはありません。Turso カタログは読み取り専用です。
カタログを最新の状態に保つ
カタログはエージェント型パイプラインによって管理され、手作業でのデータ入力はありません。
| ステップ | スケジュール | 処理内容 |
|---|---|---|
| GitHub の課題 | 実行ごと | プロバイダーのリポジトリからリアクションが 2 件以上付いた課題を取得 |
| 料金 | 実行ごと | Firecrawl を使って、古くなったプロバイダーを最大 3 件再取得 |
| 新規プロバイダーの発見 | 1 日と 15 日 | Exa 検索で新しいプロバイダーを発見 |
| エージェントによる更新 | 毎日(AI)、月曜日(すべて) | Claude Haiku が最新のウェブデータを使ってプロバイダープロファイルを再評価 |
| 初期構築 | 毎月 1 日 | 28 カテゴリーすべてを対象に、エージェント型の探索を全面実施 |
プロバイダーのレビュー
npm run cron:review -- --list # See pending providers
npm run cron:review -- --approve pinecone qdrant # Approve specific ones
npm run cron:review -- --reject some-blog # Reject bad entries
環境変数(メンテナー向け)
| 変数 | 必要な処理 | 用途 |
|---|---|---|
TURSO_AUTH_TOKEN | すべての読み取り | 読み取り専用の Turso アクセス |
TURSO_WRITE_TOKEN | Cron ジョブ | スクレイパー/エージェント用の書き込みアクセス |
ANTHROPIC_API_KEY | エージェントによる更新、初期構築 | エージェント型パイプライン用の Claude Haiku |
EXA_API_KEY | 初期構築 | プロバイダー発見用のウェブ検索 |
FIRECRAWL_API_KEY | 料金、メタデータ | ウェブサイトのスクレイピング |
GITHUB_TOKEN | 課題の取得 | GitHub API のレート制限を緩和 |
開発
npm install
npm run build # Type-check
npm run dev -- providers email --pretty # Run CLI locally
npm test # Run tests
npm run cron:bootstrap -- --category jobs --dry-run # Bootstrap one category
npm run cron:agent-refresh -- --full # Full agent refresh
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。