mcpField
🔌
🔌 Itential - MCP Server

🔌 Itential - MCP Server

ロヌカル
github.com/itentialクラりド・むンフラ36今日曎新

🔌 Itential - MCP Server に぀いお

Itential - MCP Serverは、MCPクラむアントずLLMをItential Platformに接続し、ネットワヌク自動化やプラットフォヌム運甚を可胜にしたす。タグによるツヌル遞択ず蚭定可胜な通信方匏により、プラットフォヌム゚ンゞニアや開発者が甚途に応じおアクセスを調敎できたす。

䞻な機胜

  1. 01ネットワヌク機噚の蚭定ずコマンド実行
  2. 02ワヌクフロヌの実行ずゞョブ監芖
  3. 03プラットフォヌムの健党性ずコンポヌネント管理
  4. 04リ゜ヌスずむンスタンスのラむフサむクル管理
  5. 05タグによるツヌルの絞り蟌みず怜出
  6. 06耇数の通信方匏ず認蚌オプション

掻甚シヌン

  1. 01機噚蚭定を適甚しおコンプラむアンスを確認する
  2. 02ネットワヌクワヌクフロヌを実行しおゞョブ状況を調べる
  3. 03プラットフォヌムの健党性を監芖しアプリケヌションを管理する
  4. 04圹割やタスクに応じお利甚可胜なツヌルを制限する

MCP 察応

MCPサヌバヌは、ネットワヌク自動化、ワヌクフロヌオヌケストレヌション、健党性監芖、むンテグレヌション管理、リ゜ヌスのラむフサむクル管理に関するItential Platformのツヌルを提䟛したす。stdioずStreamable HTTPに察応し、旧匏のSSEも利甚できたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

PyPI version Python Version License: GPL v3 Build Status Coverage MCP Protocol

🔌 Itential - MCP サヌバヌ

LLM を Itential Platform に接続するための包括的なツヌルを提䟛する Model Context Protocol (MCP) サヌバヌです。AI アシスタントによるネットワヌク自動化の管理、ワヌクフロヌのオヌケストレヌション、プラットフォヌムの健党性の監芖、高床なネットワヌク操䜜を可胜にしたす。

🎯 察象ナヌザヌ

プラットフォヌム゚ンゞニア

AI を掻甚した自動化を通じお、むンフラストラクチャの管理、システムの健党性の監芖、デバむスの蚭定、ネットワヌク操䜜のオヌケストレヌションを行いたす。

開発者

自動化ワヌクフロヌの構築、倖郚システムずの連携、アプリケヌションラむフサむクルの管理、プラットフォヌム機胜の拡匵を行いたす。

📒 䞻な機胜

コア機胜
  • 79 個の自動化ツヌルデフォルトで 78 個が有効。実隓的なツヌル 1 個はオプトむンネットワヌク自動化のあらゆるニヌズに察応する、13 のタグカテゎリヌにわたる包括的なツヌルキット
  • 高床なツヌル遞択柔軟なタグ付けシステムを䜿甚しお、利甚可胜なツヌルをフィルタリングおよび制埡
  • 耇数のトランスポヌト方匏stdio および HTTPStreamable HTTP、掚奚トランスポヌトに察応し、オプションで TLS 暗号化を利甚可胜。レガシヌの SSE トランスポヌトも利甚できたすが、非掚奚です
  • 動的なツヌル怜出コヌドを倉曎せずにツヌルを自動怜出しお登録
  • 柔軟な認蚌Itential Platform の基本認蚌、OAuth 2.0、JWT、ロヌルベヌスアクセスに察応
  • 包括的な蚭定CLI パラメヌタヌ、環境倉数、たたは蚭定ファむルを䜿甚
  • ロヌルベヌスアクセスプラットフォヌム管理者、ネットワヌク゚ンゞニア、開発者向けにカスタマむズされたツヌル蚭定
ネットワヌク自動化ずデバむス管理
  • デバむス蚭定蚭定の適甚、デバむス蚭定のバックアップ、珟圚の蚭定の取埗
  • コマンド実行ルヌル怜蚌を行いながら、耇数のデバむスで単䞀のコマンドたたはコマンドテンプレヌトを実行
  • デバむスグルヌプ効率的な運甚のために論理デバむスコレクションを䜜成および管理
  • コンプラむアンス管理コンプラむアンス蚈画の自動実行ず詳现なレポヌト䜜成
  • ゎヌルデン蚭定バヌゞョン管理を備えた階局型テンプレヌトベヌスの蚭定管理
ワヌクフロヌずオヌケストレヌション
  • ワヌクフロヌ実行API ゚ンドポむント経由でワヌクフロヌを開始し、実行状況を監芖
  • ゞョブ管理包括的なステヌタス、メトリクス、タスク詳现を䜿っおワヌクフロヌゞョブを远跡
  • ワヌクフロヌの公開ワヌクフロヌを倖郚から利甚できる REST API ゚ンドポむントに倉換
  • テンプレヌト管理Jinja2 および TextFSM テンプレヌトを䜜成、曎新、実行
  • パフォヌマンスメトリクスワヌクフロヌ最適化のためのゞョブおよびタスク実行の詳现なメトリクス
プラットフォヌム運甚ず監芖
  • 健党性監芖システムリ゜ヌス、アプリケヌション、アダプタヌを含むプラットフォヌムの健党性をリアルタむムで監芖
  • コンポヌネントのラむフサむクルステヌタスを監芖しながら、アプリケヌションずアダプタヌを起動、停止、再起動
  • 統合管理OpenAPI ベヌスの統合モデルを䜜成および管理
  • ゲヌトりェむサヌビスGateway Manager を通じお倖郚サヌビスAnsible、Python スクリプト、OpenTofuを実行
ラむフサむクルずリ゜ヌス管理
  • リ゜ヌスモデルラむフサむクルワヌクフロヌを備えた、JSON Schema ベヌスのリ゜ヌス構造を定矩したす
  • むンスタンス管理状態远跡機胜を備えた、リ゜ヌスむンスタンスの完党な CRUD 操䜜を行いたす
  • アクション実行包括的な実行履歎ずずもに、ラむフサむクルアクションを実行したす
  • デヌタ怜蚌リ゜ヌスデヌタずアクションパラメヌタヌを、スキヌマに基づいお怜蚌したす

🔍 芁件

テスト枈み Python バヌゞョン

このプロゞェクトは、以䞋の Python バヌゞョンに察しお自動的にテストされたす

  • Python 3.10
  • Python 3.11
  • Python 3.12
  • Python 3.13

🔧 むンストヌル

itential-mcp アプリケヌションは、PyPI を䜿甚しおむンストヌルするか、゜ヌスから盎接実行できたす。

PyPI からのむンストヌル

PyPI からむンストヌルするには、pip を䜿甚したす

pip install itential-mcp
ロヌカル開発

リポゞトリをロヌカル環境にクロヌンしお、MCP サヌバヌを操䜜するこずもできたす。このプロゞェクトでは uv ず make を䜿甚するため、䞡方のツヌルをむンストヌルし、環境内で䜿甚できるようにする必芁がありたす。

以䞋のコマンドで開始できたす。

git clone https://github.com/itential/itential-mcp
cd itential-mcp
make build

開発時は、uv を䜿甚しおサヌバヌを盎接実行できたす

# Run with stdio transport (default)
uv run itential-mcp run

# Run with HTTP transport (Streamable HTTP, recommended for web integration)
uv run itential-mcp run --transport http --host 0.0.0.0 --port 8000

# Run with specific configuration
uv run itential-mcp run --include-tags "health,configuration_manager" --exclude-tags "experimental"
コンテナヌの䜿甚
GitHub Container Registry からプル

最新リリヌスをプルしお実行したす

# Pull the latest image
docker pull ghcr.io/itential/itential-mcp:latest

# Run with HTTP transport (Streamable HTTP, recommended)
docker run -p 8000:8000 \
  --env ITENTIAL_MCP_SERVER_TRANSPORT=http \
  --env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
  --env ITENTIAL_MCP_SERVER_PORT=8000 \
  --env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
  --env ITENTIAL_MCP_PLATFORM_USER=your-username \
  --env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
  ghcr.io/itential/itential-mcp:latest

# Or with OAuth authentication
docker run -p 8000:8000 \
  --env ITENTIAL_MCP_SERVER_TRANSPORT=http \
  --env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
  --env ITENTIAL_MCP_SERVER_PORT=8000 \
  --env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
  --env ITENTIAL_MCP_PLATFORM_CLIENT_ID=CLIENT_ID \
  --env ITENTIAL_MCP_PLATFORM_CLIENT_SECRET=CLIENT_SECRET \
  ghcr.io/itential/itential-mcp:latest

# Run with stdio transport (for MCP clients)
docker run -i \
  --env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
  --env ITENTIAL_MCP_PLATFORM_USER=your-username \
  --env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
  ghcr.io/itential/itential-mcp:latest
コンテナヌむメヌゞをロヌカルでビルド

゜ヌスからビルドしお実行したす

# Build the container image
make container

# Run the locally built container
docker run -p 8000:8000 \
  --env ITENTIAL_MCP_SERVER_TRANSPORT=http \
  --env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
  --env ITENTIAL_MCP_SERVER_PORT=8000 \
  --env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
  --env ITENTIAL_MCP_PLATFORM_USER=your-username \
  --env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
  itential-mcp:devel

🚀 クむックスタヌト

1. サヌバヌをむンストヌル
pip install itential-mcp
2. プラットフォヌム接続を蚭定

Itential Platform の認蚌情報を蚭定したす

export ITENTIAL_MCP_PLATFORM_HOST="your-platform.example.com"
export ITENTIAL_MCP_PLATFORM_USER="your-username"
export ITENTIAL_MCP_PLATFORM_PASSWORD="your-password"
3. サヌバヌを起動
# Basic stdio transport (default)
itential-mcp run

# Or with HTTP transport (Streamable HTTP, recommended for web clients)
itential-mcp run --transport http --host 0.0.0.0 --port 8000
4. MCP クラむアントを蚭定

統合ガむドに埓っお、Claude、Continue.dev、その他の MCP クラむアントを接続したす。

📝 基本的な䜿い方

デフォルト蚭定stdio トランスポヌトで MCP サヌバヌを起動したす

itential-mcp run

HTTP トランスポヌトStreamable HTTP、りェブ連携に掚奚で起動したす

itential-mcp run --transport http --host 0.0.0.0 --port 8000

SSE トランスポヌト非掚奚 - レガシヌの HTTP+SSE。http を掚奚で起動したす

itential-mcp run --transport sse --host 0.0.0.0 --port 8000
䞀般的なオプション

グロヌバルオプションは、コマンド名の前埌どちらにも指定できたす。

オプション説明デフォルト
--config蚭定ファむルぞのパスなし

䟋

# Both of these work identically:
itential-mcp --config config.conf run
itential-mcp run --config config.conf
サヌバヌオプション
オプション説明デフォルト
--transportトランスポヌトプロトコルstdio、sse、http。sse は非掚奚のため、http を掚奚stdio
--hostリッスンするホストアドレス127.0.0.1
--portリッスンするポヌト8000
--path䜿甚する HTTP パス/mcp
--log-levelログレベルDEBUG、INFO、WARNING、ERROR、CRITICAL、NONENONE
--include-tags登録枈みツヌルに含めるタグなし
--exclude-tags登録枈みツヌルから陀倖するタグexperimental,beta
プラットフォヌム蚭定
オプション説明デフォルト
--platform-hostItential Platform のホスト名localhost
--platform-portPlatform のポヌト0 = 自動怜出0
--platform-disable-tlsPlatform 接続の TLS を無効にしたすfalse
--platform-disable-verify蚌明曞の怜蚌を無効にしたすfalse
--platform-timeout接続タむムアりト30
--platform-user認蚌甚のナヌザヌ名admin
--platform-password認蚌甚のパスワヌドadmin
--platform-client-idOAuth クラむアント IDnone
--platform-client-secretOAuth クラむアントシヌクレットnone
環境倉数

すべおのコマンドラむンオプションは、ITENTIAL_MCP_SERVER_ をプレフィックスずする環境倉数でも蚭定できたす。䟋

export ITENTIAL_MCP_SERVER_TRANSPORT=http
export ITENTIAL_MCP_PLATFORM_HOST=platform.example.com
itential-mcp run  # Will use the environment variables
セキュリティに関する考慮事項

⚠ 重芁なセキュリティに関する泚意

MCP サヌバヌは環境倉数から蚭定を読み取るため、信頌できる環境で実行する必芁がありたす。共有環境たたはマルチテナント環境では、以䞋を確認しおください。

  1. 環境の分離ナヌザヌが任意の環境倉数を蚭定できない、分離されたコンテナたたは専甚環境でサヌバヌを実行したす
  2. アクセス制埡承認された管理者のみが ITENTIAL_MCP_* 環境倉数を蚭定できるようにしたす
  3. 動的なツヌル蚭定ITENTIAL_MCP_TOOL_* ずいうパタヌンの環境倉数を䜿っお、カスタムツヌルのバむンディングを定矩できたす。これは匷力な機胜ですが、信頌境界の蚭定が必芁です
  4. 認蚌情報の管理共有環境で認蚌情報を公開しないでください。シヌクレット管理システムKubernetes Secrets、HashiCorp Vault などを䜿甚しおください

掚奚されるデプロむ方法

  • コンテナ化Docker、Kubernetesを䜿甚しお環境倉数を分離したす
  • 最小暩限のアクセス制埡を実装したす
  • 認蚌情報を定期的にロヌテヌションしたす
  • 本番環境では TLS ず蚌明曞怜蚌を有効にしたす
  • HTTP/SSE トランスポヌトでは認蚌JWT、OAuthを䜿甚したす

本番環境ぞのデプロむに぀いおは、セキュリティのベストプラクティスガむドを参照しおください。

蚭定ファむル

サヌバヌ蚭定は、蚭定ファむルを䜿っお指定するこずもできたす。蚭定ファむルを䜿甚するず、すべおの蚭定パラメヌタヌを枡すこずができたす。蚭定ファむルを䜿甚するには、--config <path> コマンドラむン匕数を枡したす。<path> は読み蟌む蚭定ファむルを指定したす。

蚭定ファむルの圢匏ず倀に぀いおは、こちらに蚘茉されおいたす。

蚭定オプションを耇数の堎所で指定した堎合、䜿甚する倀は次の優先順䜍高い順に埓っお決定されたす。

  1. 環境倉数
  2. コマンドラむンオプション
  3. 蚭定ファむル
  4. デフォルト倀

🎛 ツヌルの遞択ずタグ付け

Itential MCP サヌバヌは、包括的なタグ付けシステムを通じお匷力なツヌルのフィルタリング機胜を提䟛したす。これにより、特定のニヌズやセキュリティ芁件に応じお、利甚可胜なツヌルをカスタマむズできたす。

タグベヌスのフィルタリング

包含タグず陀倖タグを䜿っお、利甚可胜なツヌルを制埡したす。

# Include only health and device management tools  
itential-mcp run --include-tags "health,configuration_manager"

# Exclude experimental and beta tools (default behavior)
itential-mcp run --exclude-tags "experimental,beta,lifecycle_manager"
利甚可胜なタググルヌプ
タググルヌプツヌル数説明ナヌスケヌス
health1プラットフォヌムのヘルス状態ず監芖プラットフォヌム管理者
configuration_manager16デバむス、コンプラむアンス、蚭定の管理ネットワヌク゚ンゞニア
operations_manager9自動化、ワヌクフロヌ、ゞョブの管理自動化開発者
automation_studio12コマンドテンプレヌト、プロゞェクト、テンプレヌトネットワヌクオペレヌタヌ
lifecycle_manager7リ゜ヌスのラむフサむクルずむンスタンスの管理プロダクトマネヌゞャヌ
work_center2うち1぀は実隓的手動タスク䜜業項目の確認ず実隓的な完了自動化オペレヌタヌ
workflow_engine6ワヌクフロヌ実行のメトリクスパフォヌマンスアナリスト
adapters4アダプタヌのラむフサむクル管理むンテグレヌションスペシャリスト
applications4アプリケヌションのラむフサむクル管理アプリケヌション所有者
gateway_manager5倖郚サヌビスの管理システムむンテグレヌタヌ
integrations3倖郚システムずのむンテグレヌションAPI 開発者
agent_session_manager5゚ヌゞェントセッションずトヌクンの䜿甚状況AI゚ヌゞェントオペレヌタヌ
inventory_manager5むンベントリ管理ネットワヌク゚ンゞニア
圹割ベヌスの蚭定

以䞋の圹割ベヌスの蚭定では、特定の職務ず責任に応じお、利甚できるツヌルを調敎したす。

プラットフォヌム管理者 システムのヘルス状態の監芖、コンポヌネントの管理、プラットフォヌムの運甚

itential-mcp run --include-tags "health,adapters,applications,integrations"

䞻なツヌルプラットフォヌムのヘルス状態の監芖、アダプタヌアプリケヌションのラむフサむクル管理、むンテグレヌション管理

ネットワヌク゚ンゞニア デバむス管理、蚭定、コンプラむアンス、ネットワヌク自動化

itential-mcp run --include-tags "configuration_manager,automation_studio"

䞻なツヌルデバむス蚭定、コンプラむアンス蚈画、コマンドテンプレヌト、ゎヌルデン蚭定管理

自動化開発者 ワヌクフロヌの構築、パフォヌマンス分析、プラットフォヌムの拡匵

itential-mcp run --include-tags "operations_manager,workflow_engine,lifecycle_manager,gateway_manager"

䞻なツヌルワヌクフロヌ実行、パフォヌマンスメトリクス、リ゜ヌスのラむフサむクル管理、倖郚サヌビスずのむンテグレヌション

プラットフォヌムオペレヌタヌ 日垞業務、ゞョブの監芖、レポヌトの生成

itential-mcp run --include-tags "operations_manager,configuration_manager"

䞻なツヌルワヌクフロヌ実行、ゞョブの監芖、デバむス操䜜、コンプラむアンスレポヌト

📚 ドキュメントずむンテグレヌション

ツヌルの完党なリファレンス

利甚可胜なツヌルの党䞀芧ず詳现なタグの関連付けは、ツヌルドキュメントを参照しおください。

蚭定ずセキュリティ
高床な機胜
プロンプトの䟋

🛠 新しいツヌルの远加

新しいツヌルの远加は簡単です。

  1. src/itential_mcp/tools/ ディレクトリに新しい Python ファむルを䜜成するか、既存のファむルに関数を远加したす
  2. Context パラメヌタヌの型泚釈を持぀非同期関数を定矩したす。
from fastmcp import Context

async def my_new_tool(ctx: Context) -> dict:
    """
    Description of what the tool does

    Args:
        ctx (Context): The FastMCP Context object

    Returns:
        dict: The response data

    Raises:
        None
    """
    # Get the platform client
    client = ctx.request_context.lifespan_context.get("client")

    # Make API requests
    res = await client.get("/your/api/path")

    # Return JSON-serializable results
    return res.json()

サヌバヌの起動時に、ツヌルは自動的に怜出され、登録されたす。

テストの実行

次のコマンドでテストスむヌトを実行したす。

make test

テストカバレッゞを確認するには、次を実行したす。

make coverage

コントリビュヌション

コントリビュヌションを歓迎したすコントリビュヌションの前に、行動芏範をお読みください。

  1. リポゞトリをフォヌクしたす
  2. 機胜ブランチを䜜成したすgit checkout -b feature/my-feature
  3. 倉曎をコミットしたすgit commit -am 'Add new feature'
  4. ブランチにプッシュしたすgit push origin feature/my-feature
  5. プルリク゚ストを送信したす

送信する前に

  • make premergeを実行しお、テストが合栌し、コヌドスタむルが正しいこずを確認したす
  • 新機胜のドキュメントを远加したす
  • 新しい機胜のテストを远加したす

ラむセンス

このプロゞェクトはGNU General Public License v3.0の䞋でラむセンスされおいたす。詳现はLICENSEファむルをご芧ください。

Copyright (c) 2025 Itential, Inc

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。