Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Functions tillhandahåller två sätt att vara värd för fjärranslutna MCP-servrar:
- MCP-servrar som skapats med Functions MCP-tillägget
- MCP-servrar som skapats med de officiella MCP-SDK:erna
Med den första metoden kan du använda Azure Functions-programmeringsmodellen med utlösare och bindningar för att skapa MCP-servern. Sedan kan du fjärrhantera servern genom att distribuera den till en funktionsapp.
Om du redan har en MCP-server som skapats med de officiella MCP-SDK:erna och bara vill vara värd för den via fjärranslutning passar den andra metoden förmodligen dina behov. Du behöver inte göra några kodändringar på servern som värd för den i Azure Functions. I stället kan du lägga till nödvändiga Functions-artefakter och servern är redo att distribueras. Därför kallas dessa servrar för lokalt installerade MCP-servrar.
Den här artikeln innehåller en översikt över MCP-servrar med egen värd och länkar till relevanta artiklar och exempel.
Anpassade hanterare
McP-servrar med egen värd distribueras till Azure Functions-plattformen som anpassade hanterare. Anpassade hanterare är lätta webbservrar som tar emot händelser från Functions-värden. De är ett sätt att köra på Functions-plattformsprogram som skapats med ramverk som skiljer sig från programmeringsmodellen Functions eller på språk som inte stöds direkt. Mer information finns i Anpassade Azure Functions-hanterare.
När du distribuerar en MCP SDK-baserad server till Azure Functions måste du inkludera en host.json i projektet. Den minimala host.json ser ut så här:
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "python",
"arguments": ["Path to main script file, e.g. hello_world.py"]
},
"port": "<MCP server port>"
}
}
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "npm",
"arguments": ["run", "start"]
},
"port": "<MCP server port>"
}
}
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "dotnet",
"arguments": ["Path to the compiled DLL, e.g. HelloWorld.dll"]
},
"port": "<MCP server port>"
}
}
Anmärkning
Eftersom nyttolasten som distribueras till Azure Functions är innehållet i bin/output katalogen är sökvägen till den kompilerade DLL-filen relativ till den katalogen, inte till projektroten.
Exempel är ännu inte tillgängligt.
Användning av värdet configuration Profilemcp-custom-handler konfigurerar automatiskt dessa värdinställningar för Functions, vilka krävs för att köra din MCP-server i Azure Functions.
-
http.enableProxyingtilltrue -
http.routestill[{ "route": "{*route}" }] -
extensions.http.routePrefixtill""
Det här exemplet visar en host.json fil med extra anpassade hanteringsegenskaper som är inställda på samma sätt som med profilen mcp-custom-handler :
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": ""
}
},
"customHandler": {
"description": {
"defaultExecutablePath": "",
"arguments": [""]
},
"http": {
"enableProxying": true,
"defaultAuthorizationLevel": "anonymous",
"routes": [
{
"route": "{*route}",
// Default authorization level is `defaultAuthorizationLevel`
},
{
"route": "admin/{*route}",
"authorizationLevel": "admin"
}
]
}
}
}
I den här tabellen förklaras customHandler.httpegenskaperna för , tillsammans med standardvärden:
| Fastighet | Vad det gör | Standardvärde |
|---|---|---|
enableProxying |
Styr hur Azure Functions-värden hanterar HTTP-begäranden till anpassade hanterare. När enableProxying är inställt på truefungerar Functions-värden som en omvänd proxy och vidarebefordrar hela HTTP-begäran (inklusive rubriker, brödtext, frågeparametrar) direkt till den anpassade hanteraren. Den här inställningen ger den anpassade hanteraren fullständig åtkomst till den ursprungliga HTTP-begärandeinformationen. När enableProxying är falsebearbetar Functions-värden begäran först och omvandlar den till Azure Functions-format för begäran/svar innan den skickas till den anpassade hanteraren. |
false |
defaultAuthorizationLevel |
Styr autentiseringskravet för åtkomst till anpassade hanteringsslutpunkter. Till exempel function kräver en funktionsspecifik API-nyckel för åtkomst. Mer information finns i auktoriseringsnivåer. |
function |
route |
Anger det URL-sökvägsmönster som den anpassade hanteraren svarar på.
{*route} matchar alla URL-sökvägar (till exempel /, /mcp, /api/toolseller /anything/nested/path) och vidarebefordrar begäran till den anpassade hanteraren. |
{*route} |
Inbyggd serverautentisering
OAuth-baserad autentisering och auktorisering som tillhandahålls av App Service-plattformen implementerar kraven i MCP-auktoriseringsspecifikationen, till exempel att utfärda 401-utmaning och exponera dokumentet med skyddade resursmetadata (PRM). När du aktiverar inbyggd autentisering omdirigeras klienter som försöker komma åt servern till identitetsprovidrar som Microsoft Entra-ID för autentisering innan de ansluter.
För mer information, se Konfigurera inbyggd serverauktorisering (förhandsversion) och Värdskap för MCP-servrar på Azure Functions.
Azure AI Foundry-agentintegreringar
Agenter i Azure AI Foundry kan konfigureras för att använda verktyg i MCP-servrar som finns i Azure Functions.
Registrera servern i Azure API Center
När du registrerar MCP-servern i Azure API Center skapar du en katalog för privata organisationsverktyg. Den här metoden rekommenderas för att dela MCP-servrar i organisationen med konsekvent styrning och identifiering. Mer information finns i Registrera MCP-servrar som finns i Azure Functions i Azure API Center.
Stöd för offentlig förhandsversion
Möjligheten att vara värd för dina egna SDK-baserade MCP-servrar i Functions är för närvarande i förhandsversion och stöder följande funktioner:
- Tillståndslösa servrar som använder streamable-http-transporten . Om du vill att servern ska vara tillståndskänslig bör du överväga att använda Functions MCP-tillägget.
- Servrar som implementeras med SDK:erna Python, TypeScript, C# eller Java MCP.
- När du kör projektet lokalt måste du använda Kommandot Azure Functions Core Tools (
func start). Du kan för närvarande inte användaF5för att börja köra med felsökningsprogrammet. - Servrar måste vara värdar för Flexförbrukningsplan appar.
Samples
Inte tillgänglig än.