Skip to content

MCP server: Deployment experience server connection prompt #4752

@lilyjma

Description

@lilyjma

Ask summary

When customers run the Azure Functions: Deploy to Function app or Azure Functions: Deploy to Azure commands, detect whether the app is an MCP server, and if yes, add prompt after the "Select how to authenticate to MCP server" one (see issue):

Connect to remote server in current VSCode workspace post deployment

  • Yes
  • No

If selected Yes

When deployment completes, create (if needed) and open the mcp.json file with server registration information.

  • If Built-in MCP authentication or Anonymous was chosen as the authentication approach, the configuration should be:
           "servers": {
                  "remote-mcp-server": {
                      "url": "<depends on MCP server flavor>",
                      "type": "http"
                  }
              }
  • If Access key was chosen, the configuration should be:
    "servers": {
        "remote-mcp-server": {
            "type": "http",
            "url": "<depends on MCP server flavor>",
            "headers": {
                "x-functions-key": "${input:functions-key}"
            }
        }
    },
    "inputs": [
        {
            "type": "promptString",
            "id": "functions-key",
            "description": "Functions App Key",
            "password": true
        }
    ]
  • DON'T run the server directly, but populate the url.
    • Self-hosted MCP server url: retrieve the app's root url and append /mcp
    • MCP extension server url: retrieve the app's root url and append /runtime/webhooks/mcp

If selected No

Do nothing.

Other requirements

  • Show this prompt only if the server is not already registered in the mcp.json
  • Don't show prompt again if customer has already answered prompt

E2E flow summary

  1. Customers run the Azure Functions: Deploy to Function app or Azure Functions: Deploy to Azure
  2. Select function app or Create new function app (existing prompt today)

If selects function app
3. Select how to authenticate to MCP server (new ask - see issue)
4. --> This ask: Connect to remote server in VSCode workspace
5. Pop up to confirm deployment (exists today)

If selects Create new function app
3. Enter app name (existing prompt)
4. Select location for new resources (existing prompt)
5. Select run time stack (existing prompt)
6. Select resource authentication type (existing prompt)
7. Select how to authenticate to MCP server (new ask - see issue)
8. --> This ask: Connect to remote server in VSCode workspace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions