이 문서에서는 Azure Functions 호스트된 Model Context Protocol(MCP) 서버를 Microsoft Foundry 에이전트 서비스에 연결하는 방법을 보여 줍니다. 이 가이드를 완료하면 에이전트가 MCP 서버에서 노출하는 도구를 검색하고 호출할 수 있습니다.
이 문서에서는 Foundry 에이전트 서비스에서 MCP 서버 연결을 구성하기 위한 이 기본 프로세스를 따릅니다.
- Azure 함수 앱에 MCP 서버를 만들고 배포합니다.
- MCP 서버 엔드포인트 URL을 가져옵니다.
- 필요한 경우 인증 자격 증명을 가져옵니다.
- 키 기반 인증을 사용하지 않도록 설정합니다(필요하지 않은 경우).
- 기존 에이전트에 MCP 서버 도구 연결을 추가합니다.
필수 조건
시작하기 전에 다음 리소스가 있는지 확인합니다.
연결 옵션 검토
이 표에는 Foundry 에이전트 서비스의 MCP 서버에 대한 에이전트 연결을 인증하기 위해 현재 지원되는 옵션이 요약되어 있습니다.
| 메서드 |
Description |
사용 사례 |
추가 설정 |
함수 지원 |
|
키 기반 (기본값) |
에이전트는 요청 헤더에 공유 함수 액세스 키를 전달하여 인증합니다. 이 방법은 Functions의 HTTP 엔드포인트에 대한 기본 인증입니다. |
개발 중에 또는 MCP 서버에 Microsoft Entra 인증이 필요하지 않은 경우에 사용합니다. |
None |
Yes |
|
Microsoft Entra |
에이전트는 자체 ID(에이전트 ID) 또는 Foundry 프로젝트의 공유 ID(프로젝트 관리 ID)를 사용하여 인증합니다. |
프로덕션 시나리오에 에이전트 ID를 사용하지만 공유 ID를 개발로 제한합니다. |
기본 제공 MCP 인증을 사용하도록 설정하면 키 기반 인증도 사용하지 않도록 설정됩니다. |
프로젝트 관리(공유) ID |
|
OAuth 신원 투과 |
에이전트는 제공된 토큰을 사용하여 로그인하고 액세스 권한을 부여하라는 메시지를 사용자에게 표시합니다. |
각 사용자가 자신의 ID로 인증해야 하고 사용자 컨텍스트를 유지해야 하는 경우 프로덕션 환경에서 사용합니다. |
기본 제공 MCP 인증을 사용하도록 설정하면 키 기반 인증도 사용하지 않도록 설정됩니다. |
Yes |
|
인증되지 않은 액세스 |
에이전트가 인증되지 않은 호출을 합니다. |
개발 중에 또는 MCP 서버가 공개 정보에만 액세스할 때 사용합니다. |
키 기반 인증을 사용하지 않도록 설정합니다. |
Yes |
Foundry 에이전트 서비스에서 지원하는 MCP 서버 인증 옵션에 대한 자세한 내용은 MCP 도구에 대한 인증 설정을 참조하세요.
원격 MCP 서버 엔드포인트 가져오기
에이전트를 Functions-hosed MCP 서버에 연결하려면 먼저 서비스에 대한 엔드포인트 URL을 가져와야 합니다. 특정 URL 형식은 MCP 서버를 만들고 배포하는 방법에 따라 달라집니다.
https://<FUNCTION_APP_NAME>.azurewebsites.net/runtime/webhooks/mcp
자세한 내용은 Azure Functions의 원격 MCP 서버를 참조하세요.
자격 증명 가져오기
에이전트가 MCP 서버에 연결하는 데 필요한 자격 증명은 연결을 보호하는 방법에 따라 달라집니다. 연결 인증 옵션을 나타내는 탭을 선택합니다.
액세스 키를 사용하여 MCP 서버 엔드포인트에 연결하는 경우 공유 비밀 키를 사용하여 임의 에이전트가 서버에 연결하기 어렵게 만듭니다.
중요합니다
액세스 키는 기본적으로 원치 않는 엔드포인트 액세스를 방지하는 데 도움이 될 수 있지만 Microsoft Entra ID 또는 OAuth ID 인증을 사용하여 프로덕션 환경에서 MCP 서버 엔드포인트에 향상된 보안을 제공하는 것이 좋습니다.
필요한 액세스 키의 이름은 MCP 서버 배포에 따라 달라집니다.
| MCP 서버 유형 |
키 이름 |
키 유형 |
| MCP 확장 기반 서버 |
mcp_extension |
시스템 키 |
| 자체 호스팅 MCP 서버 |
default |
호스트 키 |
Azure 포털에서 키를 얻으려면 다음을 수행합니다.
-
Azure 포털에서 함수 앱 리소스로 이동합니다.
- 왼쪽 메뉴에서 함수 드롭다운을 확장합니다.
-
앱 키를 선택합니다.
- MCP 서버 유형에 따라
mcp_extension 키(시스템 키 아래) 또는 default 키(호스트 키 아래)를 복사합니다.
자세한 내용은 Azure Functions 참조하세요.
에이전트 ID 및 프로젝트 관리 ID 모두 Microsoft Entra 인증을 사용합니다. 현재 Functions는 서버에서 기본 제공 인증 및 권한 부여를 사용해야 하는 Project 관리 ID만 지원합니다.
서버 앱에 사용자 할당 관리 ID가 없는 경우 먼저 만듭니다.
서버 앱에서 사용자 할당 관리 ID를 Foundry 프로젝트에 연결합니다.
Azure 포털에서 Foundry 검색합니다. Microsoft Foundry에서, 모든 리소스 목록에서 자신의 Foundry 리소스를 선택합니다.
리소스 관리>ID>사용자가 할당된 경우 + 추가를 선택합니다. 서버 앱에서 사용하는 사용자 할당 관리 ID를 선택한 다음 추가를 선택합니다.
새로 추가된 ID를 선택하고 클라이언트 ID 값을 복사합니다.
서버 앱에서 사용자 할당 관리 ID를 허용된 클라이언트 애플리케이션으로 추가합니다.
Azure 포털 앱 리소스로 이동합니다.
왼쪽 메뉴에서 설정>인증 을 선택합니다.
등록된 Entra ID 공급자에 대한 편집 아이콘을 선택합니다.
공급자에서 특정 클라이언트 애플리케이션의 요청을 허용하도록 클라이언트 애플리케이션 요구 사항을 설정하고 허용된 클라이언트 애플리케이션 옆에 있는 편집 단추를 선택합니다.
사용자 할당 관리 ID의 클라이언트 ID를 추가하고 확인을 선택한 다음 저장을 선택합니다.
에이전트에서 Entra 인증 등록을 완료하는 데 필요한 애플리케이션 ID URI를 서버 앱의 Entra 앱 등록에서 가져오세요:
앱의 인증 페이지로 돌아가서 등록된 Entra ID 공급자의 이름을 선택합니다. 이 옵션을 선택하면 Entra 앱 리소스 페이지로 이동합니다.
왼쪽 메뉴에서API 노출> 선택합니다.
페이지 맨 위에 있는 애플리케이션 ID URI 를 복사합니다. 이 ID 값은 다음과 같습니다 api://00001111-aaaa-2222-bbbb-3333cccc4444.
OAuth ID 통과는 사용자에게 로그인하고 MCP 서버에 대한 액세스 권한을 부여하라는 메시지를 표시합니다. 기본 제공 인증을 사용하는 Functions 호스팅 MCP 서버의 경우 Microsoft Entra 앱 등록과 함께 사용자 지정 OAuth를 사용합니다.
Azure 포털에서 필요한 자격 증명을 얻으려면 다음을 수행합니다.
Azure 포털에서 함수 앱 리소스로 이동합니다.
왼쪽 메뉴에서 설정>인증 을 선택합니다.
Microsoft 옆에 있는 Entra 앱의 이름을 선택합니다. 이 옵션을 선택하면 Entra 앱 리소스로 이동합니다.
개요 페이지의 Essentials에서 다음 필드의 값을 복사합니다.
-
애플리케이션(클라이언트) ID
-
디렉터리(테넌트) ID
-
애플리케이션 ID URI
테넌트 ID를 사용하여 다음과 같은 필수 OAuth URL을 생성합니다.
| URL 유형 |
포맷 |
|
인증 URL |
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorize |
|
토큰 URL |
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token |
|
URL 새로 고침 |
https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token |
실제 테넌트 ID 값으로 <TENANT_ID>를 대체합니다. 나중에 이러한 값을 저장합니다.
인증서 및 비밀> 선택합니다. 아직 없는 경우 새 클라이언트 암호를 만들고 나중에 사용할 값을 복사합니다.
API 노출> 선택하고 기존 범위를 복사합니다.
Foundry 포털에서 OAuth ID 통과를 구성한 후 리디렉션 URL을 받게 됩니다. 이 리디렉션 URL을 Microsoft Entra 앱 등록에 추가하려면 Entra 앱 등록으로 돌아가야 합니다.
인증되지 않은 액세스에는 공유 비밀 또는 인증이 필요하지 않으므로 자격 증명을 수집할 필요가 없습니다. 그러나 서버 엔드포인트에서 익명 액세스를 허용하도록 키 기반 인증을 사용하지 않도록 설정 해야 합니다.
중요합니다
이 옵션을 사용하면 모든 클라이언트 또는 에이전트가 MCP 서버 엔드포인트에 액세스할 수 있습니다. 읽기 전용 공용 정보를 반환하는 도구 또는 프라이빗 개발 중에만 사용합니다.
MCP 서버 추가
MCP 서버에 대한 에이전트 연결을 만드는 프로세스는 특정 엔드포인트 인증 옵션에 따라 달라집니다.
키 기반 인증을 사용하는 경우 에이전트는 요청 헤더의 함수 액세스 키를 MCP 서버에 전달하여 인증합니다.
MCP 서버 엔드포인트에 연결하려면 다음을 수행합니다.
Foundry 포털(새 Foundry)로 이동합니다.
페이지 맨 위에 있는 빌드 탭을 선택하고 MCP 서버에 연결할 에이전트를 선택합니다.
플레이그라운드 탭에서 도구 드롭다운을 확장하고 추가를 선택합니다.
도구 선택의 사용자 지정 탭에서 MCP(모델 컨텍스트 프로토콜) 만들기를> 선택합니다.
모델 콘텐츠 프로토콜 추가 도구에서 이 테이블의 정보를 제공하여 액세스 키 기반 연결을 구성합니다.
| 분야 |
Description |
예시 |
|
이름 |
MCP 서버에 대한 고유 식별자입니다. 함수 앱 이름을 기본값으로 사용합니다. |
contoso-mcp-tools |
|
원격 MCP 서버 엔드포인트 |
MCP 서버의 URL 엔드포인트입니다. |
https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp |
|
인증 |
사용할 인증 방법. |
Key-based |
|
Credential |
함수 앱으로 인증할 때 사용할 키-값 쌍입니다. |
x-functions-key: aaaaaaaa-0b0b-1c1c-2d2d-333333333333 |
연결을 선택하여 MCP 서버 엔드포인트에 대한 연결을 만듭니다.
도구 아래에 서버 이름이 나열되어 있습니다.
저장을 선택하여 에이전트에 MCP 도구 구성을 저장합니다.
Microsoft Entra 인증을 사용하는 경우 에이전트는 관리 ID를 사용하여 MCP 서버에 연결하여 인증합니다.
MCP 서버 엔드포인트에 연결하려면 다음을 수행합니다.
Foundry 포털(새 Foundry)로 이동합니다.
페이지 맨 위에 있는 빌드 탭을 선택하고 MCP 서버에 연결할 에이전트를 선택합니다.
플레이그라운드 탭에서 도구 드롭다운을 확장하고 추가를 선택합니다.
도구 선택의 사용자 지정 탭에서 MCP(모델 컨텍스트 프로토콜) 만들기를> 선택합니다.
모델 콘텐츠 프로토콜 도구 추가 이 테이블의 정보를 입력하여 Microsoft Entra 기반 연결을 구성합니다.
| 분야 |
Description |
예시 |
|
이름 |
MCP 서버에 대한 고유 식별자입니다. 함수 앱 이름을 사용할 수 있습니다. |
contoso-mcp-tools |
|
원격 MCP 서버 엔드포인트 |
MCP 서버의 URL 엔드포인트입니다. |
https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp |
|
인증 |
사용할 인증 방법. |
Microsoft Entra |
|
유형 |
에이전트가 인증하는 데 사용하는 ID 형식입니다. |
Project Managed Identity |
|
청중 |
함수 앱의 Entra 등록에 대한 애플리케이션 ID URI입니다. 이 값은 토큰이 의도된 앱을 ID 공급자에게 알려줍니다. |
api://00001111-aaaa-2222-bbbb-3333cccc4444 |
연결을 선택하여 MCP 서버 엔드포인트에 대한 연결을 만듭니다.
도구 아래에 서버 이름이 나열되어 있습니다.
저장을 선택하여 에이전트에 MCP 도구 구성을 저장합니다.
OAuth ID 통과를 사용하는 경우 에이전트는 사용자에게 로그인하라는 메시지를 표시한 다음 서버에 연결할 때 반환된 액세스 토큰을 사용합니다.
Foundry 포털(새 Foundry)로 이동합니다.
페이지 맨 위에 있는 빌드 탭을 선택하고 MCP 서버에 연결할 에이전트를 선택합니다.
플레이그라운드 탭에서 도구 드롭다운을 확장하고 추가를 선택합니다.
도구 선택의 사용자 지정 탭에서 MCP(모델 컨텍스트 프로토콜) 만들기를> 선택합니다.
모델 콘텐츠 프로토콜 추가 도구에서 이 테이블의 정보를 입력하여 OAuth ID 통과 연결을 구성합니다.
| 분야 |
Description |
예시 |
|
이름 |
MCP 서버에 대한 고유 식별자입니다. 함수 앱 이름을 사용할 수 있습니다. |
contoso-mcp-tools |
|
원격 MCP 서버 엔드포인트 |
MCP 서버의 URL 엔드포인트입니다. |
https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp |
|
인증 |
사용할 인증 방법. |
OAuth Identity Passthrough |
|
클라이언트 ID |
함수 앱 Entra 등록의 클라이언트 ID |
00001111-aaaa-2222-bbbb-3333cccc4444 |
|
클라이언트 암호 |
함수 앱 Entra 등록의 클라이언트 암호 |
abcEFGhijkLMNopqRST |
|
토큰 URL |
서버 앱이 액세스 토큰에 대한 권한 부여 코드 또는 자격 증명을 교환하기 위해 호출하는 엔드포인트입니다. |
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/v2.0/token |
|
인증 URL |
사용자가 인증하고 서버 앱에 권한 부여를 부여하도록 리디렉션되는 엔드포인트입니다. |
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/v2.0/authorize |
|
URL 새로 고침 |
현재 액세스 토큰이 만료되면 새 액세스 토큰을 가져오는 데 사용되는 엔드포인트입니다. |
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/v2.0/token |
|
범위 |
서버 앱이 권한 부여 서버에서 요청하는 특정 권한 또는 리소스 액세스 수준 |
api://00001111-aaaa-2222-bbbb-3333cccc4444/user_impersonation |
연결을 선택하여 MCP 서버 엔드포인트에 대한 연결을 만듭니다.
자격 증명 공급자를 만든 후 리디렉션 URL을 받게 됩니다. 이 창을 닫기 전에 URL 값을 복사해야 합니다. 이 리디렉션 URL을 Entra 앱 등록에 추가해야 합니다.
Entra 앱 등록으로 돌아가서인증>에서 +리디렉션 URI 추가를 선택합니다.
웹을 선택하고 복사한 리디렉션 URI 값을 붙여넣고 구성을 선택합니다.
에이전트 창으로 돌아가 닫기>저장을 선택하여 MCP 도구 구성을 에이전트에 저장합니다.
MCP 서버에 인증이 필요하지 않고 공개 정보만 액세스하는 경우에만 인증되지 않은 액세스를 사용합니다.
MCP 서버 엔드포인트에 연결하려면 다음을 수행합니다.
Foundry 포털(새 Foundry)로 이동합니다.
페이지 맨 위에 있는 빌드 탭을 선택하고 MCP 서버에 연결할 에이전트를 선택합니다.
플레이그라운드 탭에서 도구 드롭다운을 확장하고 추가를 선택합니다.
도구 선택의 사용자 지정 탭에서 MCP(모델 컨텍스트 프로토콜) 만들기를> 선택합니다.
모델 콘텐츠 프로토콜 추가 도구에서 이 테이블의 정보를 제공하여 인증되지 않은 연결을 구성합니다.
| 분야 |
Description |
예시 |
|
이름 |
MCP 서버에 대한 고유 식별자입니다. 함수 앱 이름을 사용할 수 있습니다. |
contoso-mcp-tools |
|
원격 MCP 서버 엔드포인트 |
MCP 서버의 URL 엔드포인트입니다. |
https://contoso-mcp-tools.azurewebsites.net/runtime/webhooks/mcp |
|
인증 |
사용할 인증 방법. |
Unauthenticated |
연결을 선택하여 MCP 서버 엔드포인트에 대한 인증되지 않은 연결을 만듭니다. 이제 도구 아래에 서버 이름이 나열됩니다.
저장을 선택하여 에이전트에 MCP 도구 구성을 저장합니다.
MCP 서버를 에이전트에 연결한 후 도구가 제대로 작동하는지 확인합니다.
- 에이전트 작성기에서 플레이그라운드 아래에서 채팅 창을 찾습니다.
- MCP 도구 중 하나를 트리거하는 프롬프트를 입력합니다. 예를 들어 MCP 서버에 인사말 도구가 있는 경우 다음
Use the greeting tool to say hello을 시도합니다.
- OAuth ID 통과를 사용하는 경우 동의 열기 를 선택하고 Entra 계정으로 로그인합니다.
- 에이전트가 MCP 도구를 호출하도록 요청하면 도구 이름 및 인수를 검토하고 승인을 선택하여 호출을 허용합니다.
- 도구가 예상 결과를 반환했는지 확인합니다.
이제 에이전트는 Azure Functions 호스트되는 MCP 서버에서 노출하는 도구를 사용할 수 있습니다.
관련 문서
이러한 추가 문서는 에이전트 및 함수 앱 기능을 빌드하는 데 도움이 될 수 있습니다.