mcpField
E
env-manager

env-manager

github.com/dtyq開発5.1k35 回インストール4 日前に更新
リポジトリ

env-manager について

env-managerは、SDKのツールを通じて環境変数を管理するスキルです。個人用とワークスペース用の範囲に対応し、個人用を優先して統合します。ツールの結果に平文の値は表示されません。

主な機能

  1. 01変数の設定、取得、削除
  2. 02範囲ごとの変数一覧
  3. 03個人用とワークスペース用の統合
  4. 04結果に平文の値を表示しない

活用シーン

  1. 01変数が設定済みか確認
  2. 02複数のワークスペースで使う個人用の値を保存
  3. 03現在のプロジェクト用の変数を設定

インストール

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

$npx skills add https://github.com/dtyq/magic --skill env-manager

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

詳細

環境変数マネージャー

run_sdk_snippet 内で sdk.tool.call(...) を使って set_env、get_env、unset_env、list_env を呼び出し、このスキルを使用します。

デフォルトでは、ワークスペース間で再利用できるよう、個人用の環境変数を ~/.magic/super-magic.env に保存および削除します。 現在のワークスペース/プロジェクト用の値を保存または削除するようユーザーから明示的に依頼された場合に限り、"scope": "workspace" を渡してください。

実行時の有効な環境変数は、ワークスペース用の環境変数と個人用の環境変数を統合したものです。個人用の環境変数が最も優先され、同じキーを持つワークスペース用の値を上書きします。 ツールの表示や結果に、平文の値が表示されることはありません。

1 つの環境変数を取得する

1 つのキーが設定されているかどうかだけを確認する場合は、get_env を使ってください。get_env はデフォルトで最終的な有効環境変数を照会します(scope=all)。無関係な環境変数名やマスクされた値がモデルコンテキストに公開されるため、1 つのキーを調べるだけの目的で list_env を呼び出さないでください。

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("get_env", {
    "key": "KEY_NAME",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

特定の保存スコープにキーが存在するかどうかを確認する必要がある場合に限り、"scope": "personal" または "scope": "workspace" を渡してください。

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("get_env", {
    "key": "KEY_NAME",
    "scope": "workspace",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

個人用の環境変数を設定する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("set_env", {
    "key": "KEY_NAME",
    "value": "value",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

ワークスペース用の環境変数を設定する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("set_env", {
    "key": "KEY_NAME",
    "value": "value",
    "scope": "workspace",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

個人用の環境変数を一覧表示する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("list_env", {})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

ワークスペース用の環境変数を一覧表示する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("list_env", {
    "scope": "workspace",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

有効な環境変数を一覧表示する

"scope": "all" は、ワークスペース用と個人用の環境変数を統合した、最終的に有効な環境変数を意味します。同じキーを持つ場合、個人用の環境変数がワークスペース用の環境変数を上書きします。

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("list_env", {
    "scope": "all",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

個人用の環境変数を削除する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("unset_env", {
    "key": "KEY_NAME",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

ワークスペース用の環境変数を削除する

run_sdk_snippet(python_code="""
from sdk.tool import tool

result = tool.call("unset_env", {
    "key": "KEY_NAME",
    "scope": "workspace",
})
if not result.ok:
    raise SystemExit(result.content)
print(result.content)
""")

コメント