Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Azure fejlesztői parancssori felület (azdCLI) bővítmények a Model Context Protocol (MCP) kiszolgálón keresztül tehetik elérhetővé az eszközöket az AI-ügynökök számára. Amikor hozzáadja a(z) mcp-server képességet, az olyan ügynökök, mint a GitHub Copilot, felismerhetik és meghívhatják a bővítmény eszközeit. Ez a cikk bemutatja, hogyan vehet fel MCP-kiszolgálót a Contoso Resource Tagger mintabővítménybe a Mintabővítmény létrehozása rövid útmutatóból. Ugyanezt a mintát bármely bővítményre alkalmazhatja.
Megjegyzés:
azd bővítmények jelenleg bétaverzióban érhetők el.
Az MCP-kiszolgálók működése
A Model Context Protocol egy nyílt szabvány, amely lehetővé teszi, hogy az AI-ügynökök felderíthessék és meghívják a külső kiszolgálók által biztosított eszközöket. Amikor a bővítmény deklarálja a mcp-server képességet, elindíthatja a bővítményt MCP-kiszolgálóként, azd és átirányíthatja az eszközkérelmeket egy ügynöktől a bővítményhez. A bővítmény olyan eszközöket implementál, amelyeket az ügynök a feladatok végrehajtásához hív meg, például szabványosított címkéket javasol egy projekthez.
A képesség deklarálása
Adja hozzá a mcp-server képességet a extension.yaml jegyzékhez:
capabilities:
- custom-commands
- mcp-server
Hozzáadhat egy mcp szakaszt is a manifestumhoz annak konfigurálásához, hogy a(z) azd hogyan indítja el az MCP-kiszolgálót. A serve tulajdonság támogatja args és env; azd már ismeri a végrehajtható bővítményt, ezért nem ad meg parancsot:
mcp:
serve:
args:
- mcp
- start
MCP-parancs hozzáadása
Adjon hozzá egy parancsot, amely elindítja az MCP-kiszolgálót.
azd meghívja ezt a parancsot a bővítmény MCP-kiszolgálóként való futtatásához. A protokoll kezeléséhez használjon egy MCP-kiszolgálókódtárat a Go-hoz, például az mcp-go-hoz.
Hozzon létre egy fájlt
mcp.goainternal/cmdcímtárban:package cmd import ( "context" "fmt" "github.com/mark3labs/mcp-go/mcp" "github.com/mark3labs/mcp-go/server" "github.com/spf13/cobra" ) func newMcpCommand() *cobra.Command { mcpCmd := &cobra.Command{ Use: "mcp", Short: "Model Context Protocol server commands.", Hidden: true, } mcpCmd.AddCommand(newMcpStartCommand()) return mcpCmd } func newMcpStartCommand() *cobra.Command { return &cobra.Command{ Use: "start", Short: "Starts the MCP server.", RunE: func(cmd *cobra.Command, args []string) error { s := server.NewMCPServer( "Contoso Resource Tagger", "0.1.0", ) // Register the suggest_tags tool. s.AddTool(newSuggestTagsTool()) // Serve over stdio so azd and agents can connect. return server.ServeStdio(s) }, } }Regisztrálja a
mcpparancsot a gyökérparancson:rootCmd.AddCommand(newMcpCommand())
Eszköz implementálása
Határozza meg az AI-ügynök által hívott eszközt. Adja hozzá a következő suggest_tags eszközt az előzőleg létrehozott internal/cmd/mcp.go fájlhoz. A mcp és server azonosítók az ebben a fájlban már importált csomagokból származnak (github.com/mark3labs/mcp-go/mcp és github.com/mark3labs/mcp-go/server), és a kezelő a context- és fmt-importokat is használja. A függvény hozzáadása a(z) mcp.go elemhez újra felhasználja ezeket az importokat, így a kód lefordul:
func newSuggestTagsTool() (mcp.Tool, server.ToolHandlerFunc) {
tool := mcp.NewTool(
"suggest_tags",
mcp.WithDescription("Suggests standardized Azure resource tags for a project."),
mcp.WithString("environment",
mcp.Description("The target environment, such as dev or prod."),
mcp.Required(),
),
)
handler := func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
environment, err := request.RequireString("environment")
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
suggestion := fmt.Sprintf(
"Suggested tags: environment=%s, managed-by=azd, cost-center=<required>",
environment,
)
return mcp.NewToolResultText(suggestion), nil
}
return tool, handler
}
Az MCP-kiszolgáló tesztelése
Az MCP-kiszolgáló hozzáadása után építse újra a bővítményt, és ellenőrizze, hogy a kiszolgáló elindul-e:
A bővítmény újraépítése:
azd x buildIndítsa el közvetlenül az MCP-kiszolgálót, és ellenőrizze, hogy hiba nélkül fut-e:
azd tagger mcp startA kiszolgáló elindítja és figyeli a szabványos bemenetet és kimenetet. Egy MCP-ügyfél, például a bővítmény használatára konfigurált AI-ügynök csatlakozik ehhez a kiszolgálóhoz, hogy meghívja az eszközöket.