How to Integrate OfficeCLI with AI Agents: Claude Code, Cursor, and Copilot Setup Guide

OfficeCLI provides a built-in MCP (Model-Context-Protocol) server that enables Claude Code, Cursor, and GitHub Copilot to manipulate Word, Excel, and PowerPoint documents via deterministic JSON-RPC commands without requiring Microsoft Office installation.

OfficeCLI is an open-source command-line tool from the iOfficeAI/OfficeCLI repository designed specifically for AI agent integration. Its architecture exposes document operations through a built-in MCP server that registers directly with popular AI coding tools, allowing agents to read, modify, and render Office documents using structured JSON responses.

The Agent-Friendly Architecture

OfficeCLI is engineered with three abstraction layers that provide AI agents with varying levels of control over Office documents:

  • L1 – Read: High-level semantic views including document outlines, plain text, HTML, and screenshots. Accessed via officecli view ….
  • L2 – DOM: Structured element operations such as query, get, set, add, remove, move, and swap. Accessed via officecli <format> <command>.
  • L3 – Raw XML: Direct XPath access for edge-case scenarios requiring low-level OOXML manipulation. Accessed via officecli raw ….

Every command supports deterministic JSON output via the --json flag and path-based addressing using XPath-like syntax (e.g., /slide[1]/shape[2]). This allows agents to navigate document structures without parsing complex OOXML namespaces or maintaining hidden state.

Setting Up the MCP Server

OfficeCLI ships with a built-in MCP server implemented in McpServer.cs that exposes all document operations as JSON-RPC methods. The server runs within the same binary—no separate process management is required.

Register the MCP server with your AI agent using one of the following commands:

officecli mcp claude      # Registers with Claude Code

officecli mcp cursor      # Registers with Cursor

officecli mcp vscode      # Registers with VS Code / Copilot

officecli mcp list        # Shows current registrations

Once registered, the agent can invoke operations such as add, set, or view through the tool's native interface. Responses include success flags, error codes, and contextual suggestions that enable LLMs to self-correct during document manipulation tasks.

Zero-Configuration Installation via SKILL.md

OfficeCLI includes a SKILL.md file that provides agents with complete installation instructions. This file can be fed directly into an agent's system prompt to automate the entire setup process:

curl -fsSL https://officecli.ai/SKILL.md

When Claude Code, Cursor, or Copilot reads this skill file, they can automatically download the platform-specific binary, place it on the PATH, and execute officecli mcp <agent> to complete the integration without human intervention.

How Agents Interact with Documents

The integration follows a deterministic four-step workflow implemented in Program.cs and McpInstaller.cs:

  1. Detect the agent: OfficeCLI scans for known configuration directories (e.g., ~/.claude/, ~/.cursor/, VS Code extensions) on startup.
  2. Install the binary: If missing, the officecli install command fetches the appropriate self-contained executable for the current platform.
  3. Start the MCP server: The officecli mcp <agent> command registers the agent's tool endpoint in McpInstaller.cs.
  4. Issue document commands: The agent sends JSON-RPC calls (add, set, view, batch) and receives structured JSON responses, enabling a render→look→fix loop that functions in headless CI environments.

Because operations are purely declarative with no Office COM dependencies, this workflow executes identically on Linux containers, macOS, Windows, and CI runners.

Practical Integration Examples

Claude Code Setup

Install the binary and register the MCP server for Claude Code:


# One-line installation

curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash

# Register with Claude Code

officecli mcp claude

Claude Code can then issue JSON-RPC calls internally (as implemented in McpServer.cs):

{
  "jsonrpc": "2.0",
  "method": "add",
  "params": {
    "file": "report.pptx",
    "parent": "/",
    "type": "slide",
    "props": {"title": "Q4 Results"}
  },
  "id": 1
}

Cursor Integration

Register Cursor and manipulate presentation files:

officecli mcp cursor

After registration, Cursor can execute document commands:


# Add a shape to a slide

officecli add deck.pptx / --type shape --prop text="Hello, World!" --prop x=2cm --prop y=3cm

# Generate HTML view for visual feedback

officecli view deck.pptx html -o /tmp/deck.html

VS Code and Copilot

Register the VS Code tool used by Copilot:

officecli mcp vscode

Copilot can then manipulate Excel cells programmatically:


# Set cell value

officecli set budget.xlsx '/Sheet1/A1' --prop value=42

# Retrieve structured data

officecli get budget.xlsx '/Sheet1/A1' --json

Batch Operations

For atomic multi-step modifications (processed by CommandBuilder.cs), create a JSON payload:

cat >updates.json <<'EOF'
[
  {"command": "add", "path": "/", "type": "slide", "props": {"title": "Intro"}},
  {"command": "set", "path": "/slide[1]/shape[1]", "props": {"text": "Welcome"}}
]
EOF

# Execute atomically (all succeed or all roll back)

officecli batch deck.pptx --input updates.json --json

Key Source Files

The integration relies on these specific files in the iOfficeAI/OfficeCLI repository:

  • Program.cs: Entry point that parses CLI arguments and launches the MCP server.
  • McpServer.cs: Implements the JSON-RPC server exposing document operations to agents.
  • McpInstaller.cs: Handles registration logic for Claude Code, Cursor, and VS Code.
  • CommandBuilder.cs: Generates concrete command objects for add, set, view, and other operations.
  • SKILL.md: Machine-readable installation instructions consumed by AI agents.
  • plugins/plugin-protocol.md: Defines the MCP protocol specifications for agent communication.

Summary

  • Built-in MCP server: OfficeCLI embeds a JSON-RPC server (McpServer.cs) that registers directly with Claude Code, Cursor, and Copilot via officecli mcp <agent> commands.
  • Cross-platform execution: The single binary runs on Linux, macOS, and Windows without Microsoft Office dependencies, enabling headless CI workflows.
  • Deterministic interface: Path-based addressing (/slide[1]/shape[2]) and --json output provide agents with structured data for self-correction.
  • Auto-setup capability: The SKILL.md file allows agents to perform zero-configuration installation and registration automatically.

Frequently Asked Questions

What is MCP and why does OfficeCLI use it?

MCP (Model-Context-Protocol) is a standard for exposing tools to AI agents via JSON-RPC. OfficeCLI uses MCP to provide a structured, deterministic interface that allows agents like Claude Code and Cursor to manipulate documents without parsing natural language responses or managing stateful Office applications.

Do I need Microsoft Office installed to use OfficeCLI with AI agents?

No. OfficeCLI operates directly on OOXML files using its three-layer architecture (Read, DOM, Raw XML). The binary is self-contained and requires no Microsoft Office installation, COM objects, or Windows-specific APIs, making it compatible with Linux containers and headless CI environments.

How does the batch operation rollback mechanism work?

Batch operations in OfficeCLI are atomic. When you execute officecli batch with a JSON input file containing multiple commands, the system either applies all changes or rolls back to the initial state if any command fails. This ensures document integrity when agents perform complex multi-step modifications.

Can I integrate OfficeCLI with AI agents other than Claude Code, Cursor, and Copilot?

Yes. While OfficeCLI provides specific installers for claude, cursor, and vscode via McpInstaller.cs, any AI agent that supports MCP/JSON-RPC can communicate with the server. The protocol is documented in plugins/plugin-protocol.md, and the officecli mcp command structure can be extended to support additional agent configurations.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →