Skip to main content
Glama

Nacos MCP Server

Official
by nacos-group

mcp-server-nacos: Nacos MCP 서버

개요

Nacos는 동적 서비스 검색, 구성 및 서비스 관리를 위해 설계된 사용하기 쉬운 플랫폼입니다. 클라우드 네이티브 애플리케이션과 마이크로서비스 플랫폼을 쉽게 구축할 수 있도록 지원합니다.

이 MCP(Model Context Protocol) 서버는 Nacos 상호작용 및 자동화를 위한 서버입니다. 이 서버는 대용량 언어 모델을 통해 Nacos 클러스터의 namespace , serviceconfiguration 관련 정보를 검색하고 읽을 수 있는 도구를 제공합니다.

mcp-server-nacos 현재 초기 개발 단계에 있습니다. 서버 개발 및 개선 과정에서 기능 및 사용 가능한 도구가 변경 및 확장될 수 있습니다. 또한, mcp-server-nacos 현재 버전에서는 읽기, 검색 및 목록 작업만 제공하며 쓰기 작업은 지원하지 않습니다. 쓰기 작업은 향후 버전에서 지원될 예정입니다.

mcp-server-nacos 필요한 버전에 대한 또 다른 참고 사항은 다음과 같습니다.

지엑스피1

도구

  1. list_namespaces

    • 현재 Nacos 클러스터의 네임스페이스 목록을 검색합니다.

    • 입력:

      • 없음

    • 반환: 현재 Nacos 클러스터의 네임스페이스 목록입니다.

  2. list_services

    • 이 도구는 지정된 네임스페이스에 속한 서비스 목록을 검색합니다. 응답 형식은 withInstances 매개변수에 따라 달라집니다. withInstances=true : 인스턴스( ServiceDetailInfo 객체)를 포함한 서비스 세부 정보를 반환합니다. withInstances=false : 인스턴스( ServiceView 객체)를 제외한 서비스 메타데이터를 반환합니다. **참고:** withInstances=true 인 경우 API가 메모리와 네트워크를 너무 많이 사용할 수 있습니다. 서비스가 적거나 하나만 있는 인스턴스 목록만 가져오려면 List Service Instances 와 함께 withInstances=false 사용하는 것이 좋습니다.

    • 입력:

      • pageNo (숫자): 현재 페이지 번호, 기본값은 1입니다.

      • pageSize (숫자): 각 페이지의 서비스 크기, 기본값은 100입니다.

      • namespaceId (문자열, 선택 사항): 서비스의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupNameParam (문자열, 선택 사항): 서비스의 groupName 패턴, 기본값은 null이며 누락된 경우 모든 그룹을 의미합니다.

      • serviceNameParam (문자열, 선택 사항): 서비스의 serviceName 패턴, 기본값은 null로, 누락된 경우 모든 서비스를 의미합니다.

      • ignoreEmptyService (bool, 선택 사항): 결과에서 빈 서비스를 무시할지 여부, 기본값은 true입니다.

      • withInstances (bool, 선택 사항): 결과에 각 서비스 아래에 인스턴스를 포함하는지 여부, 권장 사항 및 기본값은 false입니다.

    • 반환: 지정된 네임스페이스에 속한 서비스 목록입니다.

  3. get_service

    • 이 도구는 인스턴스 목록을 제외한 메타데이터와 클러스터를 포함한 지정된 서비스의 자세한 정보를 검색합니다.

    • 입력:

      • namespaceId (문자열, 선택 사항): 서비스의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열, 선택 사항): 서비스의 groupName 패턴, 누락된 경우 기본값은 DEFAULT_GROUP 입니다.

      • serviceName (문자열): 서비스의 serviceName 패턴, 필수입니다.

    • 반환: 지정된 서비스에 대한 자세한 정보.

  4. list_service_instances

    • 이 도구는 지정된 서비스에 대한 인스턴스 목록을 검색합니다.

    • 입력:

      • namespaceId (문자열, 선택 사항): 서비스의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열, 선택 사항): 서비스의 groupName 패턴, 누락된 경우 기본값은 DEFAULT_GROUP 입니다.

      • serviceName (문자열): 서비스의 serviceName 패턴, 필수입니다.

      • clusterName (문자열, 선택 사항): 서비스의 인스턴스 클러스터 이름입니다. 선택 사항이며 기본값은 null로 모든 클러스터와 일치함을 의미합니다.

    • 반환: 지정된 서비스에 대한 인스턴스 목록입니다.

  5. list_service_subscribers

    • 이 도구는 지정된 서비스의 구독자 목록을 검색합니다.

    • 입력:

      • pageNo (숫자): 현재 페이지 번호, 기본값은 1입니다.

      • pageSize (숫자): 각 페이지의 서비스 구독자 크기, 기본값은 100입니다.

      • namespaceId (문자열, 선택 사항): 서비스의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열, 선택 사항): 서비스의 groupName 패턴, 누락된 경우 기본값은 DEFAULT_GROUP 입니다.

      • serviceName (문자열): 서비스의 serviceName 패턴, 필수입니다.

      • aggregation (bool, 선택 사항): 전체 클러스터에서 집계할지 여부입니다.

    • 반환: 지정된 서비스의 구독자 목록입니다.

  6. list_configs

    • 이 도구는 지정된 네임스페이스 아래의 구성 목록을 검색합니다.

    • 입력:

      • pageNo (숫자): 현재 페이지 번호, 기본값은 1입니다.

      • pageSize (숫자): 각 페이지의 구성 크기, 기본값은 100입니다.

      • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열, 선택 사항): config의 groupName 패턴, 기본값 null은 모든 그룹을 의미합니다.

      • dataId (문자열, 선택 사항): config의 dataId 패턴, 기본값 null은 모든 dataId를 의미합니다.

      • type (문자열, 선택 사항): 구성의 유형, 기본값 null은 모든 유형을 의미합니다.

      • configTags (문자열, 선택 사항): config의 태그, 기본값은 null로 모든 태그를 의미합니다.

      • appName (문자열, 선택 사항): configs의 appName, 기본값은 null이면 모든 appName을 의미합니다.

      • search (문자열, 선택 사항): 목록 구성의 검색 방법, 기본값은 blur 이고 선택 사항 값은 accurate .

    • 반환: 지정된 네임스페이스 아래의 구성 목록입니다.

  7. get_config

    • 지정된 구성의 세부 정보를 검색합니다.

    • 입력:

      • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열): config의 groupName, 필수.

      • dataId (문자열): config의 dataId, 필수.

    • 반환: 지정된 구성의 세부 정보.

  8. list_config_history

    • 이 도구는 구성의 전체 게시 기록을 검색합니다.

    • 입력:

      • pageNo (숫자): 현재 페이지 번호, 기본값은 1입니다.

      • pageSize (숫자): 각 페이지의 구성 기록 레코드 크기입니다. 기본값은 100입니다.

      • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열): config의 groupName, 필수.

      • dataId (문자열): config의 dataId, 필수.

    • 반환: 지정된 네임스페이스 아래의 구성 목록입니다.

  9. get_config_history

    • 구성의 특정 과거 변경 기록을 검색합니다.

    • 입력:

      • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

      • groupName (문자열): config의 groupName, 필수.

      • dataId (문자열): config의 dataId, 필수.

      • nid (숫자): 구성 기록 레코드의 실제 ID, 구성 기록 도구 목록에서 가져오기, id 필드.

    • 반환: 구성의 과거 변경 기록.

  10. list_config_listeners

  • 특정 구성을 구독한 리스너 목록을 검색합니다.

  • 입력:

    • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

    • groupName (문자열): config의 groupName, 필수.

    • dataId (문자열): config의 dataId, 필수.

    • aggregation (bool, 선택 사항): 전체 클러스터에서 집계할지 여부입니다.

  • 반환: 특정 구성을 구독한 리스너 목록입니다.

  1. list_listened_configs

  • 특정 클라이언트 IP 주소가 구독한 구성 목록을 검색합니다.

  • 입력:

    • namespaceId (문자열, 선택 사항): config의 namespaceId, 기본값은 누락된 경우 public 입니다.

    • ip (문자열): 구성 리스너의 클라이언트 IP, 필수.

    • aggregation (bool, 선택 사항): 전체 클러스터에서 집계할지 여부입니다.

  • 반환: 특정 클라이언트 IP 주소가 구독한 구성을 나열합니다.

Related MCP server: Sonos MCP Server

설치

uv 사용(권장)

uv 사용하면 별도의 설치가 필요하지 않습니다. uvx 사용하여 mcp-server-nacos를 직접 실행합니다.

PIP 사용

또는 pip를 통해 mcp-server-nacos 설치할 수 있습니다.

pip install mcp-server-nacos

설치 후 다음을 사용하여 스크립트로 실행할 수 있습니다.

python -m mcp_server_nacos

구성

Claude Desktop과 함께 사용

claude_desktop_config.json 에 다음을 추가하세요:

"mcpServers": { "git": { "command": "uvx", "args": [ "nacos-mcp-server", "--host", "your_nacos_host", "--port", "your_nacos_main_port, such as 8848", "--access_token", "your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`" ], } }

command 필드에 uvx 실행 파일의 전체 경로를 입력해야 할 수도 있습니다. MacOS/Linux에서는 which uvx , Windows에서는 where uvx 실행하여 경로를 확인할 수 있습니다.

"mcpServers": { "git": { "command": "python", "args": [ "-m", "nacos-mcp-server", "--host", "your_nacos_host", "--port", "your_nacos_main_port, such as 8848", "--access_token", "your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`" ], } }

개발

지역 개발을 진행 중이라면 다음 단계를 따르세요.

  1. 이 저장소를 로컬 환경에 복제합니다.

  2. 원하는 기능을 구현하려면 src/mcp_server_nacos 의 코드를 수정하세요.

  3. Claude 데스크톱 앱을 사용하여 테스트해 보세요. claude_desktop_config.json 파일에 다음을 추가하세요.

{ "mcpServers": { "mcp-server-nacos": { "command": "uv", "args": [ "--directory", "/<path to mcp-server-nacos>/src/mcp_server_nacos", "run", "mcp-server-nacos" ] } }

특허

mcp-server-nacos는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 즉, Apache 2.0 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nacos-group/nacos-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server