mcpField
A
api-credentials

api-credentials

github.com/oaustegardセキュリティ15755 回インストール1 日前に更新
リポジトリ

api-credentials について

Anthropic、Google、GitHubのAPI認証情報を保存・取得する、非推奨のスキルです。ローカル開発や後方互換性向けに記載されており、ホスト型スキルではプロジェクトのナレッジファイルを使うよう案内しています。

主な機能

  1. 013社の認証情報を取得
  2. 02設定ファイルまたは環境変数に対応
  3. 03認証情報の設定状態を確認
  4. 04ログ用のマスキング済みキー
  5. 05認証情報の安全な管理方法

活用シーン

  1. 01APIを呼び出す旧スキルのサポート
  2. 02ローカル開発環境での認証情報管理
  3. 03サービスのAPIキー設定状態の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oaustegard/claude-skills --skill api-credentials

インストール後、Claude Code で/api-credentialsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
CHANGELOG.md
README.md
assets/
config.json.example
scripts/
credentials.py

詳細

API 認証情報の管理

🚨 非推奨:ホスト型スキル環境では、このスキルは不要になりました。

新しい方法: スキルはプロジェクトのナレッジファイルから認証情報を直接読み取るようになりました。

  • ANTHROPIC_API_KEY.txt、GOOGLE_API_KEY.txt、GITHUB_API_KEY.txt(推奨)
  • または API_CREDENTIALS.json(統合ファイル)

更新されたスキルのドキュメントを参照してください。

従来の用途のみ: このスキルは、ローカルの開発環境や後方互換性のために、引き続き役立つ場合があります。


⚠️ 警告:これは個人用スキルです。実際の認証情報を含めて共有またはコミットしないでください!

このスキルは、複数のプロバイダーの API 認証情報を安全に保存し、取得するためのものです。外部 API をプログラムから呼び出す必要がある他のスキルが依存するコンポーネントとして機能します。

対応プロバイダー

  • Anthropic(Claude API)
  • Google(Gemini API、Vertex AI など)
  • GitHub(GitHub API、パーソナルアクセストークン)
  • その他のプロバイダーにも拡張可能

目的

  • 複数の API プロバイダーの認証情報を一元的に保存
  • 依存するスキル向けの安全な取得方法
  • 認証情報が不足している場合の明確なエラーメッセージ
  • 複数の認証情報ソース(設定ファイル、環境変数)に対応

他のスキルからの使用方法

API を呼び出す必要があるスキルは、このスキルを参照してください。

Anthropic Claude API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_anthropic_api_key

try:
    api_key = get_anthropic_api_key()
    # Use api_key for Claude API calls
except ValueError as e:
    print(f"Error: {e}")
Google Gemini API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_google_api_key

try:
    api_key = get_google_api_key()
    # Use api_key for Gemini API calls
except ValueError as e:
    print(f"Error: {e}")
GitHub API
import sys
sys.path.append('/home/user/claude-skills/api-credentials/scripts')
from credentials import get_github_api_key

try:
    api_key = get_github_api_key()
    # Use api_key for GitHub API calls
except ValueError as e:
    print(f"Error: {e}")

セットアップ手順

オプション 1:設定ファイル(推奨)
  1. サンプル設定をコピーします。
cp /home/user/claude-skills/api-credentials/assets/config.json.example \
   /home/user/claude-skills/api-credentials/config.json
  1. config.json を編集し、API キーを追加します。
{
  "anthropic_api_key": "sk-ant-api03-...",
  "google_api_key": "AIzaSy...",
  "github_api_key": "ghp_..."
}
  1. 設定ファイルが .gitignore に含まれていることを確認します(設定済みです)。
オプション 2:環境変数

必要なプロバイダーの環境変数を設定します。

# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-api03-..."

# Google Gemini
export GOOGLE_API_KEY="AIzaSy..."

# GitHub
export GITHUB_TOKEN="ghp_..."
# or
export GITHUB_API_KEY="ghp_..."

永続化するには、シェルのプロファイル(/.bashrc、/.zshrc)に追加してください。

優先順位

認証情報の取得では、プロバイダーごとに次の優先順位が適用されます。

  1. スキルディレクトリ内の config.json(最優先)
  2. 環境変数(ANTHROPIC_API_KEY または GOOGLE_API_KEY)
  3. どちらも利用できない場合は ValueError を発生

セキュリティに関する注意

  • 実際の認証情報を含む config.json は絶対にコミットしないでください
  • config.json ファイルは .gitignore に含めてください
  • バージョン管理の対象にするのは config.json.example のみです
  • 共有環境や本番環境では環境変数の使用を検討してください
  • API キーは定期的にローテーションしてください
  • スキルは完全な API キーをログに記録したり、表示したりしないでください

ファイル構成

api-credentials/
├── SKILL.md              # This file
├── config.json           # YOUR credentials (gitignored)
├── scripts/
│   └── credentials.py    # Credential retrieval module
└── assets/
    └── config.json.example  # Template for users

エラー処理

認証情報が見つからない場合、モジュールは明確な案内を含む ValueError を発生させます。

  • config.json の配置場所
  • 環境変数の設定方法
  • キーを生成するためのプロバイダーコンソールへのリンク

スキルでは ValueError 例外を捕捉し、適切に処理してください。

利用可能な関数

get_anthropic_api_key() → str

  • Anthropic API キーを返します
  • 設定されていない場合は ValueError を発生させます

get_google_api_key() → str

  • Google API キーを返します
  • 設定されていない場合は ValueError を発生させます

get_github_api_key() → str

  • GitHub API トークン(パーソナルアクセストークン)を返します
  • 設定されていない場合は ValueError を発生させます

get_api_key_masked(api_key) → str

  • 安全にログへ記録できるよう、マスクした値を返します
  • 例:"sk-ant-...xyz"

verify_credential(provider) → bool

  • プロバイダーが設定されているか確認します
  • 例外を発生させずに True/False を返します
  • プロバイダー:'anthropic'、'google'、'github'

新しいプロバイダーの追加

他のプロバイダーに対応するには、次の手順を実行してください。

  1. assets/config.json.example にフィールドを追加します
  2. scripts/credentials.py に取得関数を追加します。
    def get_provider_api_key() -> str:
        # Follow existing pattern with config file + env var
        pass
    
  3. verify_credential() のマッピングに追加します
  4. このドキュメントを更新します

トークン効率

このスキルの読み込みに使用するトークンは約 300 ですが、外部 API を呼び出す複数のスキルで認証情報を管理するコードを繰り返し記述する必要がなくなります。すべての認証情報処理に、一貫した単一のパターンを提供します。

コメント