Vanta MCP Server
Vanta MCP 서버
Vanta 규정 준수 플랫폼을 위한 MCP 서버입니다. 컨트롤, 취약점, 벤더, 테스트, 위험 시나리오, 정책, 모니터링되는 컴퓨터, 문서 및 발견 사항을 관리하기 위한 16개의 도구를 제공합니다.
전송 방식
전송 방식 | 엔드포인트 | 사용 사례 |
Streamable HTTP |
| Claude Desktop, 대부분의 MCP 클라이언트 |
SSE |
| 레거시 클라이언트 (n8n 등) |
Health |
| 컨테이너 상태 확인 |
빠른 시작 — Docker
1. 자격 증명 가져오기
Vanta 개발자 콘솔에 로그인합니다.
Settings → API Access로 이동합니다.
OAuth 애플리케이션을 생성하고 Client ID와 Client Secret을 복사합니다.
도구에 필요한 범위(일반적으로
vanta.read및vanta.write)를 부여합니다.
2. 구성
cp .env.example .env
# Edit .env — set OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET at minimum.env 예시:
OAUTH_CLIENT_ID=your_client_id
OAUTH_CLIENT_SECRET=your_client_secret
AUTH_TOKEN= # optional — requires Bearer auth on /mcp and /sse
PORT=80103. 실행
docker compose up -d
# Server: http://localhost:8010
# Health: http://localhost:8010/health4. Claude Desktop 연결
claude_desktop_config.json에 추가합니다:
{
"mcpServers": {
"vanta": {
"type": "http",
"url": "http://localhost:8010/mcp"
}
}
}AUTH_TOKEN이 설정된 경우:
{
"mcpServers": {
"vanta": {
"type": "http",
"url": "http://localhost:8010/mcp",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN"
}
}
}
}빠른 시작 — 로컬 (Docker 미사용)
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
export OAUTH_CLIENT_ID=your_client_id
export OAUTH_CLIENT_SECRET=your_client_secret
python -m src.server환경 변수
변수 | 기본값 | 설명 |
|
| 정보 제공용 — |
|
| 바인딩 주소 |
|
| HTTP 포트 (레거시 |
| (비활성화됨) | 설정 시 클라이언트는 |
|
|
|
|
| HTTP 요청 시간 제한 (초) |
|
| Vanta API 기본 URL |
| — | 기본 테넌트: Vanta OAuth2 클라이언트 ID ( |
| — | 기본 테넌트: Vanta OAuth2 클라이언트 시크릿 ( |
OAUTH_CLIENT_ID / OAUTH_CLIENT_SECRET은 "default" 테넌트 항목을 자동 생성하는 데만 사용됩니다. 다중 테넌트 배포의 경우 대신 config/tenants.json을 사용하십시오.
다중 테넌트
여러 Vanta 조직을 사용하는 경우 config/tenants.json을 채우십시오 (config/tenants.json.example에서 복사):
{
"tenants": [
{
"id": "acme-corp",
"vanta_base_url": "https://api.vanta.com",
"vanta_client_id": "vci_CLIENT_ID_A",
"vanta_client_secret": "vcs_CLIENT_SECRET_A"
},
{
"id": "contoso",
"vanta_base_url": "https://api.vanta.com",
"vanta_api_token": "vat_PERSONAL_ACCESS_TOKEN_B"
}
]
}id 값은 에이전트/클라이언트가 X-Tenant-ID 요청 헤더로 보내는 값입니다:
X-Tenant-ID: acme-corp
Authorization: Bearer <AUTH_TOKEN> ← only if AUTH_TOKEN is set in .env자격 증명 필드:
필드 | 필수 | 설명 |
| ✅ |
|
| 선택 | 기본값 |
| ✅* | OAuth 클라이언트 ID (접두사: |
| ✅* | OAuth 클라이언트 시크릿 (접두사: |
| ✅* | 개인 액세스 토큰 — OAuth 대신 사용 가능 (접두사: |
*테넌트당 하나의 인증 방법이 필요합니다. 프로덕션 환경에서는 OAuth를 권장합니다.
tenants.json에 "default"가 존재하면 X-Tenant-ID 헤더가 없는 요청은 자동으로 해당 자격 증명을 사용합니다. 전체 아키텍처 및 클라이언트 사용 예시는 ../MCP-Multi-Tenant-Guide.md를 참조하십시오.
config/tenants.json은 gitignore 처리되어 Docker 이미지에 포함되지 않으며, ./config:/app/config:ro 볼륨을 통해 런타임에 마운트됩니다.
도구
컨트롤
도구 | 설명 |
| 페이지네이션 옵션과 함께 모든 컨트롤 나열 |
| ID별 특정 컨트롤의 전체 세부 정보 가져오기 |
| 특정 컨트롤에 연결된 모든 테스트 나열 |
취약점
도구 | 설명 |
| 페이지네이션 옵션과 함께 취약점 나열 |
| 취약점의 수정 상태 및 메모 업데이트 |
| 페이지네이션 옵션과 함께 취약점 발견 사항 나열 |
| ID별 취약점 비활성화 |
벤더
도구 | 설명 |
| 페이지네이션 옵션과 함께 승인된 벤더 나열 |
| ID별 특정 벤더의 전체 세부 정보 가져오기 |
| 자동 발견된 벤더 나열 (통합 기능 사용) |
테스트
도구 | 설명 |
| 페이지네이션 옵션과 함께 모든 규정 준수 테스트 나열 |
| 특정 테스트와 관련된 엔티티 나열 |
위험 및 정책
도구 | 설명 |
| 페이지네이션 옵션과 함께 위험 시나리오 나열 |
| 페이지네이션 옵션과 함께 보안 정책 나열 |
자산 및 문서
도구 | 설명 |
| Vanta 에이전트가 모니터링하는 컴퓨터 나열 |
| 문서 나열 (정책, 절차, 증거) |
인증 흐름
Claude Desktop → POST /mcp
→ TenantAuthMiddleware (validates AUTH_TOKEN if set, reads X-Tenant-ID)
→ _require_client() → tenants.json lookup or env vars
→ OAuth2 token exchange (POST https://api.vanta.com/oauth/token)
→ Vanta API call with Bearer token
→ Response토큰은 테넌트 인스턴스별로 캐시되며 401 오류 발생 시 자동으로 갱신됩니다.
프로젝트 레이아웃
Vanta-MCP/
├── src/
│ ├── server.py # Starlette app; /mcp, /sse, /health endpoints
│ ├── middleware.py # TenantAuthMiddleware (AUTH_TOKEN + X-Tenant-ID)
│ ├── context.py # Request-scoped tenant ID storage
│ ├── tools.py # All 16 MCP tool functions
│ └── vanta_client.py # Vanta API client (OAuth2, all endpoints)
├── config/
│ ├── tenants.json # Gitignored — your multi-tenant config
│ └── tenants.json.example # Template — safe to commit
├── Dockerfile
├── docker-compose.yml
├── docker-compose.override.yml.example
├── requirements.txt
├── .env.example
└── README.md문제 해결
401 Unauthorized
OAUTH_CLIENT_ID및OAUTH_CLIENT_SECRET이 올바른지 확인하십시오.OAuth 앱이 Vanta 개발자 콘솔에서 필요한 범위를 가지고 있는지 확인하십시오.
AUTH_TOKEN을 사용하는 경우 클라이언트가Authorization: Bearer <token>을 전송하는지 확인하십시오.
403 Forbidden
OAuth 앱 범위가 충분하지 않습니다. Vanta 개발자 콘솔에서 업데이트하십시오.
404 Not Found
리소스 ID가 Vanta 조직에 존재하지 않습니다.
Claude Desktop에 도구가 표시되지 않음
claude_desktop_config.json변경 후 Claude Desktop을 다시 시작하십시오.서버가 실행 중인지 확인하십시오:
curl http://localhost:8010/health.
No Vanta credentials found
.env(또는 환경 변수)에OAUTH_CLIENT_ID및OAUTH_CLIENT_SECRET이 설정되어 있는지 확인하십시오.또는
config/tenants.json이 마운트되어 있고 요청된 테넌트에 대한 유효한 항목이 포함되어 있는지 확인하십시오.
Docker 코드 변경 사항이 반영되지 않음
docker compose restart는 이미지를 다시 빌드하지 않습니다. 다음을 실행하십시오:
docker compose build --no-cache && docker compose up -d라이선스
MIT
Related MCP Connectors
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
CTEM for your Trusteed tenant: security summary, findings, compliance gaps, and scans via OAuth.
EU compliance corpus across 8 frameworks (NIS2, DORA, AI Act, ISO 27001 + more) via MCP.