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

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 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, while the actual runtime configuration is stored as 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 and specified in 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 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 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


# 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 to all detected AI assistant folders.

Verify Installation

officecli --version

# Expected: officecli version 1.4.2

Using OfficeCLI from Claude Code

Once configured, agents invoke commands natively:

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:

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, accepting JSON payloads and returning results over HTTP.

Summary

  • install.sh and install.ps1 automatically detect Claude Code, Cursor, and other agents, copying configuration to their skill directories.
  • SKILL.md and officecli.skill.json define how agents locate and invoke the officecli binary.
  • 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 script maintains a registry of known configuration paths for these clients, but you can manually copy 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 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) 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 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.

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 →