MCP server for document inspection, editing, and management across Word, PowerPoint, Excel, and SharePoint with agent-driven workflows
OfficeAgent.NET demonstrates solid tool design with 17 well-named, verb-prefixed tools addressing document operations. All tools have descriptions (avg 95 chars) and input schemas with typed parameters. However, output schemas are not documented in the source, parameter descriptions lack depth (many under 50 chars), and error handling guidance is absent. Tool composition is strong, tools chain naturally (inspect → find → preview → apply), but descriptions don't explain when to use each tool vs. alternatives. Security posture is good (no secrets in params, opaque IDs), but error recovery patterns are not visible.
Applies an edit plan to a document, modifying its content and returning the result
Compares two documents and returns their differences
Lists configured connections and their capabilities for document staging operations
Creates a new document at a connection root with an optional initial plan
Creates a new document with inline content (base64), optionally applying an initial plan
Describes what this caller can actually do: the engine's formats, verbs, wire versions and ceilings, plus only the connections this principal may use and only the capabilities they hold on each.
Resolves find targets and applies an edit plan to a document in one call
Output schemas not documented. No visible return type definitions for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Parameter descriptions are minimal (avg 40 chars). E.g., 'fidelity' param in inspect_document says 'Inspection fidelity level (outline, summary, full)' but doesn't explain when to use each level or what data each returns. LLMs cannot reason about parameter selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Edits a document supplied as base64 inline content and returns the edited document
Exports a document from an ephemeral connection as base64 inline content
Searches for text patterns in a document and returns matching locations with context
Imports a document supplied as base64 into an ephemeral connection
Inspects a document by connection and document ID, returning its structure, paragraphs, and metadata
Inspects a document supplied as base64 inline content
Registers and inspects a document in one call, collapsing the register → inspect loop
Validates an edit plan without applying it, returning validation errors and a preview of changes
Registers a document with a provider connection and returns an opaque document ID
Removes a document registration without deleting the underlying content
No error handling guidance visible. Tools like apply_plan and edit_document are destructive but descriptions don't mention rollback, validation, or recovery steps. No confirmation/dry-run pattern for irreversible operations.
Tool descriptions lack context for selection. 'preview_plan' and 'apply_plan' are similar; descriptions don't explain when to call preview vs. apply directly, or whether preview is mandatory before apply.
planJson parameter is a free-form string across 5 tools (preview_plan, apply_plan, open_document, edit_document, create_document). No schema or format constraints visible. LLMs cannot validate plan structure before submission.