# How to Configure AI Agents for OfficeCLI: Integration Guide for Claude, Cursor, and Copilot

> Configure AI agents for OfficeCLI with Claude, Cursor, and Copilot. Learn how to install the binary, deploy skill files, and enable JSON-RPC communication for seamless integration and enhanced productivity.

- Repository: [OfficeAI/OfficeCLI](https://github.com/iofficeai/OfficeCLI)
- Tags: how-to-guide
- Published: 2026-07-26

---

**OfficeCLI automatically configures AI agents by installing a self-contained binary, deploying a JSON skill file to the agent's configuration directory, and optionally exposing an MCP server for JSON-RPC communication.**

According to the iOfficeAI/OfficeCLI repository, this open-source tool provides a dependency-free CLI for manipulating Microsoft Office documents. To configure AI agents for OfficeCLI, the repository provides an automated installation system that detects client environments like Claude Code, Cursor, and GitHub Copilot, registering the `officecli` binary as a native chat command.

## Understanding the Three-Component Architecture

OfficeCLI integrates with AI agents through three distinct components defined in the source code:

### The Self-Contained Binary

The `officecli` executable is a single, self-contained binary built from `src/officecli/officecli.csproj`. It implements the full OfficeCLI command set without requiring Microsoft Office installation. The installer scripts—[`install.sh`](https://github.com/iOfficeAI/OfficeCLI/blob/main/install.sh) for Linux/macOS and `install.ps1` for Windows—download this binary from the GitHub Releases page and place it in the system PATH.

### Skill Files (JSON Configuration)

Skill files are small JSON descriptors that tell AI assistants where the binary lives and which commands are available. The canonical specification lives in [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md), while the actual runtime configuration is stored as [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json). When an agent reads this file, it can automatically install the binary and expose CLI commands as native chat functions.

### MCP Server for JSON-RPC

The Multi-Client Protocol (MCP) is implemented in [`npm/officecli.js`](https://github.com/iOfficeAI/OfficeCLI/blob/main/npm/officecli.js) and specified in [`plugins/plugin-protocol.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/plugins/plugin-protocol.md). This tiny HTTP server wraps the CLI in JSON-over-HTTP, enabling agents to call OfficeCLI programmatically via POST requests instead of spawning shell processes.

## Automatic Agent Detection

During installation, the scripts in [`install.sh`](https://github.com/iOfficeAI/OfficeCLI/blob/main/install.sh) and `install.ps1` scan the filesystem for known AI-assistant configuration folders. When detected, the installer:

1. Copies the skill JSON into the agent's skill directory (e.g., `.claude/skills/` or `.cursor/skills/`).
2. Adds the binary path to the agent's environment PATH if not present.
3. Optionally starts the MCP server via `officecli mcp` for JSON-RPC access.

This automated detection handles Claude Code, Cursor, VS Code extensions, and GitHub Copilot, requiring only a single run of the install script.

## Manual Configuration and Customization

If you need to point agents at a custom binary location or modify permissions:

- **Edit [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json)** directly to change the `binaryPath` field to your custom location.
- **Run `officecli install --force`** to overwrite existing skill files with your custom configuration.
- **Restrict exposed commands** by editing the commands array in the skill file (e.g., limiting to `create`, `view`, and `add` for sandboxed environments).

These changes take effect immediately—agents reload skill files on their next initialization.

## Practical Code Examples

Below are complete examples showing the configuration lifecycle from installation to agent invocation.

### Install OfficeCLI with Automatic Agent Detection

```bash

# Linux/macOS

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

# Windows (PowerShell)

irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex

```

The script pulls the latest binary from the GitHub Releases page, installs it to `~/.local/bin` (or `%USERPROFILE%\bin` on Windows), and distributes [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json) to all detected AI assistant folders.

### Verify Installation

```bash
officecli --version

# Expected: officecli version 1.4.2

```

### Using OfficeCLI from Claude Code

Once configured, agents invoke commands natively:

```text
User: Create a Q2 sales report.
Assistant: > officecli create report.docx
> officecli set report.docx "paragraph[1]" --text "Q2 revenue increased 12%."
> officecli view report.docx html

```

The agent reads the skill file from its configuration directory, locates the binary, and streams stdout back to the chat window.

### Direct JSON-RPC via MCP

For programmatic access without shell spawning:

```javascript
const { spawn } = require('child_process');
const fetch = require('node-fetch');

// Start MCP server (implemented in npm/officecli.js)
spawn('officecli', ['mcp', '--port', 4567]);

// Send JSON-RPC command
await fetch('http://localhost:4567/command', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    command: 'create',
    args: ['presentation.pptx']
  })
});

```

The MCP server implements the protocol specified in [`plugins/plugin-protocol.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/plugins/plugin-protocol.md), accepting JSON payloads and returning results over HTTP.

## Summary

- **[`install.sh`](https://github.com/iOfficeAI/OfficeCLI/blob/main/install.sh) and `install.ps1`** automatically detect Claude Code, Cursor, and other agents, copying configuration to their skill directories.
- **[`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) and [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json)** define how agents locate and invoke the `officecli` binary.
- **[`npm/officecli.js`](https://github.com/iOfficeAI/OfficeCLI/blob/main/npm/officecli.js)** provides an MCP server for JSON-RPC integration when shell execution is undesirable.
- Run `officecli install --force` to reconfigure or update agent integrations after manual changes to skill files.

## Frequently Asked Questions

### Which AI agents are compatible with OfficeCLI?

OfficeCLI supports any agent that reads JSON skill files, including Claude Code, Cursor, GitHub Copilot, and VS Code extensions. The [`install.sh`](https://github.com/iOfficeAI/OfficeCLI/blob/main/install.sh) script maintains a registry of known configuration paths for these clients, but you can manually copy [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json) to any agent's skill directory for unsupported clients.

### How do I change the binary location for existing agent configurations?

Edit the `binaryPath` field in [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json) within the agent's configuration folder, then run `officecli install --force` to propagate changes. Alternatively, delete the existing skill files and reinstall—the script regenerates them with the current binary location.

### What is the difference between skill files and the MCP server?

Skill files enable direct shell invocation where the agent spawns `officecli` as a subprocess and captures stdout. The MCP server (implemented in [`npm/officecli.js`](https://github.com/iOfficeAI/OfficeCLI/blob/main/npm/officecli.js)) wraps the CLI in an HTTP server, allowing agents to send JSON payloads and receive structured responses without process spawning. Use MCP for high-frequency operations or when running in restricted shell environments.

### Is it safe to expose all OfficeCLI commands to AI agents?

By default, all commands are exposed. For sandboxed environments, restrict the `commands` array in [`officecli.skill.json`](https://github.com/iOfficeAI/OfficeCLI/blob/main/officecli.skill.json) to limit the agent to read-only operations like `view` and `info`, removing destructive commands like `remove` or `set`. This is recommended when agents operate on untrusted user input.