Tesla MCP Server

local-only server

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

Integrations

  • Connects to the Tesla Fleet API to retrieve vehicle information and control Tesla vehicles, providing functionality to wake up vehicles from sleep mode and get detailed vehicle information

테슬라 MCP 서버

Tesla Fleet API에 연결되는 MCP(Model Context Protocol) 서버를 사용하면 Claude와 MCP를 지원하는 다른 AI 보조 장치를 사용하여 Tesla 차량을 제어할 수 있습니다.

특징

  • 차량 깨우기 : 테슬라를 절전 모드에서 깨우세요
  • 차량 정보 : Tesla 차량에 대한 자세한 정보를 확인하세요
  • 실시간 업데이트 : 차량 데이터를 필요에 따라 새로 고침
  • 디버깅 도구 : 문제 해결에 도움이 되는 자세한 차량 정보에 액세스합니다.

요구 사항

  • 노드.js 18+
  • pnpm(권장) 또는 npm
  • 최소 1대의 차량이 있는 Tesla 계정
  • Tesla API 자격 증명(클라이언트 ID 및 클라이언트 비밀번호)
  • Ngrok(개발 및 등록용)

보안 모범 사례

이 프로젝트는 민감한 Tesla API 자격 증명을 처리합니다. 다음 보안 지침을 준수해 주세요.

  • 자격 증명을 커밋하지 마십시오 . .gitignore 파일은 .envkeys/ 제외하지만 항상 두 번 확인하십시오.
  • 보안 검사기를 사용하세요 : 잠재적으로 유출된 자격 증명을 감지하기 위해 커밋하기 전에 ./check-secrets.sh 실행하세요.
  • 개인 키 보호 : keys/ 디렉토리의 내용을 안전하게 보관하세요
  • 공유하기 전에 코드를 검토하세요 . 소스 파일에 자격 증명이 하드코딩되어 있지 않은지 확인하세요.

이 프로젝트를 포킹하거나 공유할 때:

  1. .env 파일이 포함되지 않았는지 확인하세요.
  2. 개인 키가 커밋되지 않았는지 확인하세요.
  3. .gitignore 파일이 올바르게 설정되었는지 확인하세요.

빠른 시작

  1. 저장소를 복제합니다지엑스피1
  2. 종속성 설치
    pnpm install
  3. 환경 변수 설정 루트 디렉토리에 .env 파일을 만듭니다.
    TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_token
  4. 새로 고침 토큰을 받으세요 (없는 경우)
    pnpm get-token
  5. Tesla의 API로 애플리케이션을 등록하세요
    pnpm register
    스크립트에서 제공하는 지침을 따르세요
  6. 서버를 빌드하세요
    pnpm build
  7. 서버를 실행하세요
    pnpm start

인증 및 등록

이 프로젝트는 공식 Tesla Fleet API OAuth 2.0 인증 흐름을 사용하여 Tesla 계정에 안전하게 연결합니다. 전체 과정은 다음 두 단계로 구성됩니다.

  1. 인증 : OAuth 2.0 흐름을 통해 새로 고침 토큰 얻기
  2. 등록 : 파트너 계정 API를 통해 Tesla에 애플리케이션 등록

입증

인증에는 다음이 필요합니다.

  • Tesla 개발자 포털 의 클라이언트 ID 및 클라이언트 비밀번호
  • OAuth 2.0 인증 코드 흐름을 통해 얻은 새로 고침 토큰

포함된 pnpm get-token 유틸리티는 다음과 같은 방법으로 이 프로세스를 단순화합니다.

  • Tesla 계정 자격 증명을 사용하여 로그인할 수 있도록 브라우저를 엽니다.
  • OAuth PKCE(코드 교환을 위한 증명 키) 흐름 수행
  • 권한 코드를 새로 고침 및 액세스 토큰으로 교환
  • .env 파일에 새로 고침 토큰 저장

등록

Tesla Fleet API를 사용하려면 차량 데이터에 접근하기 전에 애플리케이션을 등록해야 합니다. 등록 서버( pnpm register )는 이 프로세스를 자동화합니다.

  • 필요한 EC 키 쌍을 생성합니다.
  • ngrok를 사용하여 개발을 위한 임시 공개 URL을 생성합니다.
  • 필요한 경로에 공개 키를 호스팅합니다.
  • Tesla와의 등록 API 호출을 처리합니다.

Ngrok 설정(등록에 필요)

  1. ngrok.com/download 에서 ngrok을 설치하세요
  2. ngrok.com 에서 무료 계정을 만드세요
  3. ngrok 대시보드 에서 인증 토큰을 받으세요
  4. ngrok 인증:
    ngrok authtoken YOUR_AUTH_TOKEN

사용 가능한 MCP 도구

서버는 Claude가 사용할 수 있는 다음과 같은 도구를 제공합니다.

  • wake_up : 테슬라 차량을 절전 모드에서 깨웁니다.
    • 필수 매개변수로 vehicle_id 사용합니다.
    • 차량의 현재 상태를 반환합니다
  • refresh_vehicles : 테슬라 차량 목록을 새로 고칩니다.
    • 매개변수가 필요하지 않습니다
    • 차량의 내부 캐시를 업데이트합니다.
  • debug_vehicles : 사용 가능한 차량에 대한 자세한 정보를 표시합니다.
    • 매개변수가 필요하지 않습니다
    • ID, 차량 ID, VIN 및 주 정보를 반환합니다.

MCP 서버를 사용하도록 Claude 설정

  1. Claude 구성 디렉토리를 만듭니다.
    mkdir -p ~/Library/Application\ Support/Claude
  2. 구성 파일을 생성하거나 편집합니다.
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
  3. 다음 구성을 추가합니다(필요에 따라 경로를 조정합니다):
    { "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } }
  4. run-mcp.js 스크립트를 실행 가능하게 만듭니다.
    chmod +x run-mcp.js
  5. Claude를 완전히 다시 시작하세요

Claude와 함께 MCP 서버 사용

서버가 실행 중이고 Claude가 구성되면 Claude에게 다음을 요청할 수 있습니다.

  • "제가 가지고 있는 테슬라 차량은 무엇인가요?"
  • "제 테슬라를 깨워줄 수 있나요?"
  • "내 Tesla 차량에 대한 디버그 정보를 보여주세요"

문제 해결

문제가 발생하는 경우:

환경 변수

  • .env 파일에 유효한 자격 증명이 포함되어 있는지 확인하세요.
  • 필요한 경우 pnpm get-token 실행하여 토큰을 새로 고칩니다.

서버 연결

  • 서버가 실행 중인지 확인하세요( pnpm start )
  • Claude의 구성이 올바른 파일 경로를 가리키는지 확인하세요.

차량 연결성

  • 차량이 오프라인이거나 절전 모드일 수 있습니다.
  • 먼저 wake_up 명령어로 차량을 깨워보세요.

디버그 모드

  • debug_vehicles 명령을 사용하여 차량에 대한 자세한 정보를 얻으세요.
  • MCP 서버를 실행 중인 터미널에서 서버 로그를 확인하세요.

명령줄 도구

서버에는 여러 가지 유용한 스크립트가 포함되어 있습니다.

  • pnpm build : TypeScript 코드 컴파일
  • pnpm start : run-mcp.js 스크립트를 사용하여 서버를 실행합니다.
  • pnpm register : Tesla API로 앱 등록
  • pnpm get-token : Tesla에서 새로 고침 토큰 받기
  • pnpm test-api : Tesla API에 대한 연결을 테스트합니다.
  • pnpm inspector : 디버깅을 위해 MCP Inspector로 서버를 실행합니다.

API 제한 사항

2023년 10월 9일부터 Tesla는 REST API에서 여러 차량 명령 엔드포인트를 더 이상 지원하지 않습니다. 경적을 울리는 것과 같은 명령은 이제 REST API 대신 Tesla Vehicle Command Protocol을 사용해야 합니다. 이 MCP 서버는 현재 작동 중인 REST API 엔드포인트만 지원합니다.

향후 개선 사항

향후 개선 가능한 내용은 다음과 같습니다.

  • 추가 명령을 위한 Tesla 차량 명령 프로토콜과의 통합
  • 더 많은 차량 정보 엔드포인트 지원
  • 구성 및 모니터링을 위한 사용자 인터페이스

특허

MIT 라이센스

You must be authenticated.

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

Claude와 같은 AI 보조원이 Tesla 차량을 제어하고 자연어 명령을 통해 차량 정보에 접근할 수 있도록 하는 Tesla Fleet API에 연결되는 모델 컨텍스트 프로토콜 서버입니다.

  1. Features
    1. Requirements
      1. Security Best Practices
        1. Quick Start
          1. Authentication & Registration
            1. Authentication
            2. Registration
          2. Available MCP Tools
            1. Setting Up Claude to Use the MCP Server
              1. Using the MCP Server with Claude
                1. Troubleshooting
                  1. Environment Variables
                  2. Server Connection
                  3. Vehicle Connectivity
                  4. Debug Mode
                2. Command Line Tools
                  1. API Limitations
                    1. Future Enhancements
                      1. License
                        ID: t0ako8h64j