Amazon VPC Lattice MCP サーバー
ソースリスト用の Model Context Protocol (MCP) サーバー。AWS VPC Lattice リソースおよび関連ドキュメントにアクセスして管理するためのツールを提供します。
特徴
サーバーは 5 つの主なツールを提供します。
list_sources: 利用可能なすべてのソースをURLとサンプルプロンプトとともに一覧表示します。get_source_prompts: 特定のソースのサンプルプロンプトを取得しますlist_amazon_vpc_lattice_prompts: 利用可能なすべてのプロンプトテンプレートを一覧表示しますget_amazon_vpc_lattice_prompts: 特定のプロンプトテンプレートの詳細を取得しますvpc_lattice_cli: VPC Lattice リソースを管理するための AWS CLI VPC Lattice コマンドを実行します。
Related MCP server: Log Analyzer with MCP
インストール
このプロジェクトは TypeScript で構築されており、ES モジュールを使用します。
リポジトリをクローンします。
git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git
cd amazon-vpc-lattice-mcp-server依存関係をインストールします:
npm installサーバーを構築します。
npm run buildビルド スクリプトは TypeScript コードをコンパイルし、適切な実行権限を設定します。
構成
サーバーを MCP 設定ファイル ( ~/Library/Application Support/Code/User/globalStorage/asbx.amzn-cline/settings/cline_mcp_settings.jsonにあります) に追加します。
{
"mcpServers": {
"amazon-vpc-lattice": {
"command": "node",
"args": ["/path/to/amazon-vpc-lattice-mcp-server/build/index.js"],
"disabled": false,
"autoApprove": [],
"env": {}
}
}
}使用法
設定が完了すると、会話でMCPツールを使用できるようになります。ただし、利用可能なプロンプトを見つけるには、 list_amazon_vpc_lattice_promptsを使用する必要があります。ツールのように自動的に検出されるわけではないためです。
ソースの一覧
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_sources",
arguments: {}
})ソースプロンプトを取得
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_source_prompts",
arguments: {
source_name: "AWS Documentation"
}
})Amazon VPC Lattice プロンプトの一覧表示
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_amazon_vpc_lattice_prompts",
arguments: {}
})Amazon VPC Lattice Prompt の詳細を取得する
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_amazon_vpc_lattice_prompts",
arguments: {
prompt_name: "setup_eks_controller"
}
})VPC ラティス CLI
vpc_lattice_cliツールは、AWS CLI を介して AWS VPC Lattice 操作へのプログラムインターフェイスを提供します。
特徴
すべての主要なVPC Lattice CLI操作をサポート
コマンド引数をJavaScriptオブジェクトとして受け入れます
キャメルケースパラメータをCLIスタイルのケバブケースに自動的に変換します
ブールフラグ、配列、複雑な値を処理します
AWSプロファイルとリージョン構成をサポート
解析されたJSONレスポンスを返す
利用可能なコマンド
サービス ネットワーク: create-service-network、delete-service-network、get-service-network、list-service-networks、update-service-network
サービス: create-service、delete-service、get-service、list-services、update-service
リスナー: create-listener、delete-listener、get-listener、listeners、update-listener
ルール: create-rule、delete-rule、get-rule、list-rules、update-rule
ターゲット グループ: create-target-group、delete-target-group、get-target-group、list-target-groups、update-target-group
ターゲット管理: register-targets、deregister-targets、list-targets
リソース タグ: list-tags-for-resource、tag-resource、untag-resource
例
サービス ネットワークを一覧表示します。
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "list-service-networks",
region: "us-west-2"
}
})サービス ネットワークを作成します。
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-service-network",
args: {
name: "my-network",
authType: "NONE"
}
}
})タグ付きのサービスを作成します。
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-service",
args: {
name: "my-service",
serviceNetworkIdentifier: "sn-12345",
tags: [
{ key: "Environment", value: "Production" }
]
}
}
})ターゲット グループを作成します。
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-target-group",
args: {
name: "my-target-group",
type: "INSTANCE",
config: {
port: 80,
protocol: "HTTP",
healthCheck: {
enabled: true,
protocol: "HTTP",
path: "/health"
}
}
}
}
})利用可能な情報源
サーバーには次のソースが含まれています:
AWS ドキュメント (docs.aws.amazon.com)
主な機能のクエリ
構成ガイダンス
ベストプラクティス
VPC Lattice 用の AWS ゲートウェイ API コントローラー (aws/aws-application-networking-k8s)
機能サポートに関する問い合わせ
問題追跡
Kubernetes ゲートウェイ API (gateway-api.sigs.k8s.io)
エラー解決
ベストプラクティスガイダンス
発達
プロジェクト構造
プロジェクトは次のように構成されています。
src/index.ts: メインサーバーのセットアップと初期化src/tools.ts: ツールの定義とハンドラーsrc/data/: データファイルprompts.ts: プロンプトテンプレートとパラメータsources.ts: ソース定義とそのプロンプト
package.json: プロジェクトの構成と依存関係tsconfig.json: TypeScript の設定.gitignore: Git の無視ルールbuild/: コンパイルされたJavaScript出力
新しいソースの追加
新しいソースを追加するには、 src/data/sources.tsのsources配列を変更します。
export const sources = [
{
name: 'Your Source',
url: 'https://your-source-url.com',
prompts: [
'Sample prompt 1 {placeholder}',
'Sample prompt 2 {placeholder}'
]
}
// ... existing sources
];新しいプロンプトの追加
新しいプロンプト テンプレートを追加するには、 src/data/prompts.tsのprompts配列を変更します。
export const prompts = [
{
name: 'Your Prompt Template',
description: 'Description of what the prompt does',
template: 'Your prompt template with {parameter} placeholders',
parameters: ['parameter']
}
// ... existing prompts
];スクリプト
npm run build: サーバーをビルドし、実行権限を設定するnpm run watch: 開発用のウォッチモードnpm test: テストを実行する(現在は実装されていません)