테슬라 MCP 서버
Tesla Fleet API에 연결되는 MCP(Model Context Protocol) 서버를 사용하면 Claude와 MCP를 지원하는 다른 AI 보조 장치를 사용하여 Tesla 차량을 제어할 수 있습니다.
특징
차량 깨우기 : 테슬라를 절전 모드에서 깨우세요
차량 정보 : Tesla 차량에 대한 자세한 정보를 확인하세요
실시간 업데이트 : 차량 데이터를 필요에 따라 새로 고침
디버깅 도구 : 문제 해결에 도움이 되는 자세한 차량 정보에 액세스합니다.
Related MCP server: Hass-MCP
요구 사항
노드.js 18+
pnpm(권장) 또는 npm
최소 1대의 차량이 있는 Tesla 계정
Tesla API 자격 증명(클라이언트 ID 및 클라이언트 비밀번호)
Ngrok(개발 및 등록용)
보안 모범 사례
이 프로젝트는 민감한 Tesla API 자격 증명을 처리합니다. 다음 보안 지침을 준수해 주세요.
자격 증명을 커밋하지 마십시오 .
.gitignore파일은.env및keys/제외하지만 항상 두 번 확인하십시오.보안 검사기를 사용하세요 : 잠재적으로 유출된 자격 증명을 감지하기 위해 커밋하기 전에
./check-secrets.sh실행하세요.개인 키 보호 :
keys/디렉토리의 내용을 안전하게 보관하세요공유하기 전에 코드를 검토하세요 . 소스 파일에 자격 증명이 하드코딩되어 있지 않은지 확인하세요.
이 프로젝트를 포킹하거나 공유할 때:
.env파일이 포함되지 않았는지 확인하세요.개인 키가 커밋되지 않았는지 확인하세요.
.gitignore파일이 올바르게 설정되었는지 확인하세요.
빠른 시작
저장소를 복제합니다
지엑스피1
종속성 설치
pnpm install환경 변수 설정 루트 디렉토리에
.env파일을 만듭니다.TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_token새로 고침 토큰을 받으세요 (없는 경우)
pnpm get-tokenTesla의 API로 애플리케이션을 등록하세요
pnpm register스크립트에서 제공하는 지침을 따르세요
서버를 빌드하세요
pnpm build서버를 실행하세요
pnpm start
인증 및 등록
이 프로젝트는 공식 Tesla Fleet API OAuth 2.0 인증 흐름을 사용하여 Tesla 계정에 안전하게 연결합니다. 전체 과정은 다음 두 단계로 구성됩니다.
인증 : OAuth 2.0 흐름을 통해 새로 고침 토큰 얻기
등록 : 파트너 계정 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 설정(등록에 필요)
ngrok.com/download 에서 ngrok을 설치하세요
ngrok.com 에서 무료 계정을 만드세요
ngrok 대시보드 에서 인증 토큰을 받으세요
ngrok 인증:
ngrok authtoken YOUR_AUTH_TOKEN
사용 가능한 MCP 도구
서버는 Claude가 사용할 수 있는 다음과 같은 도구를 제공합니다.
wake_up: 테슬라 차량을 절전 모드에서 깨웁니다.필수 매개변수로
vehicle_id사용합니다.차량의 현재 상태를 반환합니다
refresh_vehicles: 테슬라 차량 목록을 새로 고칩니다.매개변수가 필요하지 않습니다
차량의 내부 캐시를 업데이트합니다.
debug_vehicles: 사용 가능한 차량에 대한 자세한 정보를 표시합니다.매개변수가 필요하지 않습니다
ID, 차량 ID, VIN 및 주 정보를 반환합니다.
MCP 서버를 사용하도록 Claude 설정
Claude 구성 디렉토리를 만듭니다.
mkdir -p ~/Library/Application\ Support/Claude구성 파일을 생성하거나 편집합니다.
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json다음 구성을 추가합니다(필요에 따라 경로를 조정합니다):
{ "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } }run-mcp.js 스크립트를 실행 가능하게 만듭니다.
chmod +x run-mcp.jsClaude를 완전히 다시 시작하세요
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 차량 명령 프로토콜과의 통합
더 많은 차량 정보 엔드포인트 지원
구성 및 모니터링을 위한 사용자 인터페이스