Sciple Platform について
Sciple Platform MCPはAIコーディングセッションをScipleに接続し、エンジニアがテナント環境、サービスカタログ、可観測性、ランブック、プロジェクト、チケットを管理できます。同期済みのAWSリソースも照会できます。
主な機能
- 01環境とサービスカタログの管理
- 02可観測性ダッシュボードの作成と編集
- 03ランブックの作成とライフサイクル管理
- 04プロジェクトとチケットの管理
- 05同期済みAWSリソースの照会
活用シーン
- 01テナント環境とサービスの初期構築
- 02ダッシュボードと運用ランブックの作成
- 03プロジェクトチケットの調査と更新
- 04複数アカウントのAWS資産確認
MCP 対応
環境、サービス、ダッシュボード、ランブック、プロジェクト、チケット、クラウドリソースを管理するツールをMCPクライアントに公開します。認証にはSciple OAuth 2.0とPKCEを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx sciple-mcpSCIPLE_PLATFORM_URLSciple platform base URL (e.g. https://your.sciple.cloud). Optional — when omitted, the server uses the default platform recorded in the OAuth credential cache. Set this only when multiple platforms are cached.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sciple Platform MCP Server
ローカルの Claude から Sciple REST API を介して Sciple プラットフォームのコンテンツ(環境、サービス、オブザーバビリティダッシュボード、ランブック、プロジェクト、チケット)を作成・管理できる MCP サーバーです。エンジニアは、AI コーディングセッションを離れることなく、テナント構造の初期設定、サービスカタログの維持、ダッシュボードの作成、ランブックの作成、チケットのトリアージに利用できます。
配布チャネル:
| チャネル | 使用場所 | インストール方法 |
|---|---|---|
| PyPI | Claude Code、カスタムスクリプト、CI | uvx sciple-mcp |
| MCP Registry | レジストリプロトコルに対応するあらゆる MCP クライアント | io.github.navaganeshr/sciple-mcp によって自動的に解決されます |
Desktop Extension (.dxt) | Claude Desktop | GitHub リリースから sciple-mcp-<version>.dxt をダブルクリックします |
- PyPI:https://pypi.org/project/sciple-mcp/
- MCP Registry:https://registry.modelcontextprotocol.io/v0/servers/io.github.navaganeshr%2Fsciple-mcp
- ソース:https://github.com/navaganeshr/sciple-mcp
インストール
# Install uv (one-time, only if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh
uvx sciple-mcp は PyPI から最新バージョンを取得してキャッシュします。
認証 — OAuth のみ(v0.7.0 以降)
sciple-mcp は OAuth 2.0
with PKCE を介して Sciple プラットフォームで認証します。CLI は認証情報ヘルパーとして機能します。ブラウザーから一度ログインすると、アクセストークンとリフレッシュトークンが ~/.sciple/credentials.json(モード 0600)に保存され、MCP サーバーがそこから読み込んで自動更新します。
PAT のサポートは v0.7.0 で削除されました。 以前のバージョンでは、環境変数に
SCIPLE_API_TOKEN=sciple_pat_…を指定できました(stdio モード)。この方法は廃止されており、MCP サーバーが認識する認証情報はsciple-mcp loginが発行する OAuth JWT のみです。プラットフォーム上の個人用アクセストークンに変更はなく、スクリプト、CI、/api/v1/*への直接 REST 呼び出しでは引き続き使用できます。
1. ログインする(プラットフォームごとに初回のみ)
sciple-mcp login --platform-url https://your.sciple.cloud
ブラウザーが開くので、同意ページで[Approve]をクリックすると、CLI がコールバックを取得して認証情報を書き込みます。--tenant-id/--scope は不要です。JWT には、ダッシュボードに現在表示されているテナントでの完全なロールが引き継がれます。
2. Claude に接続する
Sciple プラットフォーム自体が /mcp をホストするようになったため、プラットフォームに直接接続する Streamable HTTP が推奨される構成です。
# Claude Code (HTTP transport — preferred)
claude mcp add-json sciple-platform "$(cat <<EOF
{
"type": "http",
"url": "https://your.sciple.cloud/mcp",
"headers": { "Authorization": "Bearer $(sciple-mcp print-token)" }
}
EOF
)"
現在 stdio MCP にしか対応していない Claude Desktop ビルドでは、stdio モードを使用してください。同じ認証情報を使い、PAT は不要です。
{
"mcpServers": {
"sciple-platform": {
"command": "uvx",
"args": ["sciple-mcp"],
"env": {
"SCIPLE_PLATFORM_URL": "https://your.sciple.cloud"
}
}
}
}
SCIPLE_PLATFORM_URL は省略可能で、キャッシュされたプラットフォームが複数ある場合にのみ必要です。stdio モードは ~/.sciple/credentials.json を直接読み込みます。
3. 管理/ローテーション
sciple-mcp print-token # current valid JWT (auto-refreshes near expiry)
sciple-mcp logout # forget local cache
sciple-mcp logout --revoke # also revoke the refresh token server-side
ダッシュボードの Profile → Connected apps からいつでも取り消せます。
レガシー:sciple-mcp serve(ローカル HTTP サーバー)
クライアントがプラットフォームのホスト型 /mcp エンドポイントにアクセスできないエアギャップ環境向けに、sciple-mcp serve では引き続き、プラットフォームの JWKS に対して OAuth JWT を再検証するローカルの Streamable HTTP MCP サーバーを提供します。認証情報と手順は同じで、異なるのはネットワーク構成のみです。serve/install/uninstall については --help を参照してください。
ツール
クラウドインベントリ(読み取り専用)
| ツール | 説明 |
|---|---|
list_aws_accounts | テナントに接続されている AWS アカウントを一覧表示します(account_id、名前、AWS 番号、リージョン、支払元フラグ) |
list_cloud_resource_types | アカウント内の AWS サービス 1 つについて、同期済みのリソースタイプと行数を一覧表示します |
query_cloud_resources | 同期済みの任意の AWS リソーステーブルからキャッシュ済みの行を取得します(ページネーション、リージョンフィルター) |
list_ec2_instances | 1 つのアカウントまたはすべてのアカウントにわたる EC2 インスタンスを要約します(状態/タイプ/ID/名前/IP) |
これらのツールはプラットフォームの最後に同期された AWS データを読み取ります。AWS に直接アクセスすることも、何かを変更することもありません。使用するには、認証情報に cloud.view 権限が必要です。
例 — AWS 環境を調べる
平易な言葉で Claude に質問すると、ツールを連携して実行します。
あなた: すべての AWS アカウントで、どの EC2 インスタンスが実行中ですか?
Claude は list_ec2_instances を呼び出し(account_id を指定しない場合、接続済みのすべてのアカウントを検索します)、結果を要約します。
45 EC2 instances across 4 accounts.
### Production (account_id=LlDZzq) — 13 instances (12 running, 1 shutting-down)
[running] m5.2xlarge i-047323d5f680e822f portal-apps-ondemand (10.40.2.11)
[running] t2.micro i-00fcaed2de8131fd1 prod-nat-instance-1a (10.40.0.9)
...
単一のアカウントや別のリソースタイプを詳しく調べる場合は、まず同期済みの内容を確認してから、クエリを実行します。
あなた: Production アカウントの RDS データベースを表示してください。
1. list_aws_accounts → Production has account_id "LlDZzq"
2. list_cloud_resource_types( → aws_rds_db_instance: 4
account_id="LlDZzq", service="rds")
3. query_cloud_resources( → 4 rows (engine, class, status, endpoint…)
account_id="LlDZzq", service="rds",
resource_type="aws_rds_db_instance")
query_cloud_resources は、サポートされている 19 のサービス(ec2、rds、s3、vpc、iam、lambda、eks、ecs、ebs、elasticache、route53、cloudfront、dynamodb、ecr、efs、および code* スイート)のすべてに対応する汎用アクセサーです。不明な service を渡すと、有効なサービスの一覧が返されます。region を使って絞り込み(S3 の場合は "global")、大きなテーブルは page / page_size(≤500)を使って順に取得します。
環境
| ツール | 説明 |
|---|---|
list_environments | テナント内のすべての環境を一覧表示します(ID、名前、スラッグ、グループ、デフォルトフラグ) |
create_environment | 任意のグループ割り当てとデフォルトフラグを指定して環境を作成します |
update_environment | 環境の名前、説明、グループ、または並べ替え順を更新します |
delete_environment | ID を指定して環境を削除します(取り消し不可) |
list_environment_groups | 環境グループを一覧表示します(ID、名前、スラッグ、AWS アカウントの紐付け) |
create_environment_group | 任意の AWS アカウントの紐付けを指定して環境グループを作成します |
サービス
| ツール | 説明 |
|---|---|
list_services | テナントのカタログ内にあるすべてのサービスを一覧表示します(ID、名前、スラッグ) |
create_service | 種別、言語、SCM プロバイダー、リポジトリを指定して、カタログにサービスを作成します |
update_service | サービスのメタデータ、ライフサイクル、オーナー、タグ、リンク、または環境との関連付けを更新します |
delete_service | ID を指定してカタログからサービスを削除します(取り消し不可) |
オブザーバビリティ
| ツール | 説明 |
|---|---|
list_dashboards | テナント内のすべてのオブザーバビリティダッシュボードを一覧表示します(ID、名前、パネル数) |
get_dashboard | ダッシュボードの名前、説明、パネル一覧を取得します |
create_dashboard | 任意の説明を指定して、新しいダッシュボードを作成します |
update_dashboard | ダッシュボードの名前と説明を置き換えます(完全な PUT。名前は必須) |
delete_dashboard | ダッシュボードとそのすべてのパネルを削除します(取り消し不可) |
add_panel | ダッシュボードにパネルを追加します。エンドツーエンドで5 種類の形状をサポートしています(いずれか 1 つを選択):PromQL(promql)、CloudWatch メトリクス(cw_namespace+cw_metric_name+cw_stat と任意の cw_dimensions/cw_period)、ElasticSearch/OpenSearch ログ(es_index と任意の kql_filter)、CloudWatch Logs(cw_log_group と任意の cw_filter_pattern)、またはテキスト(text_content と任意の text_background)。ログパネルでは表示オプション(log_columns、log_limit、log_wrap_message、log_expandable_rows、log_highlight_by_severity、log_live_tail)も指定できます。メトリクスパネルとログパネルでは、必ず datasource_id を渡してください。 |
delete_panel | ダッシュボードからパネルを削除します(取り消し不可) |
ランブック
| ツール | 説明 |
|---|---|
list_runbooks | ライフサイクルのステータスとセル数を含め、テナント内のすべてのランブックを一覧表示します |
get_runbook | セル(名前、ステータス、セルごとのコンテンツのプレビュー)を含むランブックを取得します |
create_runbook | 下書きステータスで新しいランブックを作成します |
add_cell | 任意の k8s/ecs/ec2 ターゲットを指定して、markdown / shell / http セルをランブックに追加します |
update_cell | セルのコンテンツまたは実行ターゲットを更新します |
delete_cell | ランブックからセルを削除します |
reorder_cells | ランブックのすべてのセルの実行順を設定します |
promote_runbook | ランブックのライフサイクルを進めます:draft → reviewed → standard |
deprecate_runbook | ランブックを非推奨としてマークします |
ランブックのライフサイクル:draft → reviewed → standard。非推奨への変更は、どの状態からでも一方向のみです。
プロジェクト
| ツール | 説明 |
|---|---|
list_projects | テナント内のすべてのプロジェクトを一覧表示します(id、key、name、classification) |
get_project | 1つのプロジェクトの詳細を取得します(owner、description、classification) |
create_project | 新しいプロジェクトを作成します(name と「PLAT」のような大文字の key。classification と owner は任意) |
list_project_members | プロジェクトメンバーの user_id とロールを一覧表示します(担当者の検索に使用) |
list_project_issue_types | プロジェクトの課題タイプを一覧表示します(create_project_ticket の前に必須) |
チケット
| ツール | 説明 |
|---|---|
list_tickets | 任意のフィルター(service、assignee、status、priority、type、tag、全文検索 q)を指定して、テナント内のチケットを一覧表示します |
get_ticket | 1つのチケットの全詳細とアクティビティ件数を取得します(内部 id を指定) |
create_ticket | サービスレベルのチケットを作成します(プロジェクトには紐づきません)— tickets.manage |
update_ticket | チケットを PATCH します — status、priority、assignee、dates、tags、parent を変更します |
comment_on_ticket | チケットにコメントを追加します — tickets.comment |
link_tickets | 2つのチケットを関連付けます(blocks / relates_to / duplicates) |
list_project_tickets | プロジェクト内のチケットを一覧表示します |
get_project_ticket | シーケンス番号(KEY-NNN の NNN)でプロジェクトチケットを取得します |
create_project_ticket | プロジェクト内にチケットを作成します — 「KEY-NNN」形式の表示 ID を返します。ほとんどのチケット作成で推奨されます。custom_fields({field_id: value} の JSON 文字列)をサポートします。tickets.create が必要です。 |
チケットのステータス:open → in_progress → done(または、どの状態からでも cancelled)。優先度:low / medium / high / urgent。重要度(任意):minor / major / critical。タイプ:epic / story / task / subtask / bug。
セキュリティ
サーバーが実行できる操作は、PAT のスコープで許可されているものに限られます。該当する manage 権限なしで書き込みを試みると、API から 403 が返され、Claude の応答ではエラーとして表示されます。PAT は Sciple ダッシュボードの Profile → Access tokens からいつでも取り消せます。取り消すと、設定を変更することなくサーバーのアクセスが直ちに遮断されます。
開発
サーバー自体を開発するには:
git clone https://github.com/navaganeshr/sciple-mcp
cd sciple-mcp
uv sync --all-groups
uv run python -m pytest -q
リリースは、PyPI Trusted Publishing(OIDC)を使用する GitHub Actions ワークフローによって、タグをトリガーとして実行されます。リリースを作成するには:
pyproject.tomlのversionを更新します。- コミットし、
git tag vX.Y.Z && git push origin vX.Y.Zを実行します。 - Actions UI で
pypi環境へのデプロイを承認します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。