Amazon VPC Lattice MCP-Server
Ein Model Context Protocol (MCP)-Server für die Quellenauflistung, der Tools für den Zugriff auf und die Verwaltung von AWS VPC Lattice-Ressourcen sowie die zugehörige Dokumentation bereitstellt.
Merkmale
Der Server bietet fünf Haupttools:
list_sources: Listet alle verfügbaren Quellen mit ihren URLs und Beispieleingabeaufforderungen aufget_source_prompts: Ruft Beispieleingabeaufforderungen für eine bestimmte Quelle ablist_amazon_vpc_lattice_prompts: Listet alle verfügbaren Eingabeaufforderungsvorlagen aufget_amazon_vpc_lattice_prompts: Ruft Details einer bestimmten Eingabeaufforderungsvorlage abvpc_lattice_cli: Führen Sie AWS CLI VPC Lattice-Befehle zum Verwalten von VPC Lattice-Ressourcen aus
Related MCP server: Log Analyzer with MCP
Installation
Dieses Projekt wurde mit TypeScript erstellt und verwendet ES-Module.
Klonen Sie das Repository:
git clone https://github.com/awslabs/amazon-vpc-lattice-mcp-server.git
cd amazon-vpc-lattice-mcp-serverInstallieren Sie Abhängigkeiten:
npm installErstellen Sie den Server:
npm run buildDas Build-Skript kompiliert den TypeScript-Code und legt die entsprechenden Ausführungsberechtigungen fest.
Konfiguration
Fügen Sie den Server zu Ihrer MCP-Einstellungsdatei hinzu (befindet sich unter ~/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": {}
}
}
}Verwendung
Nach der Konfiguration können Sie die MCP-Tools in Ihren Gesprächen verwenden. Beachten Sie, dass Sie list_amazon_vpc_lattice_prompts verwenden sollten, um verfügbare Eingabeaufforderungen zu ermitteln, da diese im Gegensatz zu Tools nicht automatisch erkannt werden.
Quellen auflisten
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_sources",
arguments: {}
})Quellaufforderungen abrufen
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_source_prompts",
arguments: {
source_name: "AWS Documentation"
}
})Auflisten der Amazon VPC Lattice-Eingabeaufforderungen
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "list_amazon_vpc_lattice_prompts",
arguments: {}
})Details zur Amazon VPC Lattice-Eingabeaufforderung abrufen
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "get_amazon_vpc_lattice_prompts",
arguments: {
prompt_name: "setup_eks_controller"
}
})VPC Lattice CLI
Das Tool vpc_lattice_cli bietet eine programmgesteuerte Schnittstelle zu AWS VPC Lattice-Operationen über die AWS CLI.
Merkmale
Unterstützt alle wichtigen VPC Lattice CLI-Operationen
Akzeptiert Befehlsargumente als JavaScript-Objekte
Konvertiert CamelCase-Parameter automatisch in CLI-artige Kebab-Case-Parameter
Verarbeitet boolesche Flags, Arrays und komplexe Werte
Unterstützt AWS-Profile und Regionskonfiguration
Gibt analysierte JSON-Antworten zurück
Verfügbare Befehle
Service-Netzwerk: Service-Netzwerk erstellen, Service-Netzwerk löschen, Service-Netzwerk abrufen, Service-Netzwerke auflisten, Service-Netzwerk aktualisieren
Dienst: Dienst erstellen, Dienst löschen, Dienst abrufen, Dienste auflisten, Dienst aktualisieren
Listener: Listener erstellen, Listener löschen, Listener abrufen, Listener auflisten, Listener aktualisieren
Regel: Regel erstellen, Regel löschen, Regel abrufen, Regeln auflisten, Regel aktualisieren
Zielgruppe: Zielgruppe erstellen, Zielgruppe löschen, Zielgruppe abrufen, Zielgruppen auflisten, Zielgruppe aktualisieren
Zielverwaltung: Ziele registrieren, Ziele abmelden, Ziele auflisten
Ressourcen-Tags: Tags für Ressourcen auflisten, Ressourcen taggen, Ressourcen-Tags entfernen
Beispiele
Servicenetzwerke auflisten:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "list-service-networks",
region: "us-west-2"
}
})Erstellen Sie ein Servicenetzwerk:
use_mcp_tool({
server_name: "amazon-vpc-lattice",
tool_name: "vpc_lattice_cli",
arguments: {
command: "create-service-network",
args: {
name: "my-network",
authType: "NONE"
}
}
})Erstellen Sie einen Dienst mit Tags:
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" }
]
}
}
})Erstellen Sie eine Zielgruppe:
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"
}
}
}
}
})Verfügbare Quellen
Der Server enthält diese Quellen:
AWS-Dokumentation (docs.aws.amazon.com)
Abfragen zu den wichtigsten Funktionen
Konfigurationsanleitung
Bewährte Methoden
AWS Gateway API-Controller für VPC Lattice (aws/aws-application-networking-k8s)
Anfragen zum Feature-Support
Problemverfolgung
Kubernetes Gateway-API (gateway-api.sigs.k8s.io)
Fehlerbehebung
Leitfaden zu bewährten Methoden
Entwicklung
Projektstruktur
Das Projekt ist wie folgt organisiert:
src/index.ts: Einrichtung und Initialisierung des Hauptserverssrc/tools.ts: Tooldefinitionen und Handlersrc/data/: Datendateienprompts.ts: Eingabeaufforderungsvorlagen und Parametersources.ts: Quelldefinitionen und ihre Eingabeaufforderungen
package.json: Projektkonfiguration und Abhängigkeitentsconfig.json: TypeScript-Konfiguration.gitignore: Git-Ignorierregelnbuild/: Kompilierte JavaScript-Ausgabe
Neue Quellen hinzufügen
Um neue Quellen hinzuzufügen, ändern Sie das sources -Array in src/data/sources.ts :
export const sources = [
{
name: 'Your Source',
url: 'https://your-source-url.com',
prompts: [
'Sample prompt 1 {placeholder}',
'Sample prompt 2 {placeholder}'
]
}
// ... existing sources
];Neue Eingabeaufforderungen hinzufügen
Um neue Eingabeaufforderungsvorlagen hinzuzufügen, ändern Sie das prompts in src/data/prompts.ts :
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
];Skripte
npm run build: Erstellen Sie den Server und legen Sie Ausführungsberechtigungen festnpm run watch: Überwachungsmodus für die Entwicklungnpm test: Tests ausführen (derzeit nicht implementiert)