Office Oxide MCP 서버 — 빠른 시작
office-oxide-mcp는 AI 어시스턴트가 Office 문서의 콘텐츠를 추출할 수 있도록 해주는 Model Context Protocol 서버입니다. 완전히 로컬에서 실행되며, 파일은 내 기기 밖으로 절대 나가지 않습니다.
crgx 설치 (최초 1회)
crgx는 Rust 바이너리를 위한 npx 스타일 실행기입니다. 첫 실행 시 office_oxide_mcp를 자동으로 내려받으므로 MCP를 별도로 설치할 필요가 없습니다.
Linux / macOS
curl -fsSL crgx.dev/install.sh | sh
Windows (PowerShell)
irm crgx.dev/install.ps1 | iex
설정
crgx를 설치한 후 아래 설정을 AI 도구에 붙여 넣으세요. office_oxide_mcp의 다운로드와 업데이트는 crgx가 자동으로 처리합니다.
Claude Desktop
~/.config/claude/claude_desktop_config.json (Linux) 또는 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)에 추가합니다.
{
"mcpServers": {
"office-oxide": {
"command": "crgx",
"args": ["office_oxide_mcp@latest"]
}
}
}
Claude Code
프로젝트의 .claude/settings.json에 추가합니다.
{
"mcpServers": {
"office-oxide": {
"command": "crgx",
"args": ["office_oxide_mcp@latest"]
}
}
}
Cursor
Cursor MCP 설정에 추가합니다.
{
"mcpServers": {
"office-oxide": {
"command": "crgx",
"args": ["office_oxide_mcp@latest"]
}
}
}
대체 설치 방법
crgx를 사용하지 않으려면 office_oxide_mcp를 직접 설치할 수 있습니다.
cargo install office_oxide_mcp
그런 다음 AI 도구가 해당 바이너리를 가리키도록 설정합니다.
{
"mcpServers": {
"office-oxide": {
"command": "office-oxide-mcp"
}
}
}
사용 가능한 도구
extract
지원되는 6가지 Office 형식에서 텍스트, Markdown, HTML 또는 구조화된 IR을 추출합니다.
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
file_path |
string | 예 | .docx, .xlsx, .pptx, .doc, .xls, .ppt 파일 경로 |
output_path |
string | 예 | 추출 결과를 저장할 경로 |
format |
string | 아니오 | "text" (기본값), "markdown", "html", "ir" |
from_format |
string | 아니오 | 확장자 기반 형식 자동 감지를 재정의함 |
convert
형식 간 변환 — 주로 레거시 형식에서 OOXML로의 전환에 사용합니다.
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
input_path |
string | 예 | 원본 파일 |
output_path |
string | 예 | 대상 파일 (형식은 확장자에서 자동 추론) |
동작 방식
MCP 서버는 stdio JSON-RPC 2.0 프로토콜로 통신합니다. AI 어시스턴트가 Office 문서를 읽어야 할 때 tools/call 요청을 보내고, 출력 파일을 가리키는 확인 응답을 받습니다.
모든 처리는 라이브러리 및 CLI와 동일한 Rust 추출 엔진으로 로컬에서 이루어지며, 외부 서비스로 데이터가 전송되지 않습니다.
잘 작동하는 프롬프트 예시
- “
quarterly.docx의 Markdown을quarterly.md로 내보내 줘.” - “
legacy/old_report.doc을modern/old_report.docx로 변환해 줘.” - “브라우저에서 미리 볼 수 있게
slides.pptx를 HTML로 추출해서slides.html로 저장해 줘.” - “표 구조를 확인하고 싶으니
pricing.xlsx의 IR JSON을pricing.ir.json에 덤프해 줘.”
내부적으로 어시스턴트는 다음과 같은 JSON-RPC 호출을 발행합니다.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "extract",
"arguments": {
"file_path": "/path/quarterly.docx",
"output_path": "/path/quarterly.md",
"format": "markdown"
}
}
}
서버는 결과를 output_path에 기록하고 짧은 확인 메시지를 반환합니다. 어시스턴트는 이후 해당 파일을 읽어 자신의 컨텍스트에 반영합니다.
더 보기
- CLI — 터미널에서 동일한 작업 수행하기
- Rust 크레이트 — 같은 엔진을 라이브러리로 사용하기
- MCP 사양 — modelcontextprotocol.io