Magma MCP Server
by Mathhwi
README.md
# Magma MCP Server
Magma 수학 컴퓨팅 시스템을 위한 MCP (Model Context Protocol) 서버입니다.
Magma Handbook의 내용을 RAG(Retrieval Augmented Generation)로 검색하여 관련 정보와 코드를 제공합니다.
## 🚀 기능
- **개념 검색**: Magma Handbook에서 수학적 개념과 예제 검색
- **코드 생성**: 설명에 따른 Magma 코드 자동 생성 (RAG 컨텍스트 포함)
- **RAG 시스템**: 벡터 데이터베이스를 통한 의미론적 검색
## 📋 필요 환경
- **Node.js** 18+
- **Python** 3.8+
- **TypeScript** (개발용)
## 🛠 설치 방법
### 1. 저장소 클론
```bash
git clone <repository-url>
cd magma-mcp-simple
```
### 2. Node.js 의존성 설치
```bash
npm install
```
### 3. Python 의존성 설치
```bash
pip install -r requirements.txt
```
### 4. TypeScript 컴파일
```bash
npm run build
```
## ⚙️ MCP 클라이언트 설정
### Cursor 설정
`~/.cursor/mcp.json` 파일에 추가:
**Windows 예시:**
```json
{
"mcpServers": {
"magma-helper": {
"command": "node",
"args": ["build/index.js"],
"cwd": "C:\\Users\\YourName\\Desktop\\magma-mcp-simple"
}
}
}
```
**macOS/Linux 예시:**
```json
{
"mcpServers": {
"magma-helper": {
"command": "node",
"args": ["build/index.js"],
"cwd": "/Users/YourName/Desktop/magma-mcp-simple"
}
}
}
```
### Claude Desktop 설정
`claude_desktop_config.json` 파일에 추가:
**Windows 예시:**
```json
{
"mcpServers": {
"magma-helper": {
"command": "node",
"args": ["C:\\Users\\YourName\\Desktop\\magma-mcp-simple\\build\\index.js"]
}
}
}
```
**macOS/Linux 예시:**
```json
{
"mcpServers": {
"magma-helper": {
"command": "node",
"args": ["/Users/YourName/Desktop/magma-mcp-simple/build/index.js"]
}
}
}
```
## 🎯 사용법
MCP 클라이언트(Cursor, Claude Desktop)에서 다음 도구들을 사용할 수 있습니다:
### 1. Magma 개념 검색
```
도구: search_magma_concepts
입력: { "query": "finite field" }
```
### 2. Magma 코드 생성
```
도구: generate_magma_code
입력: { "description": "Create finite fields and perform basic operations" }
```
## 📁 프로젝트 구조
```
magma-mcp-simple/
├── src/
│ ├── index.ts # MCP 서버 메인
│ └── rag-system.ts # RAG 시스템 (사용하지 않음)
├── vectordb/ # 벡터 데이터베이스
├── search_vectordb.py # Python 검색 스크립트
├── requirements.txt # Python 의존성
├── package.json # Node.js 의존성
└── README.md # 이 파일
```
## 🔧 개발
### 개발 모드 실행
```bash
npm run dev
```
### 수동 테스트
```bash
node build/index.js
```
## 📝 라이선스
MIT License
## 🤝 기여
이슈나 PR을 통해 기여해주세요!
## ⚠️ 주요 설정사항
### 경로 설정
- **반드시 절대 경로를 사용하세요!**
- `src/index.ts` 파일 내의 `workingDir` 변수를 본인 환경에 맞게 수정:
```typescript
const workingDir = 'C:\\Users\\YourName\\Desktop\\magma-mcp-simple'; // Windows
const workingDir = '/Users/YourName/Desktop/magma-mcp-simple'; // macOS/Linux
```
- 수정 후 반드시 `npm run build` 실행
### 필수 요구사항
- `vectordb/` 폴더는 필수입니다 (Magma Handbook 벡터화된 데이터)
- Python과 Node.js 환경이 모두 설치되어 있어야 합니다
- MCP 클라이언트에서 절대 경로 설정이 중요합니다
### 트러블슈팅
- 경로 오류 발생시: `src/index.ts`의 `workingDir` 경로 확인
- Python 오류 발생시: `pip install -r requirements.txt` 재실행
- MCP 연결 안됨: 클라이언트 재시작 후 다시 시도
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues