AI에게 MIDAS NX 모델을 말로 물어보세요.
Claude Desktop 같은 AI 앱이 지금 열려 있는 Gen NX / Civil NX 모델을 읽고, 해석 결과를 보여 주고, 사용자가 확인한 변경만 적용하게 해 주는 로컬 MCP 서버입니다.
MIDAS IT 구성원이 만든 개인 프로젝트 · 알파 · 공식 제품이 아닙니다https://dennis5882.github.io/midas-nx-mcp/llms.txt
설치 방법, 도구, 지켜야 할 규칙을 AI가 읽기 좋게 정리한 파일입니다.
도구
읽기 전용 도구
확인 후 변경 도구
Gen NX · Civil NX
무엇을 할 수 있나
모델을 열어 둔 채로 AI에게 물어보면, AI가 알맞은 도구를 골라 NX에서 직접 읽어 옵니다.
모델 읽기
"Gen 모델 요약해줘"라고 하면 절점·요소·재료·단면·하중 케이스 개수와 단위계를 알려 줍니다. 테이블 구조와 기록도 볼 수 있습니다.
해석 결과
"DL 반력 보여줘", "보 부재력 DL 기준으로"처럼 결과 테이블을 조회합니다. 결과를 근거로 검토도 시킬 수 있습니다.
화면 캡처
"모델 화면 보여줘"라고 하면 NX 창을 그림으로 받아 봅니다.
확인 후 변경
절점 추가, 기록 수정·삭제, 해석 실행, 사본 저장. 모든 변경은 미리보기를 먼저 보여 주고, 사용자가 확인해야만 적용됩니다.
동작 방식
모든 것이 내 PC 안에서 실행됩니다. 서버는 AI 앱이 켜고 끄므로 따로 실행할 필요가 없습니다.
준비물
| OS | Windows |
|---|---|
| NX | Gen NX 또는 Civil NX가 같은 PC에서 실행 중이고, Open API가 연결된 상태 (Apps > API Settings) |
| MAPI 키 | 제품마다 다릅니다. 각 프로그램의 Apps > API Settings에서 확인합니다. 본인 PC의 키를 쓰세요. |
| AI 앱 | Claude Desktop 최신 버전 (권장). Claude Code, Codex 등 다른 MCP 앱도 됩니다. |
Gen 키와 Civil 키를 바꿔 넣지 마세요. 다른 제품의 키를 넣어도 "연결됨"으로 보이지만 실제 작업은 실패합니다. 키는 다른 사람과 공유하지 마세요.
설치: Claude Desktop
Python이나 uv를 따로 설치할 필요가 없습니다.
-
설치 파일 내려받기
최신 릴리스에서
midas-nx-mcp-<버전>.mcpb를 받습니다. -
더블클릭으로 설치
파일을 더블클릭하거나 Claude Desktop의
설정 > 확장(Extensions)으로 끌어다 놓습니다. -
키 입력
설치 화면에서 Gen 키와 Civil 키를 넣습니다. 쓰지 않는 제품은 비워 둡니다. 저장 폴더(기본
C:\temp, 미리 만들어 두어야 함)와 해석 대기 시간도 여기서 정합니다. 나중에설정 > 확장에서 바꿀 수 있습니다. -
연결 확인
NX에서 모델을 연 뒤 Claude에게 "Gen 연결 확인해줘"라고 해 봅니다. 연결됨과 프로그램 이름이 나오면 끝입니다.
다른 앱 / 수동 설치
아래 방법은 uv가 필요합니다. PowerShell에서 한 번 설치합니다:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"설정 > 개발자 > 구성 편집으로 claude_desktop_config.json을 열고 mcpServers에 추가한 뒤, Claude Desktop을 트레이까지 완전히 종료했다가 다시 켭니다.
{
"mcpServers": {
"midas-nx": {
"command": "uvx",
"args": ["midas-nx-mcp@latest"],
"env": {
"MIDAS_MAPI_KEY_GEN": "Gen NX 키",
"MIDAS_MAPI_KEY_CIVIL": "Civil NX 키"
}
}
}
}claude mcp add midas-nx -e MIDAS_MAPI_KEY_GEN=Gen키 -e MIDAS_MAPI_KEY_CIVIL=Civil키 -- uvx midas-nx-mcp@latest~/.codex/config.toml에 추가합니다. 설정 화면에서 STDIO 서버로 넣어도 됩니다.
[mcp_servers.midas-nx]
command = "uvx"
args = ["midas-nx-mcp@latest"]
env = { MIDAS_MAPI_KEY_GEN = "Gen NX 키", MIDAS_MAPI_KEY_CIVIL = "Civil NX 키" }이렇게 물어보세요
문장에 "Gen" 또는 "Civil"을 넣어 주세요. 그래야 맞는 키로 접속합니다.
| 하고 싶은 것 | 예시 |
|---|---|
| 개요 | "Civil 모델 요약해줘" |
| 테이블 찾기 / 구조 | "Gen에서 하중 관련 테이블 뭐 있어?", "SECT 테이블은 어떤 필드가 있어?" |
| 기록 읽기 | "절점 1~10번 좌표 보여줘", "사용 중인 단면 목록" |
| 설계 설정 | "설계 기준 뭐로 되어 있어?" |
| 현재 선택 | "지금 NX에서 선택한 거 뭐야?" |
| 해석 결과 | "DL 반력 보여줘", "DL, LL 변위 보여줘" |
| 검토 | "반력 합이 자중과 맞는지 확인해줘" |
| 화면 | "모델 화면 보여줘" |
한 번에 최대 200행까지 옵니다. 더 필요하면 "다음 200개", "1001~1100번만"처럼 범위를 말하세요.
미리보기 → 확인 → 적용
모델이나 파일을 바꾸는 작업(해석, 사본 저장, 기록 생성·수정·삭제)은 항상 두 단계입니다. AI가 먼저 무엇이 바뀔지 보여 주고, 사용자가 "진행해"라고 해야 적용합니다. 그 사이에 모델이 바뀌면 거부되고, 적용한 뒤에는 다시 읽어서 결과를 보고합니다.
- 변경하면 해석 결과가 지워집니다. 결과를 다시 보려면 해석부터 다시 돌리세요.
- 해석 전에 NX가 현재 파일에 덮어 저장합니다. 원본을 지키려면 먼저 "사본 저장해줘"로 사본을 만드세요.
- 한 번도 저장하지 않은 새 문서는 해석이 거부됩니다. 사본 저장으로 먼저 파일을 만드세요.
- 사본은
C:\temp에 자동 이름으로 저장되고, 이후 작업은 사본에 들어갑니다. - 새 문서·열기·가져오기, 테이블 전체 삭제는 위험해서 아예 제공하지 않습니다.
중요한 모델은 사본에서 먼저 써 보세요. 작은 테스트 모델에서 검증한 알파 버전이고, 대형 실무 모델에서는 아직 충분히 써 보지 않았습니다.
도구 목록
AI가 알아서 고르므로 외울 필요는 없습니다. 모든 도구는 product(gen 또는 civil)를 받습니다.
| 도구 | 종류 | 내용 |
|---|---|---|
check_connection | 읽기 | 연결 여부, 프로그램 이름 |
list_tables | 읽기 | /db, /DESIGN 테이블 목록 (검색 가능) |
describe_table | 읽기 | NX가 알려 주는 테이블 필드 구조 |
read_table | 읽기 | 테이블 기록 (id 지정 가능, 최대 200행) |
model_summary | 읽기 | 주요 테이블 개수, 단위계 |
read_model_info | 읽기 | 프로젝트 상태, 단면 특성, 층 검토 파라미터(Gen), 현재 선택 |
list_result_tables | 읽기 | 결과 테이블 종류 |
result_table | 읽기 | 해석 결과 테이블 (하중 케이스, 성분, 대상 지정) |
capture_view | 읽기 | NX 화면 PNG |
run_analysis | 변경 | 해석 실행 (NX가 먼저 현재 파일에 저장) |
save_copy | 변경 | C:\temp에 자동 이름으로 사본 저장 |
write_records | 변경 | 기록 생성·수정, 한 번에 50개까지 |
delete_records | 변경 | id로 기록 삭제, 한 번에 50개까지 |
문제 해결
| 증상 | 확인할 것 |
|---|---|
| 모든 호출이 갑자기 타임아웃 | NX에 팝업이 떠 있는지 보고 NX 창에서 직접 답하세요. AI에게 다시 시키지 마세요. |
| "... is not set" | 그 제품의 키를 넣었는지 (설정 > 확장) |
| 연결은 되는데 읽기가 실패 | Gen/Civil 키가 바뀌지 않았는지, NX에서 API가 연결 상태인지 |
| "NX is not running" | NX를 켜고 Apps > API Settings에서 연결 |
| "no analysis result" | 해석을 안 했거나, 이후 변경으로 결과가 지워짐 |
| 캡처·저장 실패 | 저장 폴더(C:\temp)가 실제로 있는지 |
| 새 버전이 반영 안 됨 | .mcpb는 새 파일로 다시 설치. 수동 설치는 uv cache clean 후 앱 재시작 |
그 밖의 문제나 제안은 GitHub Issues에 남겨 주세요.
