mcp-confluent

Official
by confluentinc

Integrations

  • Allows configuration of Confluent Cloud credentials and endpoints through environment variables, supporting secure authentication with various Confluent services.

  • Enables AI assistants to interact with Confluent Cloud REST APIs, providing tools for managing Kafka topics, connectors, and Flink SQL statements through natural language interactions.

mcp-confluent

AI 어시스턴트가 Confluent Cloud REST API와 상호 작용할 수 있도록 하는 MCP 서버 구현입니다. 이 서버를 통해 Claude Desktop 및 Goose CLI와 같은 AI 도구가 자연어 상호 작용을 통해 Kafka 토픽, 커넥터 및 Flink SQL 문을 관리할 수 있습니다.

데모

구스 CLI

클로드 데스크탑

목차

사용자 가이드

시작하기

  1. .env 파일을 만듭니다. 아래에 표시된 예제 .env 파일 구조를 프로젝트 루트에 있는 .env 라는 새 파일에 복사합니다.
  2. .env 파일을 채웁니다. Confluent Cloud 환경에 필요한 값을 입력합니다. 각 변수에 대한 자세한 내용은 구성 섹션을 참조하세요.
  3. Node.js를 설치하세요 (아직 설치되지 않은 경우)
    • Node.js 버전을 관리하려면 NVM (Node Version Manager)을 사용하는 것이 좋습니다.
    • Node.js를 설치하고 사용하세요.

    지엑스피1

구성

다음 구성으로 프로젝트의 루트 디렉토리에 .env 파일을 만듭니다.

# .env file BOOTSTRAP_SERVERS="pkc-v12gj.us-east4.gcp.confluent.cloud:9092" KAFKA_API_KEY="..." KAFKA_API_SECRET="..." KAFKA_REST_ENDPOINT="https://pkc-v12gj.us-east4.gcp.confluent.cloud:443" KAFKA_CLUSTER_ID="" KAFKA_ENV_ID="env-..." FLINK_ENV_ID="env-..." FLINK_ORG_ID="" FLINK_REST_ENDPOINT="https://flink.us-east4.gcp.confluent.cloud" FLINK_ENV_NAME="" FLINK_DATABASE_NAME="" FLINK_API_KEY="" FLINK_API_SECRET="" FLINK_COMPUTE_POOL_ID="lfcp-..." CONFLUENT_CLOUD_API_KEY="" CONFLUENT_CLOUD_API_SECRET="" CONFLUENT_CLOUD_REST_ENDPOINT="https://api.confluent.cloud" SCHEMA_REGISTRY_API_KEY="..." SCHEMA_REGISTRY_API_SECRET="..." SCHEMA_REGISTRY_ENDPOINT="https://psrc-zv01y.northamerica-northeast2.gcp.confluent.cloud"

환경 변수 참조

변하기 쉬운설명기본값필수의
부트스트랩 서버Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용되는 host1:port1,host2:port2 형식의 Kafka 브로커 주소 목록(문자열)
구성 경로세션 지속성을 위한 대화 기반 구성을 저장하고 검색하기 위한 파일 시스템 경로(향후 구현)(문자열)
컨플루언트 클라우드 API 키Confluent Cloud 플랫폼 관리를 위한 마스터 API 키로, 조직 전반의 리소스 관리를 지원합니다(문자열(최소: 1))
CONFLUENT_CLOUD_API_SECRETConfluent Cloud 플랫폼의 포괄적인 관리를 위해 CONFLUENT_CLOUD_API_KEY와 함께 사용되는 마스터 API 비밀(문자열(최소: 1))
FLINK_API_KEYConfluent Cloud의 Flink 서비스(컴퓨트 풀 및 SQL 문 관리 포함)에 액세스하기 위한 인증 키(문자열(최소: 1))
FLINK_API_SECRETConfluent Cloud의 Flink 서비스에 대한 인증된 액세스를 위한 FLINK_API_KEY와 쌍을 이루는 비밀 토큰(문자열(최소: 1))
카프카_API_Kafka 클러스터와 보안 연결을 설정하는 데 필요한 인증 자격 증명(사용자 이름)(문자열(최소: 1))
카프카 API 비밀안전한 Kafka 클러스터 액세스를 위해 KAFKA_API_KEY와 함께 사용되는 인증 자격 증명(비밀번호)(문자열(최소: 1))
스키마 레지스트리 API 키데이터 스키마를 관리하고 검증하기 위해 스키마 레지스트리 서비스에 액세스하기 위한 인증 키(문자열(최소: 1))
스키마 레지스트리 API 보안보안 스키마 레지스트리 액세스를 위해 SCHEMA_REGISTRY_API_KEY와 쌍을 이루는 인증 비밀번호(문자열(최소: 1))
CONFLUENT_CLOUD_REST_ENDPOINTConfluent Cloud의 REST API 서비스에 대한 기본 URL(기본값)아니요
FLINK_COMPUTE_POOL_IDFlink 컴퓨트 풀의 고유 식별자는 'lfcp-' 접두사로 시작해야 합니다(문자열)아니요
FLINK_DATABASE_NAMEFlink SQL 작업에서 데이터베이스 참조로 사용되는 연관된 Kafka 클러스터의 이름(문자열(최소: 1))아니요
FLINK_ENV_IDFlink 환경에 대한 고유 식별자는 'env-' 접두사로 시작해야 합니다(문자열)아니요
FLINK_ENV_NAME식별 및 표시 목적으로 사용되는 Flink 환경에 대한 사람이 읽을 수 있는 이름(문자열(최소: 1))아니요
FLINK_ORG_IDFlink 리소스 관리를 위한 Confluent Cloud 내 조직 식별자(문자열(최소: 1))아니요
FLINK_REST_ENDPOINTSQL 문 및 컴퓨팅 풀 관리에 사용되는 Confluent Cloud의 Flink REST API 엔드포인트에 대한 기본 URL(문자열)아니요
카프카 클러스터 IDConfluent Cloud 생태계 내 Kafka 클러스터에 대한 고유 식별자(문자열(최소: 1))아니요
카프카_환경_IDKafka 클러스터의 환경 식별자는 'env-' 접두사로 시작해야 합니다(문자열)아니요
카프카_휴식_엔드포인트Kafka 클러스터 관리 및 운영을 위한 REST API 엔드포인트(문자열)아니요
스키마 레지스트리 종료점데이터 스키마를 관리하기 위해 스키마 레지스트리 서비스에 액세스하기 위한 URL 엔드포인트(문자열)아니요

용법

이 MCP 서버는 Claude Desktop이나 Goose CLI/Desktop 등 다양한 MCP 클라이언트와 함께 사용하도록 설계되었습니다. 구체적인 구성 및 상호작용은 사용 중인 클라이언트에 따라 다릅니다. 일반적인 단계는 다음과 같습니다.

  1. 빌드: 개발자 가이드 의 지침에 따라 소스에서 서버를 빌드하고 실행하세요. 일반적으로 다음이 포함됩니다.
    • 종속성 설치( npm install )
    • 프로젝트 빌드( npm run build 또는 npm run dev )
  2. MCP 클라이언트 구성: 각 클라이언트는 MCP 서버 주소와 필요한 자격 증명을 지정하는 고유한 방식을 가지고 있습니다. 클라이언트(예: Claude, Goose)가 해당 서버가 실행 중인 주소(특정 포트를 사용하는 localhost 등)에 연결되도록 구성해야 합니다. 서버가 실행되는 포트는 환경 변수를 통해 설정할 수 있습니다.
  3. MCP 클라이언트 시작: 클라이언트가 MCP 서버에 연결되도록 구성되면 MCP 클라이언트를 시작할 수 있습니다. 시작 시 로컬에 이 MCP 서버 인스턴스가 생성됩니다. 이 인스턴스는 데이터 스키마를 관리하고 사용자를 대신하여 Confluent Cloud와 상호 작용하는 역할을 합니다.
  4. 클라이언트를 통해 Confluent와 상호 작용: 클라이언트가 연결되면 클라이언트 인터페이스를 사용하여 Confluent Cloud 리소스와 상호 작용할 수 있습니다. 클라이언트가 이 MCP 서버로 요청을 보내면 MCP 서버가 사용자를 대신하여 Confluent Cloud와 상호 작용합니다.

Claude Desktop 구성

Claude Desktop 및 MCP 서버 설치에 대한 자세한 내용은 여기를 참조하세요.

이 MCP 서버를 사용하도록 Claude Desktop을 구성하려면:

  1. Open Claude Desktop 구성
    • Mac의 경우: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows의 경우: %APPDATA%\Claude\claude_desktop_config.json
  2. 구성 파일 편집
    • 원하는 텍스트 편집기에서 구성 파일을 엽니다.
    • 다음 방법 중 하나를 사용하여 구성을 추가하거나 수정하세요.
    { "mcpServers": { "confluent": { "command": "node", "args": [ "/path/to/confluent-mcp-server/dist/index.js", "--env-file", "/path/to/confluent-mcp-server/.env", ] } } }
    { "mcpServers": { "confluent": { "command": "npx", "args": [ "-y" "@confluentinc/mcp-confluent", "-e", "/path/to/confluent-mcp-server/.env" ] } } }

    /path/to/confluent-mcp-server/ 이 MCP 서버를 설치한 실제 경로로 바꾸세요.

  3. Claude Desktop을 다시 시작하세요
    • 변경 사항을 적용하려면 Claude Desktop을 닫았다가 다시 여세요.
    • Claude Desktop이 실행되면 MCP 서버가 자동으로 시작됩니다.

이제 Claude Desktop은 Confluent 상호 작용을 위해 로컬 MCP 서버를 사용하도록 구성됩니다.

Goose CLI 구성

Goose CLI를 설치하는 방법에 대한 자세한 지침은 여기를 참조하세요.

설치가 완료되면 다음 단계를 따르세요.

  1. 구성 명령을 실행합니다.
    goose configure
  2. 대화형 프롬프트를 따르세요:
    • Add extension 선택하세요
    • Command-line Extension 선택
    • 확장자 이름으로 mcp-confluent 입력하세요.
    • 다음 구성 방법 중 하나를 선택하세요.
    node /path/to/confluent-mcp-server/dist/index.js --env-file /path/to/confluent-mcp-server/.env
    npx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env

/path/to/confluent-mcp-server/ 이 MCP 서버를 설치한 실제 경로로 바꾸세요.

개발자 가이드

프로젝트 구조

/ ├── src/ # Source code │ ├── confluent/ # Code related to Confluent integration (API clients, etc.) │ ├── tools/ # Tool implementations (each tool in a separate file) │ ├── index.ts # Main entry point for the server │ └── ... # Other server logic, utilities, etc. ├── dist/ # Compiled output (TypeScript -> JavaScript) ├── openapi.json # OpenAPI specification for Confluent Cloud ├── .env # Environment variables (example - should be copied and filled) ├── README.md # This file └── package.json # Node.js project metadata and dependencies

건물과 운영

  1. 종속성 설치:
    npm install
  2. 개발 모드(변경 사항을 살펴보세요):
    npm run dev
    이 명령은 TypeScript 코드를 JavaScript로 컴파일하고 src/ 디렉토리에서 변경 사항이 감지되면 자동으로 다시 빌드합니다.
  3. 프로덕션 빌드(일회성 컴파일):
    npm run build
  4. 서버를 시작합니다:
    npm run start

테스트

MCP 검사관

MCP 서버를 테스트하려면 MCP 서버를 테스트하고 디버깅하는 대화형 개발자 도구인 MCP Inspector를 사용할 수 있습니다.

# make sure you've already built the project either in dev mode or by running npm run build npx @modelcontextprotocol/inspector node $PATH_TO_PROJECT/dist/index.js --env-file $PATH_TO_PROJECT/.env

새 도구 추가

  1. 열거형 클래스 ToolName 에 새로운 열거형을 추가합니다.
  2. ToolFactory 클래스의 핸들러 맵에 새 도구를 추가합니다.
  3. BaseToolHandler 확장하는 클래스를 내보내는 새 파일을 만듭니다.
    1. 기본 클래스의 handle 메서드를 구현합니다.
    2. 기본 클래스의 getToolConfig 메서드를 구현합니다.
  4. 만족스러우면 index.tsenabledTools 세트에 추가합니다.

유형 생성

# as of v7.5.2 there is a bug when using allOf w/ required https://github.com/openapi-ts/openapi-typescript/issues/1474. need --empty-objects-unknown flag to avoid it npx openapi-typescript ./openapi.json -o ./src/confluent/openapi-schema.d.ts --empty-objects-unknown

기여하다

Github Issues 형식으로 버그 리포트와 피드백을 보내주시면 감사하겠습니다. 기여 관련 지침은 CONTRIBUTING.md를 참조하세요.

You must be authenticated.

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Confluent Kafka 및 Confluent Cloud REST API와 상호 작용하도록 구축된 MCP 서버 구현입니다.

  1. Demo
    1. Goose CLI
    2. Claude Desktop
  2. Table of Contents
    1. User Guide
      1. Getting Started
      2. Configuration
      3. Environment Variables Reference
      4. Usage
      5. Configuring Claude Desktop
      6. Configuring Goose CLI
    2. Developer Guide
      1. Project Structure
      2. Building and Running
      3. Testing
      4. Adding a New Tool
      5. Generating Types
      6. Contributing

    Related MCP Servers

    • -
      security
      A
      license
      -
      quality
      A lightweight MCP server that interacts with the Neon REST API, deployable on Cloudflare Workers for streamlined database management and integration.
      Last updated -
      5
      TypeScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      A framework to use with AI to easily create a server for any service. Just drop the API Documentation in it and ask to create the MCP.
      Last updated -
      4
      TypeScript
      MIT License
    • A
      security
      F
      license
      A
      quality
      An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
      Last updated -
      39
      25
      • Apple
    • -
      security
      F
      license
      -
      quality
      A remote MCP server implementation for Cloudflare that uses server-sent events (SSE) to enable Model Control Protocol communication.
      Last updated -
      TypeScript
      • Linux

    View all related MCP servers

    ID: 8zh4gg3sw9