mcpField
S
smplkit MCP Server

smplkit MCP Server

リモート
github.com/smplkitクラウド・インフラ05 日前に更新
リポジトリ

smplkit MCP Server について

smplkit MCP Serverは、AIエージェントからsmplkitのフィーチャーフラグ、設定、ログ、監査、スケジュールジョブを操作するホスト型MCPサーバーです。エージェントでプラットフォーム設定を管理するチーム向けで、部分変更の指定やジョブ実行・監査転送先の検証ができます。

主な機能

  1. 01フィーチャーフラグと対象設定の管理
  2. 02環境別設定の変更
  3. 03実行時ログレベルの変更
  4. 04監査イベント検索と転送先の設定
  5. 05スケジュールHTTPジョブの作成と実行
  6. 06プラットフォーム環境の一覧表示

活用シーン

  1. 01本番環境で対象ユーザーに機能を有効化
  2. 02エージェントからステージング設定を更新
  3. 03デバッグ中のログレベル引き上げ
  4. 04監査転送先やジョブの接続先をテスト

MCP 対応

ホスト型MCPサーバー `https://mcp.smplkit.com/api/mcp` は、smplkitのプラットフォームAPIを操作するツールを提供します。MCPクライアントはOAuthログインまたはAPIキーで認証でき、認証情報はリクエストごとに検証され、キャッシュされません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.smplkit.com/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.smplkit.com/api/mcp認証が必要

ツール

詳細

smplkit MCP サーバー

smplkit/mcp MCP server

ホスト型でエージェントネイティブな Model Context Protocol サーバーです。AI エージェント(Claude Code、Claude Desktop、Cursor、 …)が、あなたに代わって smplkit プラットフォーム全体を操作できるゲートウェイです。 チャットから離れる必要はありません。

1 つのサーバーで、プラットフォーム全体を操作できます。

  • フラグ — 環境ごとの値とターゲティングに対応した機能フラグです。
  • 設定 — 環境ごとのオーバーライドに対応した、キー指定の型付き設定です。
  • ロギング — 環境ごとにランタイムのログレベルを変更できます。
  • 監査 — 監査ログを検索し、SIEM フォワーダーを接続できます。
  • ジョブ — レスポンスを記録する、スケジュール設定可能な HTTP ジョブです(cron、単発、またはオンデマンド)。

接続したら、エージェントに 「prod のエンタープライズユーザーに新しいチェックアウト機能を有効にして」、 「ステージングのデータベースホストを設定して」、「prod の SQL ロガーを DEBUG に上げて」、 「監査イベントを Datadog にストリーミングして」、または *「毎朝 7 時に自分のエンドポイントへ POST して」*と伝えてください。 変更を実行し、動作を確認して、ライブ状態に基づいて追加の質問にも答えます。

smplkit の製品 API に接続する薄い ステートレスな HTTP クライアントであり、独自の認証情報は保持しません。

一度接続するだけ

1. サーバーを追加してサインインする

サーバーは https://mcp.smplkit.com/api/mcp にあります。MCP クライアントを この URL に接続してください。初回接続時に、クライアントがブラウザーを開いて 一度だけサインインするよう求めます(Google または Microsoft で続行、標準 OAuth)。 その後は自動的に再接続し、アクセスを更新します。発行、コピー、ローテーションが必要なキーはありません。

Claude Code(CLI):

claude mcp add --transport http smplkit https://mcp.smplkit.com/api/mcp

…または .mcp.json に記述します。

{
  "mcpServers": {
    "smplkit": {
      "type": "http",
      "url": "https://mcp.smplkit.com/api/mcp"
    }
  }
}

Cursor(~/.cursor/mcp.json またはプロジェクトの .cursor/mcp.json):

{
  "mcpServers": {
    "smplkit": {
      "url": "https://mcp.smplkit.com/api/mcp"
    }
  }
}

Claude Desktop(claude_desktop_config.json)— Desktop は mcp-remote を介して リモートサーバーに接続します。ブラウザーが開いて一度だけサインインし、接続がキャッシュされます。

{
  "mcpServers": {
    "smplkit": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.smplkit.com/api/mcp"]
    }
  }
}
固定キーを使いたい場合

CI、スクリプト、ヘッドレスクライアント、または smplkit SDKs を使ったコード作成など、対話的でない用途では、ブラウザーを使わず、 API キーをベアラートークンとして認証します。 **https://smplkit.com**(Google または Microsoft の SSO、メール認証は即時完了)でサインアップし、 コンソールで API key を作成して、 Authorization: Bearer YOUR_SMPLKIT_API_KEY として送信してください(カスタムの X-Smplkit-Api-Key ヘッダーも使用できます)。 SDK は同じキーを SMPLKIT_API_KEY から読み込みます。たとえば、上記の設定に headers ブロックを追加します。

{
  "mcpServers": {
    "smplkit": {
      "type": "http",
      "url": "https://mcp.smplkit.com/api/mcp",
      "headers": { "Authorization": "Bearer ${SMPLKIT_API_KEY}" }
    }
  }
}
2. エージェントに依頼する

「ブール型フラグ new-checkout をデフォルトでオフにして作成し、prod ではエンタープライズユーザーだけにオンにして」

「環境の一覧を表示してから、staging の database.host を db-staging.internal に設定して」

「デバッグ中は本番環境の sqlalchemy.engine ロガーを DEBUG に上げて、その後リセットして」

「https://http-intake.logs.datadoghq.com/... がサンプルを受け付けるかテストしてから、監査イベント用の Datadog フォワーダーを作成して」

「毎朝ニューヨーク時間の午前 7 時に https://api.example.com/cache/warm へ POST して、動作確認のために今すぐ実行して」

ツール

すべてのツールで、意図を表す動詞(list_*、get_*、create_*、set_*、 delete_*)を使用し、JSON:API のエンベロープ、環境ごとのネスト構造、 全置換の PUT を、部分的な意図を指定する呼び出しの背後に隠しています。

機能ツール
フラグcreate_flag、list_flags、get_flag、set_flag、delete_flag
設定create_config、list_configs、get_config、set_config_value、delete_config
ロギングset_log_level、list_loggers、get_logger、reset_logger
監査query_events、get_event、list_forwarders、create_forwarder、test_forwarder、delete_forwarder
ジョブcreate_job、list_jobs、get_job、update_job、delete_job、run_job、list_runs、get_run
プラットフォームlist_environments

重要な動作をいくつか紹介します。

  • set_flag/set_config_value/set_log_level は読み取り・変更・書き込みを行います。 1 つの環境に対する部分的な変更を指定すると、ツールがそれ以外の内容を保持します。
  • list_environments で、すべての set_* ツールとジョブで有効な環境ターゲット(production、staging など)を確認できます。
  • 信頼する前に動作を確かめましょう。 run_job はジョブを 1 回実行して取得した応答を返し、test_forwarder は保存する前に SIEM の送信先をドライランします。
  • create_job は種類を推測します。 cron の schedule を指定すると定期実行、run_at の日時を指定すると単発実行、どちらも指定しないと手動実行になります。種類を設定する必要はありません。

同梱の SKILL.md では、エージェント向けにすべての機能を解説しています。

パブリックインターネットの制約

smplkit はクラウドからジョブのターゲットとフォワーダーの送信先を呼び出すため、それらの URL はパブリックインターネットから到達可能でなければなりません。localhost やプライベートアドレスでは実行されません。ローカルサーバーをターゲットにするには、デプロイ済みの URL を指定するか、トンネルで公開し(cloudflared tunnel --url http://localhost:PORT または ngrok http PORT)、シークレットの認証ヘッダーを設定してください。

開発

python3.13 -m venv .venv && . .venv/bin/activate
pip install -r requirements-test.txt
pytest                                          # unit tests (acceptance deselected)
ruff check src tests

サーバーをローカルで実行します。

PYTHONPATH=src uvicorn smplkit_mcp.app:app --host 0.0.0.0 --port 8000
# MCP endpoint:  http://localhost:8000/api/mcp
# Health check:  http://localhost:8000/health

設定(環境変数)— 各製品のベースホストは個別に設定できます。これは SDK の base_domain パターンと同様です。

  • JOBS_BASE_DOMAIN/FLAGS_BASE_DOMAIN/CONFIG_BASE_DOMAIN/ LOGGING_BASE_DOMAIN/AUDIT_BASE_DOMAIN/APP_BASE_DOMAIN — 各製品 API のホスト(デフォルトは <product>.smplkit.com。APP_* は list_environments に使用されます)。
  • *_SCHEME — https(デフォルト)または http。
  • *_BASE_URL — ベース URL 全体を上書きします(例:http://localhost:8002)。上記 2 つより優先されます。ローカルプラットフォームとテストで使用します。
受け入れテスト

tests/test_acceptance.py は一時的な検証済みアカウントを用意し、実際の製品 API に対してすべてのツールをエンドツーエンドで実行します。これには、フラグの作成・設定・取得・削除、設定値の設定と読み取り、ログレベルの設定と一覧表示、イベントのクエリ、フォワーダーの作成・テスト・削除、環境の一覧表示、および Jobs の 8 つのツールが含まれます。最後に作成したデータをクリーンアップします。これらのテストには smplkit 内部の管理者認証情報が必要なため、管理者キーが利用可能な場合(ADMIN_API_KEY 環境変数または ~/.smplkit の [admin] プロファイル)を除いて自動的にスキップされます。外部のコントリビューターは無視してかまいません。ユニットテストには認証情報は不要です。明示的に実行するには、次のコマンドを使用します。

pytest -m acceptance
# point at a non-prod platform with <PRODUCT>_BASE_URL=...

アーキテクチャ

  • FastMCP を基盤とするステートレスな Python サービスです。データベースも、独自のプラットフォーム認証情報も保持しません。
  • 認証はリクエストごとに行われます。呼び出し元が OAuth でサインインする場合も API キーを送信する場合も、認証情報はリクエストごとに検証され、各製品 API へのアクセスに使用されます。キャッシュやログへの記録は行われません。
  • 製品(flags、config、logging、audit、environments)ごとに、薄い JSON:API HTTP クライアントを 1 つ用意し、それぞれに個別に設定可能なベースホストを指定します。
  • MCP エンドポイントは、ステートレスな JSON 応答トランスポート(長時間接続の SSE なし)を使用して /api/mcp で提供されます。そのため、アイドルタイムアウトの短いプロキシやロードバランサーを経由しても正しく動作します。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。