Claude 코드 백엔드 에뮬레이션 for Databricks LLM 모델 (MCP, Git Tools, Prompt Caching 포함)

발행: (2025년 12월 4일 오후 03:40 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

Claude Code는 레포 인식 AI 워크플로우에서 제가 가장 좋아하는 도구 중 하나가 되었습니다. 코드베이스를 이해하고, 파일을 탐색하며, diff를 요약하고, 도구를 실행하고, Git과 통합합니다—모두 간단한 CLI를 통해서입니다.

문제: 공식 Claude Code 백엔드는 Anthropic이 호스팅하는 모델에서만 작동합니다. Databricks가 호스팅하는 Claude 모델을 사용하고 싶다면, Azure의 Anthropic 엔드포인트를 통해 요청을 라우팅하고, 로컬 도구와 Model Context Protocol (MCP) 서버를 추가하고, 프롬프트 캐싱을 활성화하거나, 실험을 위해 자체 백엔드를 실행해야 하는데, 이는 불가능합니다.

해결책: Lynkr, 자체 호스팅 Claude Code 호환 프록시.
GitHub:

Lynkr이 하는 일

Lynkr은 HTTP 프록시로서:

  • Claude Code 백엔드를 에뮬레이트합니다.
  • 요청을 Databricks 또는 Azure Anthropic으로 전달합니다.
  • 워크스페이스 도구, Git 헬퍼, 프롬프트 캐싱, 그리고 MCP 서버를 연결합니다.

일반 Claude Code CLI를 계속 사용하면서 백엔드만 여러분의 것으로 지정하면 됩니다:

Claude Code CLI → Lynkr → Databricks / Azure Anthropic / MCP tools

핵심 기능

제공자 어댑터

  • 두 개의 업스트림 제공자를 기본 지원: Databricks(기본)와 Azure Anthropic.
  • 요청이 정규화되어 CLI가 표준 Claude‑style 응답을 받도록 함.

레포 인텔리전스

  • 작업 공간의 가벼운 SQLite 인덱스를 구축하여 다음을 포착:
    • 심볼 정의 및 참조
    • 프레임워크 및 의존성 힌트
    • 언어 혼합 감지
    • Lint/테스트 설정 탐색
  • CLAUDE.md 요약을 생성해 모델에게 프로젝트에 대한 구조화된 컨텍스트를 제공.

Git 워크플로 통합

  • Claude Code와 유사한 Git 도우미:
    • status, diff, stage, commit, push, pull
    • Diff 리뷰 요약
    • 릴리즈 노트 생성
  • 정책 가드(환경 변수):
    • POLICY_GIT_ALLOW_PUSH
    • POLICY_GIT_REQUIRE_TESTS
    • POLICY_GIT_TEST_COMMAND

프롬프트 캐싱

  • 프롬프트 서명으로 키를 만든 로컬 LRU+TTL 캐시:
    • 반복 프롬프트 속도 향상
    • Databricks/Azure 토큰 사용량 감소
    • 동일한 분석 단계 재실행 방지
  • 도구 호출 시 자동으로 캐시를 우회해 안전하지 않은 부작용을 방지.

MCP 오케스트레이션

  • MCP 매니페스트를 자동으로 발견하고, 서버를 시작하며, JSON‑RPC로 래핑하고, 모든 도구를 어시스턴트에 다시 노출.
  • 필요 시 Docker 샌드박스를 선택적으로 사용해 MCP 도구를 격리.

워크스페이스 도구

  • 레포 인덱싱 및 심볼 검색
  • Diff 리뷰
  • 테스트 러너
  • 파일 I/O 유틸리티
  • SQLite에 저장되는 가벼운 작업 트래커(TODO)

완전한 투명성

  • 모든 활동이 구조화된 Pino 로그로 기록되며, 포함 내용:
    • 요청/응답 추적
    • 레포 인덱서 이벤트
    • 프롬프트 캐시 히트/미스
    • MCP 레지스트리 진단

아키텍처 개요

코드베이스는 의도적으로 작고 해킹하기 쉬운 구조로 설계되었습니다—모든 것이 src/ 아래에 있습니다.

Lynkr 설치

필수 조건

  • Node.js 18+
  • npm
  • Databricks 또는 Azure Anthropic 자격 증명
  • (선택 사항) MCP 샌드박싱을 위한 Docker
  • (선택 사항) Claude Code CLI

설치 옵션

# From npm
npm install -g lynkr

# Homebrew
brew tap vishalveerareddy123/lynkr
brew install lynkr

# From source
git clone https://github.com/vishalveerareddy123/Lynkr.git
cd Lynkr
npm install

프록시 구성

업스트림 제공자(Databricks 또는 Azure Anthropic)와 필요한 정책 플래그에 맞는 환경 변수를 설정하십시오. Azure Anthropic 예시:

export ANTHROPIC_API_KEY=your_key_here
export ANTHROPIC_ENDPOINT=https://anthropic.azure.com/anthropic/v1/messages
export PROVIDER=azure_anthropic

Claude Code CLI 연결하기

Lynkr를 로컬에서 실행하고(기본 포트 8080) Claude Code가 해당 주소를 가리키도록 합니다:

lynkr start --port 8080

Claude Code가 프록시를 사용하도록 설정합니다, 예:

export CLAUDE_CODE_ENDPOINT=http://localhost:8080

그런 다음 저장소 안에서 평소처럼 CLI를 실행하면; 모든 도구 호출, 채팅, diff, 탐색이 Lynkr를 통해 흐릅니다.

예시: 도구 호출

curl -X POST http://localhost:8080/v1/messages \
  -H "Content-Type: application/json" \
  -d '{
        "model": "claude-2.1",
        "messages": [{"role":"user","content":"Summarize the recent diff"}]
      }'

문제 해결 하이라이트

증상가능한 원인해결 방법
경로 누락잘못된 도구 인수도구에 전달하는 파일/경로를 확인하십시오
Git 명령 차단됨POLICY_GIT_ALLOW_PUSH가 설정되지 않음POLICY_GIT_ALLOW_PUSH=true를 내보내기
MCP 서버를 찾을 수 없음매니페스트 위치 누락MCP 매니페스트 파일이 워크스페이스 루트 또는 구성된 경로에 있는지 확인하십시오
프롬프트 캐시가 작동하지 않음요청에 도구 사용도구는 자동으로 캐시를 우회합니다; 캐시 테스트를 위해 도구 호출을 제거하십시오
웹 가져오기가 HTML 스캐폴딩을 반환함JS 실행이 지원되지 않음HTML 페이지 대신 JSON API를 사용하십시오

로드맵

  • 파일별 스레드형 diff 댓글
  • diff에 대한 위험 점수 매기기
  • 더 깊은 언어 이해를 위한 LSP 브리징
  • 선언적 “스킬” 레이어
  • 히스토리 커버리지 및 테스트 대시보드

왜 이걸 만들었는가

저는 Claude Code UX를 좋아하지만, 다음이 필요했습니다:

  • 완전한 로컬 실행
  • Databricks와 Azure Anthropic을 연결할 수 있는 기능
  • 맞춤형 도구와 MCP 서버
  • 내부 동작에 대한 완전한 가시성
  • 플랫폼 제약 없이 빠른 실험

Databricks 또는 Azure에서 AI 지원 개발을 탐색하고 백엔드에 대한 더 많은 제어를 원한다면 Lynkr가 유용할 수 있습니다.

GitHub:
Contributions, ideas, and issues are welcome.

Back to Blog

관련 글

더 보기 »