Skip to main content
Glama

octave-mcp

GNU Octave를 Claude AI와 연결하는 MCP(Model Context Protocol) 서버입니다.
Claude Code에서 자연어로 Octave 코드를 실행하고, 수치 계산·그래프·이미지 처리·딥러닝 추론까지 바로 수행할 수 있습니다.


기능

  • Octave 코드를 MCP 도구(run_octave)로 실행

  • 텍스트 결과(stdout/stderr)를 Claude에게 반환

  • plot, imagesc, surf 등 그래프 명령이 포함된 경우 PNG 파일로 자동 저장 후 이미지로 반환

  • Python(system() 호출)을 통해 PyTorch/torchvision 등 외부 라이브러리 연동 가능


요구 사항

항목

버전

Node.js

18 이상

GNU Octave

6.0 이상

Python

3.9 이상 (딥러닝 기능 사용 시)

Python 선택적 의존성 (딥러닝 기능)

torch >= 2.0
torchvision >= 0.15
scikit-image >= 0.20
scipy >= 1.10
pooch          # scipy.datasets 이미지 로드에 필요
Pillow

설치

git clone <repo-url>
cd octave-mcp
npm install

Claude Code MCP 등록

~/.claude/claude_desktop_config.json (또는 MCP 설정 파일)에 아래 내용을 추가합니다.

{
  "mcpServers": {
    "octave": {
      "command": "node",
      "args": ["/Users/<yourname>/octave-mcp/index.js"]
    }
  }
}

사용 방법

Claude Code 대화창에서 자연어로 요청하면 됩니다.

Octave로 1부터 10까지 더한 값을 계산해줘
Octave로 sin 그래프를 그려줘
2D 푸리에 변환을 하고 스펙트럼을 표시해줘
ResNet18로 너구리 이미지 추론해줘

서버 구조

octave-mcp/
├── index.js                      # MCP 서버 진입점
├── package.json
├── resnet18_raccoon_result.png   # ResNet18 추론 결과 이미지
├── outputs/                      # 생성된 그래프·이미지 저장 디렉토리
│   ├── plot_<uuid>.png
│   └── resnet18_raccoon_result.png
└── README.md

동작 흐름

  1. Claude → MCP run_octave 도구 호출 (Octave 코드 전달)

  2. index.jsoctave --no-gui --eval <code> 프로세스를 생성

  3. 그래프 명령 감지 시 print(gcf, '<path>', '-dpng', '-r150')를 자동 삽입

  4. stdout / 생성된 PNG를 Claude에게 반환


주요 사용 예시

수치 계산

result = sum(1:10);
printf('합계: %d\n', result);
% -> 55

2D 푸리에 변환 & 역변환

img = peaks(256);
F = fft2(img);
F_shifted = fftshift(F);
img_rec = real(ifft2(ifftshift(F_shifted)));
% 복원 오차: ~1e-13 (부동소수점 수준)

ResNet18 이미지 분류 (Python 연동)

[status, out] = system('python3 /tmp/resnet_infer.py 2>&1');
% Top1: badger 35.59% / Top2: grey fox 17.83% ...

추론 결과 예시

ResNet18 Raccoon Inference

순위

클래스

확률

Top1

badger (오소리)

35.59%

Top2

grey fox (회색여우)

17.83%

Top3

lesser panda (레서판다)

8.63%

Top4

three-toed sloth (나무늘보)

7.69%

Top5

Madagascar cat

2.45%

ImageNet-1K에 raccoon 클래스가 없어 유사 동물인 badger로 분류됩니다.


출력 파일

그래프 및 추론 결과 이미지는 ~/octave-mcp/outputs/ 에 저장됩니다.

파일

내용

plot_<uuid>.png

Octave 그래프 출력

resnet18_raccoon_result.png

ResNet18 추론 결과 오버레이 이미지


알려진 제한 사항

  • imshow 등 일부 명령은 플롯 감지 패턴에 포함되지 않아 imread로 별도 로드 필요

  • Octave 실행 타임아웃 기본값: 30초

  • skimage.data.raccoon()은 scikit-image v0.20에서 제거됨 → scipy.datasets.face() 사용

  • ImageNet-1K에 raccoon 클래스 없음 → ResNet18은 유사 동물(badger 등)로 분류


라이선스

ISC

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bemoregt/Octave_MCP_ClaudeCode'

If you have feedback or need assistance with the MCP directory API, please join our Discord server