Azure MCP Server

Official

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Claude Desktop용 Azure MCP(모델 컨텍스트 프로토콜)

Claude Desktop이 Azure 서비스와 상호 작용할 수 있도록 하는 MCP(모델 컨텍스트 프로토콜) 구현입니다. 이 통합을 통해 Claude는 자연어 대화를 통해 Azure 리소스를 직접 쿼리하고 관리할 수 있습니다.

특징

  • Azure 리소스 관리 : Azure 리소스 관리 클라이언트와의 인터페이스
  • 구독 관리 : Azure 구독 나열 및 관리
  • 테넌트 관리 : Azure 테넌트 나열 및 선택
  • 자동 인증 : 유연한 인증 방법을 위해 DefaultAzureCredential을 활용합니다.
  • 오류 처리 : 일시적인 오류에 대한 재시도를 통한 강력한 오류 처리
  • 깔끔한 응답 형식 : Claude Desktop과 호환되는 적절한 형식의 응답

필수 조건

  • Node.js(v18 이상)
  • 클로드 데스크톱 애플리케이션
  • 적절한 권한이 있는 Azure 계정
  • Azure CLI(선택 사항, CLI 기반 인증용)

설치

수동 설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:
npm install
  1. Claude Desktop 구성:
    • claude_desktop_config.json 엽니다.
    • 다음 MCP 구성을 추가합니다.
{ "mcpServers": { "sequential-thinking": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-sequential-thinking" ] }, "azure": { "command": "tsx", "args": [ "C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts" ] } } }

입증

서버는 DefaultAzureCredential을 통해 여러 인증 방법을 지원합니다.

  • 환경 변수
  • 관리형 ID
  • Azure CLI
  • 비주얼 스튜디오 코드
  • 대화형 브라우저

서버는 성공할 때까지 이러한 방법을 순차적으로 자동으로 시도합니다.

용법

  1. Claude Desktop이 실행 중이면 닫으세요(작업 관리자 확인)
  2. Claude Desktop 시작
  3. 이제 채팅에서 다음과 같은 Azure 관련 질문을 할 수 있습니다.
    • "사용 가능한 모든 Azure 계정과 구독을 얻을 수 있나요?"
    • "내 구독의 모든 리소스 그룹 나열"
    • "특정 리소스 그룹의 모든 가상 머신을 보여주세요"

대화 예시

You: Can you get all the available Azure accounts and subscriptions? Claude: I'll help you list all available Azure tenants and subscriptions. [Claude will then use the Azure MCP to fetch and display the information]

개발

프로젝트 구조

azure-mcp/ ├── src/ │ ├── launcher.ts # Server entry point │ ├── AzureServer.ts # Main MCP server implementation │ └── LoggerService.ts # Logging utility ├── package.json └── README.md

주요 구성 요소

  • AzureMCPServer : MCP 프로토콜을 구현하는 메인 서버 클래스
  • HandleCallTool : 들어오는 도구 요청을 처리합니다.
  • ExecuteWithRetry : 복원력 있는 작업을 위한 재시도 논리를 구현합니다.

문제 해결

  1. 인증 문제 :
    • Azure CLI( az login )를 통해 로그인했는지 확인하세요.
    • 서비스 주체를 사용하는 경우 환경 변수를 확인하세요.
    • Azure 계정에 필요한 권한이 있는지 확인하세요.
  2. 연결 문제 :
    • Claude Desktop 구성 확인
    • 구성 파일의 경로가 설치와 일치하는지 확인하세요.
    • 다른 인스턴스가 실행되고 있지 않은지 확인하세요.
  3. 일반적인 오류 :
    • NO_TENANT : 'select-tenant' 도구를 사용하여 테넌트를 선택합니다.
    • NO_CLIENTS : 적절한 초기화 및 인증을 보장합니다.
    • CODE_EXECUTION_FAILED : Azure 권한 및 연결 확인

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

기여자

감사의 말

  • MCP 구현을 위한 Claude Desktop 팀
  • 포괄적인 SDK를 위한 Azure SDK 팀
  • AI 서비스 통합을 가능하게 하는 모델 컨텍스트 프로토콜

보안 참고 사항

이 구현은 Azure 보안 모범 사례를 따릅니다.

  • 하드코딩된 자격 증명 없음
  • 보안 자격 증명 체인 구현
  • 적절한 오류 처리 및 정리

보안 문제나 취약점이 있는 경우 문제를 생성하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Claude Desktop을 통해 Azure 서비스와 자연어 상호 작용을 지원하여 보안 인증을 통해 리소스 관리, 구독 처리 및 테넌트 선택을 지원합니다.

  1. Features
    1. Prerequisites
      1. Installation
        1. Manual Installation
      2. Authentication
        1. Usage
          1. Example Conversation
        2. Development
          1. Project Structure
          2. Key Components
        3. Troubleshooting
          1. Contributing
            1. Contributors
              1. Acknowledgments
                1. Security Note
                  ID: 8lqipo67ap