이 문서에서는 Azure Functions에서 MCP(원격 모델 컨텍스트 프로토콜 ) 서버를 호스트하는 방법을 보여 줍니다. 또한 기본 제공 인증을 사용하여 서버 엔드포인트 권한 부여를 구성하고 AI 도구를 더 안전하게 보호하는 방법을 알아봅니다.
Azure Functions에서 원격 MCP 서버를 호스트하는 방법에는 두 가지가 있습니다.
| MCP 서버 옵션 | Description | 적합한 대상... |
|---|---|---|
| MCP 확장 서버 | Azure Functions MCP 확장을 사용하여 사용자 지정 MCP 서버를 만듭니다. 여기서 확장 트리거를 통해 도구 엔드포인트를 정의할 수 있습니다. 이러한 서버는 모든 Functions 언어에서 지원되며 다른 함수 앱으로 개발, 배포 및 관리됩니다. | Functions 및 해당 바인딩 기반 프로그래밍 모델에 이미 익숙한 경우 |
| 자체 호스팅 서버 | 함수는 표준 MCP SDK를 사용하여 만든 MCP 서버 프로젝트를 호스트할 수 있습니다. | 공식 MCP SDK를 사용하여 서버를 이미 빌드했으며 Azure에서 이벤트 기반, 서버리스 및 확장 가능한 호스팅을 찾고 있는 경우 |
비고
공식 MCP SDK를 사용하여 만든 Azure Functions 호스트 MCP 서버를 갖는 기능은 현재 미리 보기로 제공됩니다.
이 자습서에서는 Functions에서 지원하는 MCP 서버 옵션을 모두 설명합니다. 시나리오에 가장 적합한 탭을 선택합니다.
이 자습서에서는 Visual Studio Code를 사용하여 다음을 수행합니다.
- MCP 확장을 사용하여 MCP 서버 프로젝트를 만듭니다.
- MCP 서버를 로컬로 실행하고 확인합니다.
- Azure에서 함수 앱을 만듭니다.
- MCP 서버 프로젝트를 배포합니다.
- 기본 제공 인증을 사용하도록 설정합니다.
중요합니다
이 문서에서는 현재 C#, Python 및 TypeScript만 지원합니다. 빠른 시작을 완료하려면 문서 맨 위에 있는 지원되는 언어 중 하나를 선택합니다.
이 문서에서는 Azure Functions용 Node.js 프로그래밍 모델 버전 4를 지원합니다.
이 문서에서는 Azure Functions용 Python 프로그래밍 모델 버전 2를 지원합니다.
필수 조건
다음 확장을 사용하는 Visual Studio Code:
Azure Functions 확장. 이 확장에는 Azure Functions 핵심 도구가 필요하며 사용할 수 없는 경우 설치하려고 합니다.
Azure CLI Azure Cloud Shell에서 Azure CLI 명령을 실행할 수도 있습니다.
활성 구독이 있는 Azure 계정. 무료로 계정을 만듭니다.
MCP 서버 프로젝트 만들기
Visual Studio Code를 사용하여 기본 설정 언어로 MCP 서버 프로젝트를 로컬로 만듭니다.
Visual Studio Code에서 F1 키를 눌러 명령 팔레트를 엽니다. 명령을
Azure Functions: Create New Project...검색하고 실행합니다.프로젝트 작업 영역에 대한 디렉터리 위치를 선택하고 선택을 선택합니다. 새 폴더를 만들거나 프로젝트 작업 영역에 대한 빈 폴더를 선택해야 합니다. 이미 작업 영역의 일부인 프로젝트 폴더를 선택하지 마세요.
프롬프트에서 다음 정보를 제공합니다.
프롬프트 Selection 프로젝트 유형 선택 C#을 선택합니다..NET 런타임 선택 .NET 8.0 LTS을 선택합니다.프로젝트의 첫 번째 함수에 사용할 템플릿 선택 MCP Tool trigger을 선택합니다.함수 이름 제공 McpTrigger를 입력하십시오.네임스페이스 제공 My.Functions를 입력하십시오.권한 부여 수준 원격 MCP 서버에 연결할 때 액세스 키가 필요한 를 선택합니다 FUNCTION.프로젝트를 여는 방법 선택 Open in current window을 선택합니다.
프롬프트에서 다음 정보를 제공합니다.
프롬프트에서 다음 정보를 제공합니다.
프롬프트 Selection 프로젝트 유형 선택 Python을 선택합니다.가상 환경을 만들 Python 인터프리터 선택 선호하는 Python 인터프리터를 선택합니다. 옵션이 표시되지 않으면 Python 이진에 대한 전체 경로를 입력합니다. 프로젝트의 첫 번째 함수에 사용할 템플릿 선택 MCP Tool trigger을 선택합니다.만들려는 함수의 이름 mcp_trigger를 입력합니다.권한 부여 수준 원격 MCP 서버에 연결할 때 액세스 키가 필요한 를 선택합니다 FUNCTION.프로젝트를 여는 방법 선택 Open in current window을 선택합니다.
Visual Studio Code는 이 정보를 사용하여 MCP 서버 트리거에 대한 코드 프로젝트를 생성합니다. 탐색기에서 로컬 프로젝트 파일을 볼 수 있습니다.
로컬로 MCP 서버 시작
함수 앱을 실행하려면 스토리지 구성 요소가 필요합니다. 서버를 시작하기 전에 로컬 스토리지 에뮬레이터를 시작합니다.
local.setting.json에서
"AzureWebJobsStorage": "UseDevelopmentStorage=true"을(를) 확인하세요.Visual Studio Code에서 F1 키를 눌러 명령 팔레트를 엽니다. 명령 팔레트에서
Azurite: Start검색하고 선택합니다.아래쪽 막대를 확인하고 Azurite 에뮬레이션 서비스가 실행 중인지 확인합니다. 그렇다면 이제 서버를 로컬로 실행할 수 있습니다.
로컬에서 실행을 시작하려면 F5 키를 누릅니다.
함수 앱을 실행하려면 스토리지 구성 요소가 필요합니다. 서버를 시작하기 전에 로컬 스토리지 에뮬레이터를 시작합니다.
local.setting.json에서
"AzureWebJobsStorage": "UseDevelopmentStorage=true"을(를) 가지고 있는지 확인하세요.Visual Studio Code에서 F1 키를 눌러 명령 팔레트를 엽니다. 명령 팔레트에서
Azurite: Start검색하고 선택합니다.아래쪽 막대를 확인하고 Azurite 에뮬레이션 서비스가 실행 중인지 확인합니다. 그렇다면 이제 서버를 로컬로 실행할 수 있습니다.
로컬에서 실행을 시작하려면 F5 키를 누릅니다.
함수 앱을 실행하려면 스토리지 구성 요소가 필요합니다. 서버를 시작하기 전에 로컬 스토리지 에뮬레이터를 시작합니다.
local.setting.json에
"AzureWebJobsStorage": "UseDevelopmentStorage=true"이 있는지 확인하십시오.Visual Studio Code에서 F1 키를 눌러 명령 팔레트를 엽니다. 명령 팔레트에서
Azurite: Start검색하고 선택합니다.아래쪽 막대를 확인하고 Azurite 에뮬레이션 서비스가 실행 중인지 확인합니다. 그렇다면 이제 서버를 로컬로 실행할 수 있습니다.
로컬에서 실행을 시작하려면 F5 키를 누릅니다.
서버 테스트
디렉터리
.vscode를 찾아서mcp.json을(를) 엽니다. 편집기에서 서버의 연결 정보를 추가해야 합니다.서버 이름 위에 있는 시작 단추를 선택하여 서버를 시작 합니다.
서버에 연결할 때 서버 이름 위에 사용할 수 있는 도구 수가 표시됩니다.
에이전트 모드에서 Visual Studio Code Copilot 채팅을 열고 질문을 합니다. 예를 들어 "#your-local-server-name으로 인사말"입니다. 이 질문은 Copilot가 질문에 대답하는 데 도움이 되는 서버를 사용하도록 합니다.
Copilot가 로컬 MCP 서버에서 도구를 실행하도록 요청하면 [허용]을 선택합니다.
중지
Cntrl+C를 선택하여 테스트를 완료하고 로컬에서 실행을 중지하려면 서버에서 연결을 끊습니다.
팁 (조언)
코필로트 채팅 창에서 아래쪽의 도구 아이콘을 선택하여 채팅에 사용할 수 있는 서버 및 도구 목록을 확인합니다. 테스트할 때 로컬 MCP 서버가 선택되어 있는지 확인합니다.
원격 MCP 서버 권한 부여
원격 MCP 서버 엔드포인트의 무단 사용을 줄이거나 방지하는 두 가지 방법이 있습니다.
| 메서드 | Description |
|---|---|
| 기본 제공 서버 인증(미리 보기) | 함수에는 MCP 권한 부여 사양 프로토콜의 OAuth 요구 사항을 구현하는 기본 제공 App Service 인증 및 권한 부여 가 포함됩니다. 서버에 액세스하려는 클라이언트는 연결이 허용되기 전에 인증을 위해 구성된 ID 공급자(예: Microsoft Entra ID)로 리디렉션됩니다. 이 메서드는 도구 엔드포인트에 대한 최고 수준의 보안을 제공합니다. |
| 키 기반 인증 | 기본적으로 Functions는 MCP 서버 도구를 사용하려는 클라이언트가 요청 헤더에 공유 비밀 키 값을 제공해야 하도록 액세스 키 요구 사항을 구현합니다. OAuth 기반 인증과 동일한 수준의 보안을 제공하지는 않지만 액세스 키를 사용하면 공용 도구에 액세스하기가 더 어려워집니다.
Anonymous OAuth 기반 인증을 사용할 때 액세스 수준을 사용하여 서버에서 액세스 키를 사용하지 않도록 설정합니다. |
비고
이 자습서에는 다른 문서에서 App Service 인증 이라고도 할 수 있는 기본 제공 서버 권한 부여 및 인증 기능에 대한 자세한 구성 지침이 포함되어 있습니다. 기능의 개요 및 일부 사용 지침은 기본 제공 서버 권한 부여 구성(미리 보기) 문서에서 찾을 수 있습니다.
키 기반 인증 사용 안 함
기본 제공 서버 권한 부여 기능은 Azure Functions와 별개의 구성 요소입니다. 서버 인증을 사용하는 경우 먼저 익명 액세스를 허용하여 키 기반 인증을 사용하지 않도록 설정하는 것이 가장 좋습니다.
MCP 서버에서 호스트 기반 인증을 비활성화하려면 host.json 파일에서 system.webhookAuthorizationLevel을 Anonymous로 설정하십시오.
{
"version": "2.0",
"extensions": {
"mcp": {
...
"system": {
"webhookAuthorizationLevel": "Anonymous"
}
}
}
}
Azure에서 함수 앱 만들기
MCP 서버를 호스트하는 Azure의 Flex Consumption 계획에 함수 앱을 만듭니다.
Azure Portal 메뉴 또는 홈 페이지에서 리소스 만들기를 선택합니다.
시작를 선택한 다음 함수 앱에서 만들기를 선택합니다.
호스팅 옵션 선택에서 유연 사용량>선택을 선택합니다.
기본 사항 페이지에서 함수 앱 설정을 다음 표에서 지정한 대로 사용합니다.
Setting 제안된 값 Description Subscription 귀하의 구독 새 함수 앱을 만드는 구독입니다. 리소스 그룹 myResourceGroup 함수 앱을 만들 새 리소스 그룹의 이름입니다. 함수 앱 이름 전역적으로 고유한 이름 새 함수 앱을 식별하는 이름입니다. 유효한 문자는 a-z(대/소문자 구분 안 함),0-9및-입니다.지역 기본 지역 사용자 근처 또는 함수가 액세스할 수 있는 다른 서비스와 가까운 지역을 선택합니다. 지원되지 않는 지역은 표시되지 않습니다. 자세한 내용은 현재 지원되는 지역 보기를 참조하세요. 런타임 스택 기본 설정 언어 지원되는 언어 런타임 스택 중 하나를 선택합니다. 웹용 Visual Studio Code를 사용한 포털 내 편집은 현재 Node.js, PowerShell 및 Python 앱에서만 사용할 수 있습니다. C# 클래스 라이브러리 및 Java 함수는 로컬로 개발해야 합니다. 버전 언어 버전 지원되는 언어 런타임 스택 버전을 선택합니다. 인스턴스 크기 Default 앱의 각 인스턴스에 할당되는 인스턴스 메모리 양을 결정합니다. 자세한 내용은 인스턴스 크기를 참조하세요. 스토리지 페이지에서 새 기본 호스트 스토리지 계정을 만드는 기본 동작을 적용하거나 기존 스토리지 계정을 사용하도록 선택합니다.
모니터링 페이지에서 Application Insights 사용이 선택되어 있는지 확인합니다. 기본값을 적용하여 새 Application Insights 인스턴스를 만들거나 기존 인스턴스를 사용하도록 선택합니다. Application Insights 인스턴스를 만들 때 Log Analytics 작업 영역도 선택하라는 메시지가 표시됩니다.
인증 페이지에서 인증 유형을 모든 리소스에 대한 관리 ID로 변경합니다. 이 옵션을 사용하면 앱이 Microsoft Entra ID 인증을 사용하여 이러한 Azure 리소스에 액세스하는 데 사용하는 사용자 할당 관리 ID도 만들어집니다. Microsoft Entra ID를 사용하는 관리 ID는 Azure 리소스에 연결하기 위한 최고 수준의 보안을 제공합니다.
나머지 탭에서 기본 옵션을 적용한 다음 검토 + 만들기 를 선택하여 선택한 앱 구성을 검토합니다.
만족하면 만들기 를 선택하여 함수 앱 및 관련 리소스를 프로비전하고 배포합니다.
포털의 오른쪽 위 모서리에 있는 알림 아이콘을 선택하고 배포 성공 메시지를 확인합니다.
리소스로 이동을 선택하여 새로운 함수 앱을 확인하세요. 대시보드에 고정을 선택할 수도 있습니다. 고정하면 대시보드에서 이 함수 앱 리소스로 쉽게 돌아올 수 있습니다.
MCP 서버 프로젝트 배포
중요합니다
기존 함수 앱에 배포하면 항상 Azure에서 해당 앱의 콘텐츠를 덮어씁니다.
명령 팔레트에서 Azure Functions: 함수 앱에 배포를 입력한 다음, 선택합니다.
방금 만든 함수 앱을 선택합니다. 이전 배포를 덮어쓰라는 메시지가 표시되면 배포를 선택하여 함수 코드를 새 함수 앱 리소스에 배포합니다.
배포가 완료되면 출력 보기를 선택하여 사용자가 만든 Azure 리소스를 포함한 만들기 및 배포 결과를 확인합니다. 알림이 누락된 경우 오른쪽 아래 모서리에 있는 종 모양 아이콘을 선택하여 다시 확인합니다.
또한 Python 앱은 다음 앱 설정을 추가해야 합니다.
PYTHONPATH=/home/site/wwwroot/.python_packages/lib/site-packages.
이제 서버 프로젝트를 배포할 수 있습니다.
중요합니다
기존 함수 앱에 배포하면 항상 Azure에서 해당 앱의 콘텐츠를 덮어씁니다.
명령 팔레트에서 Azure Functions: 함수 앱에 배포를 입력한 다음, 선택합니다.
방금 만든 함수 앱을 선택합니다. 이전 배포를 덮어쓰라는 메시지가 표시되면 배포를 선택하여 함수 코드를 새 함수 앱 리소스에 배포합니다.
배포가 완료되면 출력 보기를 선택하여 사용자가 만든 Azure 리소스를 포함한 만들기 및 배포 결과를 확인합니다. 알림이 누락된 경우 오른쪽 아래 모서리에 있는 종 모양 아이콘을 선택하여 다시 확인합니다.
배포가 완료되면 Visual Studio Code에 서버 연결에 대한 알림이 표시됩니다.
연결 단추를 선택하여 편집기에서 mcp.json서버 연결 정보를 설정합니다.
내장 서버 권한 부여 및 인증 사용
다음 지침에서는 서버 앱에서 기본 제공 권한 부여 및 인증 기능을 사용하도록 설정하고 Microsoft Entra ID를 ID 공급자로 구성하는 방법을 보여 줍니다. 완료되면 Visual Studio Code에서 서버에 연결하여 테스트하고 연결하기 전에 인증하라는 메시지가 표시되는지 확인합니다.
서버 앱에서 인증 구성
Azure Portal에서 서버 앱을 열고 왼쪽 메뉴에서 설정>인증 을 선택합니다.
ID 공급자Microsoft를 >로 추가를 선택합니다.
애플리케이션 및 해당 사용자에 대한 테넌트를 선택하려면Workforce 구성(현재 테넌트)을 선택합니다.
앱 등록에서 다음 설정을 사용합니다.
Setting Selection 앱 등록 유형 새 앱 등록 만들기 이름 앱의 설명이 포함된 이름 입력 클라이언트 비밀 만료 권장: 180일 지원되는 계정 유형 현재 임차인 - 단일 임차인 추가 검사에서 클라이언트애플리케이션 요구 사항에 대해 특정 클라이언트 애플리케이션의 요청 허용을 선택하고 연필 아이콘을 선택하고 Visual Studio Code 클라이언트 ID
aebc6443-996d-45c2-90f0-388ff96faa56를 추가하고 확인을 선택합니다. 다른 섹션은 그대로 둡니다.App Service 인증 설정에서 다음 설정을 사용합니다.
Setting Selection 액세스 제한 인증 필요 인증되지 않은 요청 HTTP 401 권한 없음: API에 권장 토큰 저장소 토큰 새로 고침을 허용하는 확인란을 선택합니다. 추가를 선택합니다. 설정이 전파되면 다음 결과가 표시됩니다.
Visual Studio Code를 클라이언트로 사전 인증
Microsoft 옆에 있는 Entra 앱의 이름을 선택합니다. 이 작업을 수행하면 Entra 앱 리소스의 개요 로 이동합니다.
왼쪽 메뉴에서 관리 -> API 노출을 찾습니다.
권한 있는 클라이언트 애플리케이션에서 +클라이언트 애플리케이션 추가를 선택합니다.
Visual Studio Code의 클라이언트 ID를
aebc6443-996d-45c2-90f0-388ff96faa56입력합니다.api://abcd123-efg456-hijk-7890123/user_impersonation처럼 보이는 범위 앞의 상자를 선택합니다.애플리케이션 추가를 선택합니다.
보호된 리소스 메타데이터 구성(미리 보기)
동일한 API 노출 보기에서 범위 섹션을 찾아 관리자와 사용자가 Entra 앱에 동의할 수 있도록 하는 범위를 복사합니다. 이 값은 다음과 같습니다
api://abcd123-efg456-hijk-7890123/user_impersonation.이전과 동일한 명령을 실행하여 다음 설정을
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES추가합니다.az functionapp config appsettings set --name <function-app-name> --resource-group <resource-group-name> --settings "WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES=<scope>"또한 API 노출 보기에서 위쪽에서 애플리케이션 ID URI (예:
api://abcd123-efg456-hijk-7890123모양)를 찾고 이후 단계를 위해 저장합니다.
서버에 연결
디렉터리 내에서 mcp.json 엽니다.vscode.
배포 후 팝업에서 연결을 선택하면 Visual Studio Code가 파일을 서버 연결 정보로 채웁니다.
해당 단계를 놓친 경우 출력 (Ctrl/Cmd+Shift+U)을 열어 배포 로그 끝에서 인라인 연결 단추를 찾을 수도 있습니다.
연결 정보를 수동으로 추가할 수도 있습니다.
다음 명령을 실행하여 서버 도메인을 가져옵니다.
az functionapp show --name <FUNCTION_APP_NAME> --resource-group <RESOURCE_GROUP_NAME> --query "defaultHostName" --output tsvVisual Studio Code에서 명령 팔레트를 열고 MCP: 서버 추가... 명령을 검색하여 실행한 다음 다음 프롬프트를 따릅니다.
Visual Studio Code에서
mcp.json설정 파일을 엽니다.
다음 섹션의 지침에 따라 인증을 구성한 방법에 따라 서버에 연결합니다.
기본 제공 인증 및 권한 부여
서버 이름 위에 있는 시작 단추를 선택하여 원격 서버를 시작 합니다.
Microsoft 인증에 대한 메시지가 표시되면 허용을 선택한 다음, 전자 메일(Azure Portal에 로그인하는 데 사용되는 전자 메일)으로 로그인합니다.
서버에 성공적으로 연결하면 서버 이름 위에 사용할 수 있는 도구 수가 표시됩니다.
에이전트 모드에서 Visual Studio Code Copilot 채팅을 열고 질문을 합니다. 예:
Greet with #your-remote-mcp-server-name.테스트를 마치면 서버를 중지합니다.
Visual Studio Code가 원격 MCP 서버에 연결하려고 할 때 발생하는 작업을 자세히 이해하려면 서버 권한 부여 프로토콜을 참조하세요.
액세스 키와 함께
기본 제공 인증 및 권한 부여를 사용하도록 설정하지 않고 대신 액세스 키를 mcp.json 사용하여 MCP 서버에 연결하려는 경우 서버 등록의 요청 헤더에 Functions 액세스 키가 포함되어야 합니다.
Visual Studio는 서버를 시작할 때 액세스 키를 자동으로 채웁니다.
파일은 mcp.json 다음 예제와 같습니다.
{
"servers": {
"remote-mcp-server": {
"type": "http",
"url": "https://${input:functionapp-domain}/runtime/webhooks/mcp",
"headers": {
"x-functions-key": "${input:functions-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "functions-key",
"description": "Functions App Key",
"password": true
},
{
"type": "promptString",
"id": "functionapp-domain",
"description": "The domain of the function app.",
"password": false
}
]
}
액세스 키를 직접 찾으려면 Azure Portal에서 함수 앱으로 이동합니다. 왼쪽 메뉴에서 Functions -> 앱 키를 찾습니다. 시스템 키 섹션에서 mcp_extension이라는 이름을 찾습니다.
팁 (조언)
연결 로그를 보려면 서버 이름으로 이동한 다음 출력 표시를> 선택합니다. 클라이언트(Visual Studio Code)와 원격 MCP 서버 간의 상호 작용에 대한 자세한 내용은 기어 아이콘을 선택하고 추적을 선택합니다.
도구를 사용하도록 Azure AI Foundry 에이전트를 구성하십시오.
Azure Functions에서 호스트되는 MCP 서버에서 노출하는 도구를 사용하도록 Azure AI Foundry에서 에이전트 를 구성할 수 있습니다.
Foundry 포털에서 Functions에서 호스트되는 MCP 서버로 구성하려는 에이전트를 찾습니다.
도구에서 추가 단추를 선택한 다음 + 새 도구 추가를 선택합니다.
사용자 지정 탭을 선택한 다음 MCP(모델 컨텍스트 프로토콜) 및 만들기 단추를 선택합니다.
다음 정보를 입력합니다.
- 이름: 서버의 이름
- 원격 MCP 서버 엔드포인트:
- MCP 확장 서버:
https://<server domain>/runtime/webhooks/mcp - 자체 호스팅 서버:
https://<server domain>/mcp
- MCP 확장 서버:
- 인증: "Microsoft Entra" 선택
- 형식: "프로젝트 관리 ID" 선택
- 대상: 보호된 리소스 메타데이터 구성의 Entra 앱 ID URI입니다.
다음은 그 예입니다.
연결을 선택합니다.
채팅 창에서 서버 도구의 도움을 받아 답변할 수 있는 질문을 하여 테스트합니다.
서버 권한 부여 프로토콜
Visual Studio Code의 디버그 출력에는 MCP 클라이언트와 서버가 상호 작용할 때 일련의 요청 및 응답이 표시됩니다. 기본 제공 MCP 서버 권한 부여를 사용하는 경우 다음과 같은 이벤트 시퀀스가 표시됩니다.
- 편집기에서 MCP 서버에 초기화 요청을 보냅니다.
- MCP 서버는 권한 부여가 필요함을 나타내는 오류로 응답합니다. 응답에는 애플리케이션에 대한 보호된 PRM(리소스 메타데이터)에 대한 포인터가 포함됩니다. 기본 제공 권한 부여 기능은 서버 앱에 대한 PRM을 생성합니다.
- 편집기에서 PRM을 가져와서 이를 사용하여 권한 부여 서버를 식별합니다.
- 편집기에서 권한 부여 서버의 잘 알려진 엔드포인트에서 ASM(권한 부여 서버 메타데이터)을 가져오려고 시도합니다.
- Microsoft Entra ID는 잘 알려진 엔드포인트에서 ASM을 지원하지 않으므로 편집기는 OpenID Connect 메타데이터 엔드포인트를 사용하여 ASM을 가져옵니다. 다른 경로 정보 앞에 잘 알려진 엔드포인트를 삽입하여 이를 검색하려고 합니다.
- OpenID Connect 사양은 실제로 잘 알려진 엔드포인트를 경로 정보 뒤의 것으로 정의했으며, 여기서 Microsoft Entra ID가 호스트합니다. 따라서 편집기에서 해당 형식으로 다시 시도합니다.
- 편집기가 ASM을 성공적으로 검색합니다. 그런 다음 이 정보를 자체 클라이언트 ID와 함께 사용하여 로그인을 수행합니다. 이 시점에서 편집기에서 로그인하고 애플리케이션에 동의하라는 메시지를 표시합니다.
- 성공적으로 로그인하고 동의하면 편집기가 인증을 완료합니다. 이번에는 요청에 권한 부여 토큰을 포함하여 MCP 서버에 대한 초기화 요청을 반복합니다. 이 재시도는 디버그 출력 수준에서 표시되지 않지만 추적 출력 수준에서 볼 수 있습니다.
- MCP 서버는 토큰의 유효성을 검사하고 초기화 요청에 대한 성공적인 응답으로 응답합니다. 표준 MCP 흐름은 이 시점부터 계속되며, 결과적으로 이 샘플에 정의된 MCP 도구가 검색됩니다.
Troubleshooting
문제가 발생하면 GitHub Copilot에 도움을 요청하세요. 다음은 문제 해결을 위한 몇 가지 구체적인 아이디어입니다.
다음 단계
Azure API Center에서 Azure Functions 호스팅 MCP 서버를 등록하는 방법을 알아봅니다.