Skip to main content
Glama
alerundev

Salesforce MCP Server

by alerundev
README.md
# Salesforce MCP Server

Node.js / Express / TypeScript 기반 Salesforce MCP (Model Context Protocol) 서버

자연어로 Salesforce 데이터를 조회할 수 있습니다.

---

## 실행 방법

### 로컬 실행

```bash
# 환경변수 설정
cp .env.example .env
# .env 파일에 Salesforce 인증 정보 입력 후

npm install
npm run build
npm start

# 인증 토큰과 함께 실행
TOKEN=your_token npm start
```

### 샘플 데이터 생성

```bash
npm run seed
```

거래처 7개, 담당자, 영업 기회, 리드, 활동 데이터를 자동으로 생성합니다.

---

## 배포하기 (클라우드타입)

1. **새 서비스 생성** → GitHub 연동 → `alerundev/salesforce-mcp-server` 선택
2. **설정**
   - Node v22
   - 빌드 명령어: `npm run build`
   - 시작 명령어: `npm start`
3. **환경변수 설정**

| 키 | 값 |
|----|-----|
| `SF_LOGIN_URL` | `https://login.salesforce.com` |
| `SF_USERNAME` | Salesforce 로그인 이메일 |
| `SF_PASSWORD` | Salesforce 비밀번호 |
| `SF_SECURITY_TOKEN` | Salesforce 보안 토큰 |
| `SF_CONSUMER_KEY` | Connected App 소비자 키 |
| `SF_CONSUMER_SECRET` | Connected App 소비자 시크릿 |
| `TOKEN` | (선택) Bearer 토큰 인증 사용 시 |

4. **MCP 접속 주소**
   ```
   https://<배포된 도메인>/mcp
   ```

---

## 인증

Bearer 토큰 인증을 사용합니다 (환경변수 `TOKEN` 설정 시 활성화):

```
Authorization: Bearer your-token
```

---

## 지원 도구 (Tools)

| Tool | 설명 |
|------|------|
| `get_accounts` | 거래처 목록 조회 |
| `search_accounts` | 키워드로 거래처 검색 |
| `get_opportunities` | 영업 기회 목록 조회 |
| `get_opportunities_by_stage` | 단계별 영업 기회 조회 (Closed Won, Prospecting 등) |
| `get_opportunities_summary` | 단계별 영업 기회 집계 (건수 + 금액) |
| `get_contacts` | 담당자 목록 조회 |
| `search_contacts` | 이름으로 담당자 검색 |
| `get_leads` | 잠재 고객 목록 조회 |
| `get_leads_by_status` | 상태별 잠재 고객 조회 |
| `get_recent_activities` | 최근 활동(Task) 조회 |
| `run_soql` | 직접 SOQL 쿼리 실행 |

---

## 자연어 질문 예시

- "이번 달 마감 예정인 딜 목록 보여줘"
- "Closed Won 상태인 영업 기회는 얼마야?"
- "삼성전자 담당자 찾아줘"
- "단계별로 영업 기회 요약해줘"
- "Hot 등급 리드 보여줘"