CANoe MCP Advanced 프로젝트에 오신 것을 환영합니다. 이 프로젝트는 마스터 제어 프로그램(MCP)의 정신을 담아, 고급 AI 기능을 통해 복잡한 시스템을 지능적으로 감독, 관리 및 최적화하도록 설계되었습니다. 데이터 처리, 자율적인 의사 결정, 다양한 통합 구성 요소 전반의 작업을 조정하여 탁월한 효율성과 정확성으로 사전 정의된 목표를 달성하는 중앙 신경계 역할을 합니다.
이 AI 제어 시스템은 다음을 제공하도록 설계되었습니다:
- 지능형 자동화: 적응형 알고리즘으로 일상적이고 복잡한 작업을 자동화합니다.
- 실시간 모니터링: 시스템 상태를 지속적으로 감시하고 분석합니다.
- 예측 분석: 잠재적 문제를 예측하고 리소스 할당을 최적화합니다.
- 적응형 제어: 환경 피드백 및 성능 지표에 따라 시스템 매개변수를 동적으로 조정합니다.
- 보안 및 복원력 있는 운영: 중요한 인프라에 대한 강력하고 내결함성 있는 제어를 보장합니다.
Connection & Configuration (4)
- CANoe 연결 (Configuration 없이도 가능)
- Configuration 로드/저장
- CAPL 컴파일
Measurement Control (4)
- Measurement 시작/중지/리셋
- 상태 확인
Signal Operations (2) ⭐
- CAN 신호 읽기/쓰기
- Raw value 지원
Status & Info (4)
- CAN Bus 통계
- Database/Node 정보
- Logging blocks
Variables (4)
- Environment 변수 읽기/쓰기
- System 변수 읽기/쓰기
Test Execution (5)
- Test environment/module 조회
- Test 실행
Logging & Replay (4)
- Logging block 관리
- Replay block 제어
Diagnostics (5)
- 진단 요청 전송
- CAPL 함수 호출
- Symbols/Messages 조회
이 프로젝트는 고급 기능을 제공하기 위해 강력한 기술 스택을 활용합니다.
Python- FastMCP - MCP 서버 프레임워크
- py-canoe - CANoe COM API 래퍼
- asyncio - 비동기 처리
- pydantic - 데이터 검증
- pywin32 - Windows COM 인터페이스
CANoe MCP Advanced의 로컬 복사본을 설정하고 실행하려면 다음의 간단한 단계를 따르십시오.
시스템에 다음 소프트웨어가 설치되어 있는지 확인하십시오:
Python 3.8+pipVector CANoe 19.4+py-canoe 라이브러리Windows 10/11Claude Code (MCP 클라이언트)
- 저장소 클론:
git clone https://github.com/VectorCANoe/CANoe-mcp.git cd CANoe-mcp - 개발 모드 설치:
pip install -e . - Claude Code에 MCP 서버 등록:
~/.mcp.json에 다음을 추가하십시오:{ "mcpServers": { "canoe-advanced": { "command": "python", "args": ["-m", "canoe_mcp_advanced"], "env": {"PYTHONIOENCODING": "utf-8"} } } } - Claude Code 재시작.
설치되면 CANoe MCP Advanced를 활성화하고 시스템을 관리하도록 구성할 수 있습니다.
# CANoe 연결
attach_canoe(allow_no_config=True)
# Configuration 로드
open_configuration("path/to/config.cfg")
# Measurement 시작
start_measurement()
# Signal 읽기
get_signal_value(
bus="CAN",
channel=1,
message="EngineState",
signal="EngineSpeed"
)
# Signal 쓰기
set_signal_value(
bus="CAN",
channel=1,
message="EngineState",
signal="EngineSpeed",
value=3000.0
)
# Measurement 중지
stop_measurement()# 1. CANoe 연결
attach_canoe()
# 2. CAPL 컴파일
compile_capl_nodes()
# 3. Measurement 시작
start_measurement()
# 4. 신호 모니터링 & 제어
while running:
speed = get_signal_value(...)
if speed > threshold:
set_signal_value(...)
# 5. Test 실행
execute_test_module(test_env="TestEnv", test_module="TestModule")
# 6. 통계 확인
stats = get_can_bus_statistics(channel=1)
# 7. Measurement 중지
stop_measurement()✅ 27개 도구 작동 확인
- CANBasic 샘플 Configuration으로 검증
- 핵심 워크플로우 완벽 작동
- Signal 읽기/쓰기 성공 (0 → 3000 rpm)
CANoe MCP Advanced는 다양한 제어 요구 사항을 처리하도록 모듈식 및 확장 가능한 아키텍처로 설계되었습니다.
canoe-mcp-advanced/
├── canoe_mcp_advanced/
│ ├── server.py # FastMCP 서버 (32 tools)
│ ├── canoe_controller.py # CANoe 제어 로직 (31 methods)
│ ├── tools/ # 11개 도구 모듈
│ │ ├── connection.py
│ │ ├── configuration.py
│ │ ├── measurement.py
│ │ ├── signals.py # ⭐ 핵심
│ │ ├── tests.py
│ │ ├── environment.py
│ │ ├── status.py
│ │ ├── logging.py
│ │ ├── replay.py
│ │ ├── diagnostics.py
│ │ └── database.py
│ └── utils/
│ └── error_handler.py # 에러 처리
└── pyproject.toml
CANoe MCP Advanced의 동작은 특정 운영 환경에 맞게 광범위하게 구성할 수 있습니다.
모든 기본 설정은 config.yaml (또는 config.json, .env 파일 등)을 통해 관리됩니다.
# Example config.yaml
system:
name: "CanoeAlphaControlUnit"
log_level: "INFO"
environment: "development"
ai_engine:
model_path: "models/mcp_model.pkl"
decision_threshold: 0.7
learning_rate: 0.001
data_sources:
sensor_feed:
type: "local_file"
path: "data/sensor_logs.csv"
database:
type: "sqlite"
path: "data/mcp_database.db"- 환경 변수: API 키 및 데이터베이스 비밀번호와 같은 민감한 정보는 환경 변수를 통해 관리해야 합니다.
- 모듈별 설정: 각 AI 모듈 또는 구성 요소는 기본 구성 내에 자체 구성 파일 또는 섹션을 가질 수 있습니다.
- 참고: 일부 도구 및 기능은 특정 CANoe Configuration 설정에 따라 달라집니다.
제안된 기능 및 알려진 문제 목록은 이슈를 참조하십시오.
- API 문서 (예정)
- 예제 (예정)
- [더 자세한 기능 로드맵 항목 추가 고려]
- Windows 전용: COM API 사용으로 Windows에서만 작동
- CANoe 라이선스: Vector CANoe 정식 라이선스 필요
- Configuration 의존성: 일부 도구는 CANoe Configuration이 필요합니다 (Configuration 섹션에서 언급)
기여는 오픈 소스 커뮤니티를 배우고, 영감을 주고, 창조하는 놀라운 공간으로 만듭니다. 귀하의 모든 기여는 매우 감사합니다.
더 나은 제안이 있다면, 리포지토리를 포크하고 풀 리퀘스트를 생성하십시오. 또는 단순히 "enhancement" 태그로 이슈를 열 수도 있습니다. 프로젝트에 별을 주는 것을 잊지 마십시오! 다시 한번 감사합니다!
- 프로젝트 포크
- 기능 브랜치 생성 (
git checkout -b feature/AmazingFeature) - 변경 사항 커밋 (
git commit -m 'Add some AmazingFeature') - 브랜치에 푸시 (
git push origin feature/AmazingFeature) - 풀 리퀘스트 열기
MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
Juns - junexi0828@gmail.com GitHub: @junexi0828 프로젝트 링크: https://github.com/VectorCANoe/CANoe-mcp
- py-canoe - CANoe Python 래퍼
- FastMCP - MCP 서버 프레임워크
- Model Context Protocol - MCP 표준
- canoe-mcp - CANoe MCP 서버 통합을 위한 기반
v1.0.0 - Production Ready 🎉