OfficeAgent.NET 0.2를 통해 MCP 기반의 모든 AI 에이전트에서 SharePoint Word 문서 편집하기
요약
OfficeAgent.NET 0.2가 출시되어 MCP(Model Context Protocol)를 통해 모든 AI 에이전트가 Word 문서를 편집할 수 있게 되었습니다. 이번 업데이트에는 SharePoint 문서 제공자가 추가되어 클라우드 환경에서의 직접적인 문서 작업이 가능해졌습니다.
핵심 포인트
- MCP 지원으로 Claude, Copilot 등 다양한 에이전트에서 사용 가능
- SharePoint 제공자 추가로 기업용 클라우드 문서 직접 편집 지원
- 변경 계획(change plan) 기반의 안전하고 검증된 Open XML 조작
- stdio 및 HTTP 기반의 두 가지 호스팅 모드 제공
몇 주 전, 저는 AI 에이전트가 실제 Word 문서를 생성하고 편집할 수 있게 해주는 오픈 소스 .NET 라이브러리인 OfficeAgent.NET 0.1을 출시했습니다. 에이전트가 Open XML을 직접 조작하는 대신, 자신의 의도를 타입이 지정되고 검증된 변경 계획(change plan)으로 설명하면, 라이브러리가 이를 실행하는 Open XML로 변환합니다. 여기에는 변경 내용 추적(tracked changes), 표(tables), 메모(comments), 콘텐츠 컨트롤(content controls)이 포함됩니다. 버전 0.1에는 Microsoft Agent Framework (MAF) 통합 기능이 포함되어 있어, 커스텀 .NET 에이전트에 이러한 문서 도구를 제공할 수 있었습니다.
오늘 저는 버전 0.2를 소개합니다. 이 버전은 **Model Context Protocol (MCP)**을 통해 동일한 워크플로우를 노출하므로, MCP를 지원하는 모든 에이전트가 실제 Word 문서를 읽고 편집할 수 있습니다. 또한 이번 버전에는 **SharePoint 문서 프로바이더(document provider)**가 추가되어, 에이전트가 로컬 디스크가 아닌 실제 문서가 저장되어 있는 곳, 즉 기업에서 가장 널리 사용되는 클라우드 문서 저장소 중 하나인 SharePoint에서 직접 작업할 수 있습니다.
MCP를 통한 모든 에이전트
MCP는 AI 에이전트가 도구를 발견하고 호출하는 방식에 대한 개방형 표준입니다. OfficeAgent.NET 0.2에는 문서 워크플로우를 MCP 도구로 투영하는 서버인 OfficeAgent.Mcp(공식 C# MCP SDK를 기반으로 구축됨)가 포함되어 있습니다:
inspect_document- 문서의 구조화된 맵: 개요(outline), 안정적인 ID를 가진 단락(paragraphs), 스타일(styles), 콘텐츠 컨트롤(content controls), 표(tables), 이미지(images) 및 수정 사항(revisions).find_in_document- 대상이 될 콘텐츠 검증 앵커(anchors)를 반환하는 텍스트 검색.preview_plan- 변경 계획의 드라이 런(dry run); 아무것도 작성되지 않으며, 에이전트는 변경 전/후 보고서와 모든 검증 오류를 받습니다.apply_plan- 설정된 스토리지를 통해 저장되는, 전부 아니면 전무(all-or-nothing) 방식의 커밋.register_document/remove_document/list_connections- 에이전트가 작업할 문서를 지정하고, 작업 후 이를 해제하며, 호스트가 구성한 연결(connections)을 발견합니다.
Copilot Studio, Microsoft 365 Copilot, Claude 및 Claude Code, OpenAI의 Codex, 그리고 VS Code는 MCP를 지원하며 이 서버를 사용할 수 있습니다.
이 서버는 두 가지 호스팅 모드로 실행됩니다: Claude Code 및 Codex와 같이 로컬에서 실행되는 에이전트가 사용하는 stdio 모드, 그리고 Copilot Studio 및 Microsoft 365 Copilot과 같이 호스팅된 에이전트가 필요로 하는 스트리밍 가능한 HTTP 기반의 ASP.NET Core 앱 모드입니다.
SharePoint에서 문서 작업하기
OfficeAgent는 문서 제공자 (document providers)를 통해 작동합니다. 에이전트는 제공자에게 문서를 등록하고 불투명한 ID (opaque id)를 반환받으며, 이후 모든 작업에서 해당 문서를 지정하는 데 이 ID를 사용합니다. 0.2 버전에서는 초기 릴리스의 파일 시스템 제공자 (filesystem provider)와 함께 SharePoint 제공자 (SharePoint provider)가 추가되었습니다.
SharePoint 제공자는 Microsoft 생태계의 대부분의 조직이 문서를 저장하는 데 사용하는 시스템인 SharePoint에서 문서를 직접 읽고 씁니다. 문서는 URL 또는 Graph의 driveId/itemId 쌍으로 등록되며, 등록된 후 에이전트는 로컬 폴더에 대해 수행하는 것과 동일한 '검사(inspect) → 미리보기(preview) → 적용(apply)' 루프를 실행합니다.
에이전트를 실제 문서에 연결해도 안전한 두 가지 이유가 있습니다:
- 원본을 절대 건드리지 않습니다. 저장은 소스 옆에 새로운 버전으로 저장되므로 (예:
contract.docx->contract.v2.docx), 처음에 시작한 문서는 수정되지 않은 상태로 유지됩니다. - 사용자의 권한 내에서 변경 내용 추적 (tracked changes) 방식으로 유지됩니다. 제공자는 로그인한 사용자를 대신하여 (OAuth 2.0 On-Behalf-Of flow) 동작할 수 있으므로, 에이전트는 해당 사용자가 SharePoint에서 이미 허용된 문서만 열고 편집할 수 있습니다. 또한 기본적으로 편집 내용은 조용히 다시 쓰는 것이 아니라 사용자가 검토할 수 있는 변경 내용 추적 형태로 전달됩니다. 무인 백오피스 (unattended, back-office) 시나리오를 위해 필요한 사이트로 범위를 좁게 제한한 애플리케이션 ID (application-identity) 모드도 제공됩니다.
직접 시도해 보세요
dotnet tool install --global OfficeAgent.Mcp --prerelease # MCP 서버
dotnet add package OfficeAgent.SharePoint --prerelease # SharePoint 제공자
dotnet add package OfficeAgent.Core --prerelease # 핵심 라이브러리
소스, 샘플, 그리고 전체 호스팅 및 클라이언트 설정 가이드는 GitHub에서 확인할 수 있습니다: https://github.com/ilia-sokolov/OfficeAgent.NET
OfficeAgent.NET 0.2 버전은 문서 워크플로(document workflow)를 더 많은 에이전트와 더 많은 엔터프라이즈 유스케이스(enterprise use cases)로 확장합니다. 이제 Copilot Studio 에이전트, Microsoft 365 Copilot, Claude Code, 그리고 Codex는 사용자의 의도(intent)로부터 OOXML을 직접 다루지 않고도, 세부 사항을 놓치지 않으면서도, 사용자가 나중에 문서를 직접 수정해야 하는 번거로움 없이 Word 문서를 생성하거나 수정할 수 있습니다. 또한 새로운 SharePoint 제공자(provider)를 통해, 에이전트는 대부분의 문서가 이미 저장되어 있는 바로 그 위치에서 작업을 수행할 수 있습니다.
직접 사용해 보시고 의견을 들려주세요. 여러분의 피드백이 0.3 버전을 만들어갈 것입니다. 만약 이 방향성이 유용하다면, 다른 개발자들이 찾을 수 있도록 GitHub에서 별(star)을 추가해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기