office_docs_mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@office_docs_mcpRead Q3_report.xlsx and summarize the data by sheet."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
office_docs_mcp
LLM(대형 언어 모델)이 오피스 문서(Excel, Word, PowerPoint)를 안정적이고 토큰 효율적으로 읽고 쓸 수 있도록 지원하는 Model Context Protocol (MCP) 서버입니다.
버전 안내: 본 프로젝트는 현재 초기 개발 단계(
0.y.z)이며, 사용자 피드백에 따라 도구 인터페이스가 지속적으로 개선되고 있습니다.
주요 기능
Excel (
.xlsx,.xlsm):excel_get_metadata: 시트 목록, 크기, 컬럼 요약 조회excel_read_sheet: 지정된 행/열 범위(1-based)를 Markdown 테이블 또는 2차원 배열로 읽기 (수식/값 토글 지원)excel_search: 워크시트 전체 또는 특정 시트의 셀에서 키워드 검색excel_write_cell: 단일 셀(A1등) 값/수식 쓰기 (backup=True지원)excel_write_range: 시작 셀부터 2차원 데이터 연속 기입 (backup=True지원)excel_append_rows: 시트 마지막 행 뒤에 데이터 추가 (backup=True지원)excel_manage_sheets: 시트 추가(add), 이름변경(rename), 복사(copy), 삭제(delete) (backup=True지원)excel_create_workbook: 새 빈 엑셀 파일 생성
Word (
.docx):word_get_outline: 문서 헤딩(제목) 목록 및 단락/표 개수 조회word_read_paragraphs: 단락 슬라이싱 읽기 (0-based 페이징)word_read_table: 표 내용을 Markdown 테이블 또는 2차원 배열로 읽기word_search: 문서 내 단락 및 표 셀 대상 키워드 검색word_append_paragraph: 문서 끝에 단락/헤딩 추가 (헤딩 레벨 자동 처리,backup=True지원)word_append_table_row: 특정 표에 새 행 추가 (backup=True지원)word_write_table_cell: 특정 표의 셀 텍스트 수정 (backup=True지원)word_replace_text: 문서 전체 텍스트 일괄/부분 치환 (backup=True지원)word_delete_paragraph: 특정 단락 삭제 (backup=True지원)word_create_document: 새 워드 문서 생성
PowerPoint (
.pptx):ppt_get_outline: 전체 슬라이드 수 및 각 슬라이드 제목/셰이프 요약 조회ppt_read_slide: 특정 슬라이드의 텍스트 상자, 표, 발표자 메모 내용 추출ppt_read_notes: 특정 슬라이드의 발표자 메모(Speaker Notes) 읽기ppt_update_notes: 발표 대본/슬라이드 메모 작성 및 수정 (backup=True지원)ppt_search: 슬라이드 텍스트, 표, 발표자 메모 대상 키워드 검색ppt_add_slide: 제목과 본문을 포함하는 새 슬라이드 추가 (backup=True지원)ppt_add_table: 슬라이드 내 표 생성 (backup=True지원)ppt_add_chart: 막대, 꺾은선, 원형 등 네이티브 수치 차트 생성 (backup=True지원)ppt_add_flowchart: Mermaid 문법 기반 편집 가능한 네이티브 플로우차트/아키텍처 다이어그램 생성 (backup=True지원)ppt_update_slide_text: 슬라이드 내 특정 셰이프 텍스트 수정 (backup=True지원)ppt_create_presentation: 새 프레젠테이션 파일 생성
MCP Prompts (
@mcp.prompt()):analyze_spreadsheet: 엑셀 데이터 구조 파악부터 심층 분석까지의 체계적 워크플로우 가이드create_presentation_outline: 주어진 주제에 대한 슬라이드 구성 및 발표자 대본 작성 가이드
안전한 파일 백업:
모든 쓰기 도구에서
backup: bool = True지정 시 수정 전 원본을 타임스탬프 백업 파일(.bak)로 자동 보관
Related MCP server: unifiles-mcp
시작하기
1. 요구 사항
Python >= 3.12
uv 패키지 관리자
2. 설치 및 가상환경 동기화
uv sync --group dev3. CLI 명령어
# MCP 서버 실행 (기본 Stdio 트랜스포트)
uv run office-docs-mcp serve
# SSE 트랜스포트로 실행
uv run office-docs-mcp serve --transport sse
# 등록된 MCP 도구 목록 확인 (사람 가독형)
uv run office-docs-mcp tools
# 기계 판독용 단일 라인 목록
uv run office-docs-mcp tools --plain
# 기계 판독용 JSON 스키마 덤프
uv run office-docs-mcp tools --json
# 설정 관리 서브명령어 (각 플랫폼 기본 경로 표준 지원)
# - Linux: ~/.config/office_docs_mcp/config.toml ($XDG_CONFIG_HOME)
# - macOS: ~/Library/Application Support/office_docs_mcp/config.toml
# - Windows: %APPDATA%/office_docs_mcp/config.toml
uv run office-docs-mcp config show # 현재 병합된 설정 전체 확인 (JSON)
uv run office-docs-mcp config show --toml # TOML 형식으로 확인
uv run office-docs-mcp config init # 플랫폼 기본 경로에 config.toml 생성
uv run office-docs-mcp config init --local # 현재 작업 디렉토리에 ./config.toml 생성
uv run office-docs-mcp config path # 플랫폼 기본 설정 파일 경로 확인 (--json 지원)
uv run office-docs-mcp config path --local # 로컬 설정 파일 경로 확인
uv run office-docs-mcp config set logging.level DEBUG # 플랫폼 설정 파일 키 변경
uv run office-docs-mcp config set --local logging.level DEBUG # 로컬 설정 파일 키 변경
uv run office-docs-mcp config get logging.level # 특정 설정 값 조회
# 셸 자동완성 스크립트 생성
uv run office-docs-mcp completion bash > /etc/bash_completion.d/office-docs-mcp4. MCP 클라이언트 연동 설정 (Copilot CLI, Claude Desktop, Antigravity agy, Cursor 등)
별도의 저장소 클론이나 사전 설치 없이 uvx를 통해 곧바로 연동할 수 있습니다:
GitHub Copilot CLI
저장소 루트의 .mcp.json에 Copilot CLI용 stdio 설정이 포함되어 있습니다. 이 저장소에서
Copilot CLI를 실행하면 폴더 신뢰를 승인한 후 office-docs 서버가 프로젝트별 MCP 서버로
자동 로드됩니다.
copilot서버 상태와 도구 목록은 Copilot CLI에서 다음 명령으로 확인할 수 있습니다:
/mcp
/mcp show office-docs사용자 전역 설정에 추가하려면 다음 명령을 실행합니다:
copilot mcp add office-docs -- uvx office-docs-mcp serve프로젝트별 설정을 공유해야 하는 경우에는 현재 저장소의 .mcp.json을 커밋하는 방식을
사용하세요. tools: ["*"]는 이 서버의 모든 Excel, Word, PowerPoint 도구를 활성화합니다.
Antigravity CLI (agy) 및 Antigravity IDE / 2.0
전역 설정 (모든 프로젝트에서 사용):
~/.gemini/config/mcp_config.json프로젝트별 로컬 설정: 프로젝트 루트의
.mcp.json
{
"mcpServers": {
"office-docs": {
"command": "uvx",
"args": ["office-docs-mcp", "serve"]
}
}
}Claude Desktop 설정
claude_desktop_config.json에 동일하게 추가합니다:
{
"mcpServers": {
"office-docs": {
"command": "uvx",
"args": ["office-docs-mcp", "serve"]
}
}
}환경 변수(env) 및 디버깅 옵션 설정 예시
MCP stdio 통신 시 stdout 오염을 방지하면서 디버그 로그를 파일에 기록하거나 설정을 커스텀할 수 있습니다:
{
"mcpServers": {
"office-docs": {
"command": "uvx",
"args": [
"office-docs-mcp",
"--log-level", "DEBUG",
"--log-file", "/tmp/office_docs_mcp.log",
"serve"
],
"env": {
"OFFICE_DOCS_MCP_LOGGING__LEVEL": "DEBUG",
"OFFICE_DOCS_MCP_LOGGING__FILE": "/tmp/office_docs_mcp.log"
}
}
}
}로컬 개발 소스 디렉토리에서 연동할 경우:
{
"mcpServers": {
"office-docs": {
"command": "uv",
"args": [
"--directory",
"/path/to/office_docs_mcp",
"run",
"office-docs-mcp",
"serve"
]
}
}
}지원되는 환경 변수 및 CLI 옵션
분류 | 이름 / 플래그 | 설명 | 기본값 / 예시 |
환경 변수 |
| 로깅 레벨 설정 |
|
환경 변수 |
| 서버 로그 출력 파일 경로 |
|
환경 변수 |
| 앱 식별자 이름 |
|
환경 변수 |
| 기본 설정 파일 저장 디렉토리 (Linux) |
|
CLI 옵션 |
| 명령줄에서 로그 레벨 직접 지정 |
|
CLI 옵션 |
| 명령줄에서 로그 파일 경로 직접 지정 |
|
CLI 옵션 |
| 사용할 |
|
CLI 옵션 |
| 터미널/로그 ANSI 색상 코드 비활성화 | 플래그 |
CLI 옵션 |
| MCP 전송 프로토콜 지정 ( |
|
전체 설정 템플릿은 mcp.example.json 파일에서 확인하실 수 있습니다.
Pi 연동 (uvx)
Pi에서 MCP를 사용하려면 pi-mcp-adapter가 필요합니다. 이 저장소에는 Pi가 자동으로 읽는 프로젝트 설정 파일 .mcp.json이 포함되어 있습니다.
# 최초 1회
pi install npm:pi-mcp-adapter
# 저장소 루트에서 실행하면 .mcp.json을 자동으로 읽음
pi
# 또는 설정 파일을 명시
pi --mcp-config .mcp.jsonPi에서 /mcp로 office-docs 서버 상태를 확인하고, 설정을 변경한 뒤에는 /reload를 실행하세요. uvx가 PyPI에서 office-docs-mcp를 준비해 MCP stdio 서버를 실행하므로 별도 가상환경 활성화가 필요 없습니다. 서버는 첫 도구 호출 때 시작됩니다.
ncli로 사용 가이드 문서 추가
동일한 안내를 ncli 노트로 저장하려면 로그인 후 다음을 실행하세요.
ncli login
ncli add \\
--title "Office Docs MCP를 Pi에서 uvx로 사용하기" \\
--content-file docs/pi-mcp-ncli-guide.md \\
--category other \\
--no-input자세한 절차는 docs/pi-mcp-ncli-guide.md를 참고하세요.
개발 및 테스트 (TDD)
# 전체 단위 및 통합 테스트 실행
uv run pytest -v
# 린트 및 코드 스타일 검증
uv run ruff check .
uv run ruff format --check .자세한 기여 방법 및 개발 가이드는 아래 문서를 참고하세요:
AGENTS.md: AI 에이전트 및 개발자를 위한 설계 원칙 및 TDD 지침
CONTRIBUTING.md: 기여 가이드라인
CHANGELOG.md: 변경 이력
SECURITY.md: 보안 정책
LICENSE: MIT License
Available Tools
29 toolsexcel_append_rowsA
Append one or more rows to the end of an Excel sheet.
Args:
file_path: Path to the Excel file.
sheet_name: Target sheet name.
rows: List of rows (each row being a list of cell values).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | ||
| backup | No | ||
| file_path | Yes | ||
| sheet_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the mutating nature of the operation and documents the optional backup behavior, which is useful. However, it does not mention side effects such as whether the file is modified in place, whether the sheet must already exist, or what happens if the sheet is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized: one purpose sentence followed by compact argument explanations. It is front-loaded with the tool's core function and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating file operation with no annotations, the description is adequate but not complete. It covers the main parameters and backup option, but it omits important operational context such as how it relates to other Excel write tools and what happens when the target file or sheet does not exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the sole source of parameter meaning. It explains all four parameters, and it adds necessary detail for 'rows' by clarifying that each row is a list of cell values and for 'backup' by stating its behavioral effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and object: 'Append one or more rows to the end of an Excel sheet.' This clearly distinguishes it from sibling tools like excel_write_cell or excel_write_range, which write to arbitrary positions rather than appending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'append to the end' implies the natural use case, but the description gives no explicit guidance about when to choose this tool over excel_write_range, excel_write_cell, or excel_manage_sheets. There are no stated exclusions or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_create_workbookA
Create a new empty Excel workbook (.xlsx).
Args:
file_path: Path where the new Excel file will be created.
sheet_names: Optional list of sheet names to initialize. Defaults to ['Sheet'].
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| sheet_names | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It clearly discloses the mutating effect (creates a new file at file_path) and the default sheet initialization behavior. It does not say what happens if file_path already exists, whether overwriting occurs, or whether parent directories are created, which is a meaningful gap for a write tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with a compact args list. The core action is front-loaded, parameter explanations are one line each, and there is no irrelevant prose or repetition of schema types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema, the description covers the essential decision points: where the file is created and what sheets are initialized. It is slightly incomplete because it omits overwrite/existing-file behavior, which an agent may need to know before invoking, but the low complexity means no further detail is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: file_path gets a concrete meaning ('Path where the new Excel file will be created') and sheet_names gets usage semantics plus a default behavior ('Defaults to ['Sheet']'). This adds value the bare schema (with null default) does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb, resource, and state: 'Create a new empty Excel workbook (.xlsx).' This clearly distinguishes the tool from all Excel siblings (read, write, search, manage sheets) and even from the create tools for Word/PPT by naming the .xlsx format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's purpose makes its usage context clear: it is the Excel workbook creation entry point, and no sibling tool fills that role. However, it does not explicitly state when NOT to use it or mention alternatives such as excel_manage_sheets for post-creation sheet changes, so it falls just short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_get_metadataA
Get metadata from an Excel workbook (.xlsx/.xlsm).
Returns sheet names, active sheet, dimensions (max rows/cols), and header preview.
Call this first before reading large sheets to inspect the structure.
Args:
file_path: Absolute or relative path to the Excel file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explicitly state that the operation is read-only or non-destructive, though 'get metadata' strongly implies it. It also does not mention error handling or side effects. For a simple metadata getter this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, return contents, and usage advice. The purpose is front-loaded, and every sentence adds value. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter, no nested objects, and an output schema present, the description covers the essential information. It explains what to expect and when to use it. Minor gaps like error behavior or file existence are not critical given the simplicity and output schema availability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'file_path' with type string and 0% description coverage. The description adds meaningful context by clarifying 'Absolute or relative path to the Excel file' and specifying the supported file extensions (.xlsx/.xlsm). This compensates well for the minimal schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get metadata' and the resource 'Excel workbook (.xlsx/.xlsm)', and enumerates the returned items (sheet names, active sheet, dimensions, header preview). This specificity makes it unmistakably distinct from siblings like excel_read_sheet or excel_search, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool: 'Call this first before reading large sheets to inspect the structure.' This is clear and helpful. However, it does not mention when NOT to use it or name an alternative tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_manage_sheetsA
Manage sheets in an Excel workbook (add, rename, delete, copy).
Args:
file_path: Path to the Excel file.
action: Action to perform: 'add', 'rename', 'delete', or 'copy'.
sheet_name: Target sheet name.
new_name: New name for the sheet (required for 'rename' and 'copy').
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| backup | No | ||
| new_name | No | ||
| file_path | Yes | ||
| sheet_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implicitly acknowledges mutation by mentioning 'modifying' in the backup parameter, and it discloses an optional safety backup. However, it does not state whether operations are permanent, whether the file must already exist, or what error handling occurs (e.g., duplicate sheet name, missing sheet). The safety profile is only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-line summary followed by a compact Args list. Every parameter is front-loaded in the argument section without unnecessary prose. The length is appropriate for a multi-action tool, and the formatting makes it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a moderately complex tool with 5 parameters, zero annotations, and an existing output schema (which can explain return values), the description covers all parameters but lacks prerequisites and error semantics. It does not state whether the workbook must already exist, how 'copy' behaves if the sheet exists, or what happens on invalid action values. This leaves some gaps an agent might need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description must compensate for missing parameter documentation. It does so by explaining each argument: file_path, action with a list of allowed values, sheet_name as the target, new_name with a condition (required for rename and copy), and backup with its effect. This adds meaningful guidance beyond the raw schema, though it could be more precise about how sheet_name applies differently across actions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Manage sheets in an Excel workbook (add, rename, delete, copy).' It names the resource (sheets in Excel workbook) and the specific operations, which distinguishes it from sibling tools like excel_read_sheet or excel_write_cell. The purpose is immediately understandable and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing the actions, but it does not explicitly say when to prefer this tool over alternatives, nor does it provide exclusions or comparisons. For example, it does not mention that creating a new workbook should use excel_create_workbook. The context is clear for sheet management, but the agent gets no direct guidance on choosing between this and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_read_sheetA
Read a rectangular cell range from an Excel sheet.
Indices are 1-based (row 1 is first row, col 1 is 'A').
Args:
file_path: Path to the Excel file.
sheet_name: Target sheet name (defaults to active sheet).
start_row: Starting row index (1-based, inclusive, default 1).
end_row: Ending row index (1-based, inclusive, default 50).
start_col: Starting column index (1-based, inclusive, default 1).
end_col: Ending column index (1-based, inclusive, default 20).
evaluate_formulas: If True (default), returns calculated values. If False, returns raw formula strings.
format: 'markdown' (default formatted table) or 'raw' (2D list of values).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| end_col | No | ||
| end_row | No | ||
| file_path | Yes | ||
| start_col | No | ||
| start_row | No | ||
| sheet_name | No | ||
| evaluate_formulas | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full behavioral burden and does it well: it discloses 1-based indexing, inclusive defaults, active-sheet fallback, formula evaluation behavior, and output format options. It does not explicitly state that the file is not modified, but 'Read' plus the operational details make the safety profile clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a one-sentence purpose, a brief indexing note, and a compact Args section. Every sentence adds necessary information, and the key behavioral detail (1-based indexing) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no annotations, and an output schema (which itself may document return structure), the description is still complete on its own. It explains all inputs, defaults, formula behavior, and output formats, so an agent has everything needed to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema property descriptions are absent (0% coverage), but the description fully compensates by documenting every parameter, including defaults, inclusivity, type of meaning for evaluate_formulas, and the format options. This is well beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Begins with a specific verb and resource: 'Read a rectangular cell range from an Excel sheet.' This clearly distinguishes the operation from write tools and search tools in the sibling list, and specifies the granularity (range rather than whole sheet).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as excel_search or excel_get_metadata. The description implies it is for reading a cell range, but does not state exclusions or conditions that would route an agent to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_searchB
Search for a text query across Excel worksheet cells.
Args:
file_path: Absolute or relative path to the Excel file.
query: Text to search for.
sheet_name: Specific sheet name to search in (searches all sheets if omitted).
case_sensitive: Whether matching is case-sensitive (default: False).
max_results: Maximum results to return (default: 50).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| file_path | Yes | ||
| sheet_name | No | ||
| max_results | No | ||
| case_sensitive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of disclosing behavioral traits. It does not mention whether the operation is read-only, what happens if no matches are found, how results are formatted, or any side effects. The description only lists parameters and defaults, which are already in the schema. It fails to inform the agent about the nature and behavior of the search operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It starts with a clear purpose sentence followed by a simple list of parameters. It is not verbose and avoids unnecessary detail. The layout makes key information scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the parameters but does not explain when to use the tool relative to siblings, nor does it mention expected output or edge cases. While an output schema exists (as per context), the description still lacks usage guidance and behavioral context. For a search tool with five parameters, the description is minimally adequate but not fully complete for an agent to select and invoke it correctly in all scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some semantic value beyond the schema: it clarifies that sheet_name 'searches all sheets if omitted' and that file_path is 'Absolute or relative path'. These details are not in the schema properties (which only have types and defaults). However, the schema coverage is 0%, meaning the description should compensate more, and it only provides minimal clarifications for two of the five parameters. The overall contribution is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (search) and resource (Excel worksheet cells), making the tool's purpose immediately clear. It distinguishes itself from sibling search tools in Word and PowerPoint by explicitly saying Excel. Even without naming a sibling, the resource and action are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching text in Excel files, but does not explicitly state when to use this tool instead of alternatives like excel_read_sheet or excel_get_metadata. There is no mention of when not to use it or what conditions would make another tool more appropriate. The guidance is inferred from the purpose, not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_write_cellA
Write a value to a specific cell (e.g. 'A1', 'C10') in an Excel sheet.
Args:
file_path: Path to the Excel file.
sheet_name: Target sheet name.
coordinate: Cell coordinate (e.g., 'A1', 'B5').
value: The value to write (string, number, boolean, or formula like '=SUM(A1:A5)').
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| backup | No | ||
| file_path | Yes | ||
| coordinate | Yes | ||
| sheet_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses the backup option and that values can be formulas, which is useful. However, it does not mention overwriting behavior, error handling for missing files/sheets, or other side effects, leaving significant behavioral gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a one-sentence summary followed by a clear Args list. Each line earns its place, providing necessary parameter details without redundancy. Slightly verbose in repeating 'path to the Excel file' but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers parameters well but omits prerequisites such as the file must already exist (sibling excel_create_workbook implies this) and whether the target sheet must exist. Since output schema exists, return values need not be described, but without annotations, these operational constraints leave the tool incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description fully explains each parameter: file_path, sheet_name, coordinate (with format examples), value (with allowed types including formulas), and backup (with its purpose). This adds substantial meaning beyond the schema's bare property names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (write a value) and the specific resource (a specific cell in an Excel sheet), with examples like 'A1' and 'C10'. It differentiates from siblings such as excel_write_range and excel_append_rows by focusing on a single cell, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single-cell writes via the phrase 'specific cell' and gives an example, but it does not explicitly mention alternatives or when not to use this tool. Without guidance on alternatives like excel_write_range for ranges, the usage is only implied, not clearly specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excel_write_rangeA
Write a 2D matrix of data starting from a designated top-left cell in an Excel sheet.
Args:
file_path: Path to the Excel file.
sheet_name: Target sheet name.
start_cell: Top-left cell coordinate (e.g. 'A1').
data: 2D array of rows and column values to write.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| backup | No | ||
| file_path | Yes | ||
| sheet_name | Yes | ||
| start_cell | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the backup parameter but does not disclose whether existing cell contents are overwritten, what happens if the sheet or file does not exist, error handling, or the return value. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and uses a clear Args section. Every sentence adds value, with no fluff or repetition. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists (so return values need not be described), the description omits important behavioral details such as overwrite behavior, sheet existence handling, and edge cases like mismatched data dimensions. It is adequate for basic usage but leaves room for ambiguity in real-world scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains each parameter: file_path, sheet_name, start_cell (with example 'A1'), data ('2D array of rows and column values'), and backup ('create a backup of the original file before modifying'). This adds meaningful context beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Write' and the resource (2D matrix of data in an Excel sheet), with a specific starting cell. It distinguishes itself from siblings like excel_write_cell (single cell) and excel_append_rows (appending rows) by focusing on a full 2D block write. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for writing a block of data starting at a cell, but it does not explicitly mention when to prefer this over alternatives like excel_write_cell or excel_append_rows, nor does it state any exclusions or prerequisites. The usage context is inferable but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_add_chartA
Add a native Excel-backed chart to a slide in a PowerPoint presentation.
Supported chart types:
- 'column_clustered', 'column_stacked', 'column_stacked_100'
- 'bar_clustered', 'bar_stacked', 'bar_stacked_100'
- 'line', 'line_markers', 'line_stacked'
- 'pie', 'pie_exploded', 'doughnut'
- 'area', 'area_stacked'
Args:
file_path: Path to the PowerPoint file (.pptx).
slide_idx: 0-based index of the slide.
chart_type: Chart type name (e.g., 'column_clustered', 'line', 'pie', 'bar_clustered').
categories: Category labels along the category axis (e.g. ['Q1', 'Q2', 'Q3', 'Q4']).
series_data: List of series dicts, each with 'name' (str) and 'values' (list of numbers).
Example: [{'name': 'Revenue', 'values': [100, 120, 140, 160]}]
title: Optional chart title.
left: Left offset position in inches (default: 1.0).
top: Top offset position in inches (default: 1.5).
width: Chart width in inches (default: 8.0).
height: Chart height in inches (default: 4.5).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| left | No | ||
| title | No | ||
| width | No | ||
| backup | No | ||
| height | No | ||
| file_path | Yes | ||
| slide_idx | Yes | ||
| categories | Yes | ||
| chart_type | Yes | ||
| series_data | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses modification behavior through the backup option ('create a backup of the original file before modifying') and documents the complete set of supported chart types. However, it does not explicitly state whether the file is saved in place, what happens on invalid slide indexes, or any permission requirements, leaving some important behavioral details unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and efficient: a lead sentence, a formatted list of supported chart types, and a clear Args block. There is no fluff; each section directly supports correct invocation. The usability is high despite the length, which is justified by the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters, the description covers all of them, including examples and defaults, and lists the full chart-type enumeration. An output schema is present, so return values don't need explanation. The only gaps are edge-case behaviors (e.g., missing file, invalid slide index) and explicit note that the file is saved, which are absent but not critical for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates. Every parameter is explained with types, defaults, and meaningful examples (e.g., series_data includes a concrete dict example, categories shows an example list, chart_type lists all valid values). This adds substantial semantic meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear action and resource: 'Add a native Excel-backed chart to a slide in a PowerPoint presentation.' This distinctly separates the tool from siblings like ppt_add_slide, ppt_add_table, and ppt_add_flowchart. The included list of supported chart types further clarifies the exact scope of the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its purpose statement, but it does not explicitly state when to use this tool vs. alternatives, nor does it mention exclusions or conditions. With many sibling tools present, an explicit routing statement would have been helpful. The guidance is only implied, not direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_add_flowchartA
Add an editable flowchart or architecture diagram to a PowerPoint slide using Mermaid syntax.
Nodes are rendered as native PowerPoint shapes (Rounded Rectangles, Diamonds for conditions,
Ovals/Stadiums) connected by native connector arrows with arrowheads.
All text, colors, shapes, and layouts remain 100% editable inside PowerPoint.
Supported Mermaid Syntax:
- Direction: 'graph TD' / 'flowchart TD' (Top-Down), 'graph LR' / 'flowchart LR' (Left-Right)
- Box node: `NodeID[Node Label]`
- Rounded node: `NodeID(Node Label)`
- Condition/Decision node: `NodeID{Condition Label}`
- Stadium/Pill node: `NodeID([Label])`
- Line breaks in labels: `<br/>` or `\n`
- Arrows: `A --> B`, `A -->|label| B`, `A --- B`, `A ==> B`, `A -.-> B`
- Chain connections: `A --> B --> C`
Args:
file_path: Path to the PowerPoint file (.pptx).
slide_idx: 0-based index of the slide (auto-creates slide if presentation is empty).
mermaid_code: Mermaid diagram code string.
title: Optional slide title to display at the top.
direction: Layout direction: 'auto' (detect from code), 'TD' (Top-Down), or 'LR' (Left-Right).
left: Left margin offset in inches (default: 0.8).
top: Top margin offset in inches (default: 1.6).
width: Total width allocated for diagram in inches (default: 8.4).
height: Total height allocated for diagram in inches (default: 5.0).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| left | No | ||
| title | No | ||
| width | No | ||
| backup | No | ||
| height | No | ||
| direction | No | auto | |
| file_path | Yes | ||
| slide_idx | Yes | ||
| mermaid_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses substantial behavior: nodes become native PowerPoint shapes with native connector arrows, output remains 100% editable, slide_idx auto-creates a slide for empty presentations, and backup controls file backup before modification. It does not disclose failure modes for invalid Mermaid code or effects on existing slide content, but the key behavioral traits are squarely covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured: purpose first, then rendering/editability guarantees, then the Mermaid syntax reference, then parameter docs. Every block earns its place for a tool that accepts a DSL and 10 parameters, though the syntax list could be marginally tightened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity tool with a DSL input, 10 parameters, and an existing output schema (so return values need no explanation), the description is nearly complete: purpose, rendering behavior, editability guarantees, syntax variants, and all parameter semantics are covered. Minor gaps are error behavior for invalid Mermaid code and how the diagram scales or wraps within the given width/height.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does fully. The Args section documents all 10 parameters with units (inches), defaults (0.8, 1.6, 8.4, 5.0), and semantic details (0-based slide_idx, direction values 'auto'/'TD'/'LR', backup flag behavior). Nothing in the schema leaves the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Add an editable flowchart or architecture diagram to a PowerPoint slide using Mermaid syntax.' This clearly states what it does and differentiates it from content-creation siblings like ppt_add_table and ppt_add_chart by the artifact type and the DSL used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use vs alternatives statement or exclusions. The use case is strongly implied by the purpose statement, and the extensive supported-syntax list tells an agent what inputs are valid, but the description never says 'use X instead for Y' or names a sibling as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_add_slideA
Add a new slide to a PowerPoint presentation (.pptx).
Args:
file_path: Path to the PowerPoint file.
title: Title for the slide.
content: Optional content text for the body placeholder.
layout_idx: Slide layout index (0=Title Slide, 1=Title and Content). Default 1.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| backup | No | ||
| content | No | ||
| file_path | Yes | ||
| layout_idx | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It mentions the backup parameter ('create a backup of the original file before modifying'), which implies the tool modifies the file. However, it does not state whether it appends to the end, whether the file must exist, or any error conditions, leaving gaps in behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a concise docstring with an Args list, front-loading the purpose. Each parameter gets a single line with no fluff. It is efficient and easy to scan, though the multi-line format is slightly longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description needn't explain return values. It covers all parameters and the overall purpose. It omits preconditions like file existence and append behavior, but for an add-slide operation these are largely implied. The inclusion of backup and layout_idx adds sufficient context for a typical call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It explains every parameter: file_path (path), title, content (optional body placeholder text), layout_idx (with specific meanings for 0 and 1), and backup (backup behavior). This adds meaning far beyond the raw schema types and is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Add a new slide to a PowerPoint presentation (.pptx)' with a specific verb (add) and resource (slide). It clearly differentiates from sibling add tools (ppt_add_table, ppt_add_chart, ppt_add_flowchart) and from ppt_create_presentation, so an agent can correctly identify what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing layout options (Title Slide vs Title and Content) but does not explicitly mention when to choose this tool over alternatives like ppt_add_table or ppt_update_slide_text. There is no guidance on exclusions or conditions, so it relies on the tool name for selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_add_tableA
Add a table to a specific slide in a PowerPoint presentation.
Args:
file_path: Path to the PowerPoint file (.pptx).
slide_idx: 0-based index of the slide.
rows: Number of table rows.
cols: Number of table columns.
data: Optional 2D list of cell text values.
left: Left offset position in inches (default: 1.0).
top: Top offset position in inches (default: 2.0).
width: Table width in inches (default: 8.0).
height: Table height in inches (default: 4.0).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| cols | Yes | ||
| data | No | ||
| left | No | ||
| rows | Yes | ||
| width | No | ||
| backup | No | ||
| height | No | ||
| file_path | Yes | ||
| slide_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It discloses mutation via the backup parameter description ('create a backup of the original file before modifying') but does not elaborate on the modification process, potential overwrites, or return value behavior. It gives some transparency but lacks depth on side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: a single sentence states purpose, followed by a parameter list. No redundant text. The main purpose is front-loaded, and the parameter descriptions are terse but informative. Slight room for improvement in grouping or highlighting the mutation aspect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters and no annotations, the description covers all parameter semantics and mentions the backup option. It does not mention error handling or constraints (e.g., positive rows/cols), but the output schema (though not provided) may cover return value. It is sufficiently complete for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by providing clear semantic meaning for every parameter: file_path, slide_idx, rows, cols, data, left, top, width, height, and backup. It explains units (inches), defaults, and optionality, going well beyond the schema's type-only info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Add a table to a specific slide in a PowerPoint presentation.' It distinguishes this from sibling tools like ppt_add_chart and ppt_add_flowchart by naming the exact object type. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what it does but gives no explicit guidance on when to choose this over alternatives (e.g., when a chart is needed instead). It provides context for adding a table to a slide but no exclusions or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_create_presentationA
Create a new empty PowerPoint presentation (.pptx) with an optional title slide.
Args:
file_path: Path where the presentation will be saved.
title: Optional title for the first slide.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it creates a file but does not disclose potential side effects such as overwriting an existing file at file_path, directory creation requirements, permissions needed, or what the tool returns after creation. For a mutation-like creation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single-purpose headline sentence followed by a clear Args list. There is no extraneous information, and the structure makes the parameters easy to parse. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (two parameters, one required) and the description covers the core behavior: creating an empty presentation with an optional title slide. Since an output schema is present, return values are likely specified there. However, it omits practical details like overwrite behavior, which an agent might need to avoid data loss, so it's not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is 0%, the description explicitly documents both parameters in the Args section: file_path as the save location and title as the optional first-slide title. This adds meaningful context beyond the bare type definitions in the input schema, clarifying the purpose of each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Create a new empty PowerPoint presentation (.pptx)'. It specifies the resource (presentation file) and action (create), and distinguishes itself from sibling tools like ppt_add_slide or ppt_update_slide_text by indicating it creates a new, empty presentation rather than modifying an existing one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for creating a new presentation, but it does not explicitly state when to use it over alternatives (e.g., before adding slides) or when not to use it. There is no mention of prerequisites or exclusions. The usage context is clear from the name and description, but the guidance is minimal and implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_get_outlineA
Get the outline of a PowerPoint presentation (.pptx).
Returns total slide count and slide-by-slide titles and shape counts.
Args:
file_path: Path to the PowerPoint file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently explains that this is a read operation returning slide count, titles, and shape counts, which covers the main behavior. However, it does not disclose whether the outline is limited to top-level titles only, how shape counts are counted, or any edge cases like empty presentations. The core behavior is clear, but behavioral detail is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, stating the action in the first sentence, then summarizing the return value, then documenting the argument. Every sentence provides necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema, so the description need not enumerate return fields; the sentence about returned content is sufficient context. However, for a tool with no annotationsament, the description omits boundary conditions such as file-not-found behavior, unsupported formats, or whether the outline is ordered by slide order. It is adequate for a simple one-parameter read tool, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines the only parameter, `file_path`, as 'Path to the PowerPoint file.' This fully clarifies the meaning of the parameter beyond the schema's bare `string` type, including the expected file format implied by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Get the outline of a PowerPoint presentation (.pptx).' It also specifies the exact output ('total slide count and slide-by-slide titles and shape counts'), making the tool's function unambiguous and clearly distinct from per-slide reading, searching, or editing siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The output description implies the tool is for obtaining a high-level structural overview of a presentation, but it does not explicitly say when to prefer this over `ppt_read_slide`, `ppt_search`, or `word_get_outline`. Usage context is present but only implied through the stated return values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_read_notesC
Read the speaker notes of a specific slide in a PowerPoint presentation.
Args:
file_path: Path to the PowerPoint file (.pptx).
slide_idx: 0-based index of the slide.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| slide_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'Read' which is read-only, but does not mention potential errors (e.g., slide index out of range, file not found), file format assumptions (.pptx), or any side effects (none expected). It also doesn't clarify that the tool does not modify anything or that it requires the file to exist. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a single purpose sentence plus the Args section. It is front-loaded with the core action. It could be argued that the Args section is redundant with the schema, but it provides clarity for the agent. No unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, no nested objects), and there is an output schema (not detailed here but likely defines the return structure). The description sufficiently covers the core function, but it lacks error handling guidance (e.g., invalid slide index) and does not mention dependencies like the file must exist or be a valid .pptx. Given the presence of an output schema, the return format is covered, but behavioral edge cases are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. It includes an 'Args' section that describes file_path as 'Path to the PowerPoint file (.pptx)' and slide_idx as '0-based index of the slide', which does add meaning beyond the bare schema types. However, it lacks details like constraints (e.g., must be a .pptx file, slide_idx must be valid) or examples, and the descriptions are brief. This is basic but not fully compensating for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'speaker notes of a specific slide', which is specific and distinguishes it from siblings like ppt_read_slide (which reads slide content) and ppt_update_notes (which modifies notes). However, it could explicitly name a sibling for contrast, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that this is for reading notes specifically, while ppt_read_slide is for slide content, or that ppt_search might be used for finding slides. The context of use is implied but not explicit, and no exclusions or when-not-to-use scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_read_slideA
Read all text content and table data from a specific slide in a PowerPoint presentation.
Args:
file_path: Path to the PowerPoint file.
slide_idx: 0-based index of the slide.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| slide_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the read scope ('all text content and table data') but does not explicitly confirm it is non-destructive, mention error handling for invalid slide indices, or describe the output format beyond the existence of an output schema. The description adds some context about the read scope but lacks detail on side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single sentence states the purpose, followed by a clear bullet list of arguments. The key purpose is front-loaded, and there is no redundant or extraneous information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with an output schema, the description provides sufficient context for correct invocation: it defines the parameters and what is read. It does not cover when to use it versus alternatives (scored under usage guidelines) or error behavior, but the core invocation details are complete. The output schema covers return format, so the description need not repeat that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The Args section adds meaning beyond the schema: it clarifies that file_path is the path to the PowerPoint file and specifies that slide_idx is 0-based, which is critical for correct invocation. This is valuable semantic information not present in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb 'Read' with a precise resource ('all text content and table data from a specific slide in a PowerPoint presentation'), making the tool's function unmistakable. It distinguishes itself from siblings like ppt_read_notes (which reads notes) and ppt_search (which searches), though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or contexts where other tools (e.g., ppt_get_outline for an outline) would be more appropriate. The usage is only implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_searchA
Search for a text query across PowerPoint slides, shapes, tables, and notes.
Args:
file_path: Path to the PowerPoint file (.pptx).
query: Text to search for.
case_sensitive: Whether matching is case-sensitive (default: False).
max_results: Maximum results to return (default: 50).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| file_path | Yes | ||
| max_results | No | ||
| case_sensitive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral context. It discloses the search scope (slides, shapes, tables, notes) and the optional case-sensitivity/result-cap behavior. It does not explicitly state that the file is unmodified, but 'Search' strongly implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence purpose summary and then a tight Args block. Every sentence earns its place, and there is no fluff or redundant explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with an output schema present, the description plus the input schema covers all parameters and the search scope sufficiently. It is mildly incomplete only in not explicitly stating that the operation does not modify the file, but this is strongly implied by 'Search'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does: file_path is defined as a .pptx path, query as text to search for, and case_sensitive/max_results have clear meanings and defaults. It stops short of detailing match semantics (e.g., substring vs. regex), so it is not a perfect 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('PowerPoint slides, shapes, tables, and notes'), making the tool's purpose immediately clear. This also separates it from read-only tools like ppt_read_slide and from word/excel search tools by naming the PPT content scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus alternatives such as ppt_get_outline, ppt_read_notes, or word_search. The only implied usage is that 'Search' is the right operation for locating text, but no exclusions or sibling comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_update_notesA
Update speaker notes for a specific slide in a PowerPoint presentation.
Args:
file_path: Path to the PowerPoint file (.pptx).
slide_idx: 0-based slide index.
notes_text: Text content to set as the speaker notes.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| backup | No | ||
| file_path | Yes | ||
| slide_idx | Yes | ||
| notes_text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses a mutating side effect ('set as the speaker notes') and the backup option ('create a backup of the original file before modifying'), which is useful. However, it does not explicitly state that existing notes are overwritten irreversibly, what happens on error, or any permission or file-state requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one purpose sentence plus four terse, informative parameter lines. There is no filler or redundancy, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition covers all four parameters, the replace semantics, and backup behavior, and an output schema exists so return values need not be explained. It is missing only explicit sibling routing and edge-case behavior, which are not essential for invoking a simple notes-update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args block compensates for every parameter: .pptx path, 0-based slide index, text to set, and backup behavior. It adds real meaning beyond the schema, especially the 0-based clarification and the 'before modifying' ordering. It stops short of constraints like valid slide ranges or file-existence checks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb ('Update'), a specific resource ('speaker notes'), and scope ('for a specific slide'). This clearly distinguishes the tool from siblings like ppt_update_slide_text and ppt_read_notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use context through 'for a specific slide' but never states when to choose it over alternatives such as ppt_update_slide_text or ppt_read_notes. There are no exclusions or explicit routing conditions, so the agent must infer selection from the tool name and resource type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ppt_update_slide_textA
Update the text of a specific shape on a slide in a PowerPoint presentation.
Args:
file_path: Path to the PowerPoint file.
slide_idx: 0-based slide index.
shape_idx: 0-based shape index within the slide.
text: New text content for the shape.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| backup | No | ||
| file_path | Yes | ||
| shape_idx | Yes | ||
| slide_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the backup parameter behavior but does not state side effects like overwriting existing text, whether the file is saved automatically, what happens if the shape or slide index is invalid, or any return value. For a mutating operation, this is insufficient disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence stating the purpose, followed by a clean argument list. There is no fluff or redundant information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and parameters but lacks contextual details such as how to obtain the correct indices (e.g., by first reading the slide), error scenarios, or any prerequisite steps. Given the presence of an output schema, return values are presumably covered, but the tool's usage context is not fully fleshed out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains every parameter, including that slide_idx and shape_idx are 0-based, and clarifies the backup behavior. This adds meaningful semantic information beyond the bare schema types and titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (update text) and the specific resource (a shape on a slide in a PowerPoint file). It is distinct from sibling tools like ppt_read_slide (read-only) and ppt_update_notes (updates notes, not shape text), so an agent can easily tell this tool apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that to find the correct shape_idx one might need to call ppt_read_slide first, nor does it exclude cases like updating notes (ppt_update_notes) or other types of content. Usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_append_paragraphA
Append a paragraph or heading to the end of a Word document (.docx).
Args:
file_path: Path to the Word document.
text: Text to append.
style: Optional style (e.g., 'Heading 1', 'Heading 2', 'List Bullet', or None for normal body).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| style | No | ||
| backup | No | ||
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It states that the tool appends to the end of a file and, when backup=True, creates a backup before modifying, making the in-place mutation explicit. It does not disclose error behavior, permissions, or what happens if the file does not exist, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence purpose is followed by a compact Args block with one line per parameter. No filler or redundant detail, and the most important action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and all parameters, and an output schema exists to handle return values. However, for a file-mutating tool it omits prerequisites (the document must already exist) and does not address error conditions or backup file naming. These are notable gaps given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description's Args block is the only source of parameter meaning. It defines all four parameters, including concrete examples for style and the functional effect of backup. This compensates well for the schema gap, though style examples are illustrative rather than exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and direct object: 'Append a paragraph or heading to the end of a Word document (.docx).' This clearly identifies the operation and target resource, and distinguishes it from sibling tools like word_append_table_row and word_delete_paragraph. The action and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for adding paragraph or heading content at the end of an existing Word document. It does not explicitly name alternatives or state when not to use it, but the purpose line plus style examples (e.g., 'Heading 1', 'List Bullet') imply common use cases effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_append_table_rowA
Append a new row of data to an existing table in a Word document.
Args:
file_path: Path to the Word document.
table_idx: 0-based index of the table.
row_data: List of strings for each column in the new row.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| backup | No | ||
| row_data | Yes | ||
| file_path | Yes | ||
| table_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It discloses the backup behavior ('If True, create a backup of the original file before modifying') and signals that the file is modified, but it does not address invalid table_idx, row_data length mismatches, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One summary sentence plus a compact Args list; no filler. Every line adds information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all four parameters and the key backup behavior, and an output schema exists so return-value documentation is unnecessary. It is slightly incomplete around failure modes and row/column length validation, but for a simple append-row operation it gives an agent enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args list in the description must carry the meaning. It does: file_path is 'Path to the Word document', table_idx is '0-based index of the table', row_data is 'List of strings for each column in the new row', and backup explains its behavior. This fully compensates for the schema's bare titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action ('Append a new row of data') and a specific target ('an existing table in a Word document'). This clearly differentiates it from sibling tools like word_write_table_cell and word_append_paragraph by resource and operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for adding rows to an already-created table, but it does not explicitly state when to choose it over alternatives or when not to use it. No sibling tools are named or contrasted, so an agent must infer usage from the phrase 'existing table'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_create_documentA
Create a new empty Word document (.docx) with an optional title.
Args:
file_path: Path where the document will be saved.
title: Optional title text.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action and file path but does not disclose whether existing files are overwritten, whether the directory must exist, or any permission requirements. It also does not mention any side effects or the nature of the return value (though an output schema exists). For a file-creation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a single opening sentence and a two-line arg list. It contains no redundant phrasing or filler. The core purpose is front-loaded, and the parameter details are presented efficiently. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (two parameters, no nested objects) and the presence of an output schema, the description covers the essential purpose and parameters. However, it omits critical behavioral context such as overwrite behavior, error conditions (e.g., invalid path), and whether the document is saved immediately. This could lead an agent to assume default behaviors that may not hold. While not severely incomplete, it leaves important gaps for a file-mutating operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for its parameters, and schema description coverage is 0%. The description compensates by providing concise but meaningful explanations: 'file_path: Path where the document will be saved.' and 'title: Optional title text.' This adds semantic value beyond the bare types in the schema, clarifying the purpose of each parameter. Both parameters are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb 'Create' and a specific resource 'new empty Word document (.docx)' with an optional title. It explicitly distinguishes this from siblings like word_append_paragraph or word_replace_text by focusing on creation of a new file. The file type (.docx) and emptiness are specified, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use this tool: to create a new empty Word document. It does not explicitly name alternatives or exclusions, but the context of sibling tools (e.g., word_append_paragraph, word_read_paragraphs) makes the use case obvious. There is no explicit 'when not to use' guidance, but the purpose is specific enough that an agent can infer it is for new document creation only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_delete_paragraphA
Delete a specific paragraph from a Word document by its 0-based index.
Args:
file_path: Path to the Word document (.docx).
paragraph_idx: 0-based index of the paragraph to delete.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| backup | No | ||
| file_path | Yes | ||
| paragraph_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral disclosure. It states the action is destructive ('delete') and mentions the backup option, which implies file modification. However, it does not disclose error handling (e.g., out-of-bounds index), whether the file is saved in place, or any side effects beyond the deletion. The backup mention adds some transparency, but the description remains minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action. It uses a clean Args block to detail parameters without unnecessary prose. Every sentence earns its place, and the structure is immediately scannable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with three parameters, the description covers all necessary invocation details. It does not describe return values, but an output schema exists, so per the rubric the description need not explain them. Edge cases like invalid index are not mentioned, but these are likely handled by the output schema. The description is adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explicitly explaining each parameter: file_path is the path to the .docx, paragraph_idx is the 0-based index, and backup controls whether a backup is created before modification. This adds significant meaning beyond the schema titles and leaves no ambiguity about parameter intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (a specific paragraph from a Word document) with a precise identifier (0-based index). This distinguishes it from sibling tools like word_read_paragraphs or word_append_paragraph without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where deletion is appropriate, nor does it contrast with other editing tools (e.g., word_replace_text). The backup parameter hints at a safety consideration, but there is no explicit 'when to use' or 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_get_outlineA
Get the outline of a Word document (.docx).
Returns total paragraph count, table count, and all headings with their levels.
Args:
file_path: Path to the Word document (.docx).
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are present, the description carries the burden, and it explicitly discloses what the tool returns: total paragraph count, table count, and all headings with levels. It does not mention side effects or error behavior, but 'Get' plus the return-oriented wording strongly imply a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the operation, the return values, and the parameter. The most important information is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description is complete. It names the input, the supported file type, and the output contents, so an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only gives 'File Path' as a title, while the description adds that file_path is the path to the Word document (.docx). This provides essential format and purpose context, though it could further specify path conventions or required file existence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get the outline of a Word document (.docx)', and clarifies the concrete outputs (paragraph count, table count, headings with levels). This distinguishes it from reading paragraphs or searching text without needing to inspect the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided, and no alternatives or exclusions are mentioned. An agent must infer from the name that this is for outlines rather than for reading paragraphs or searching documents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_read_paragraphsA
Read a chunk of paragraphs from a Word document (.docx).
Indices are 0-based.
Args:
file_path: Path to the Word document.
start_idx: Starting paragraph index (0-based, default 0).
count: Number of paragraphs to retrieve (default 30).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| file_path | Yes | ||
| start_idx | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully states that indices are 0-based and that count defaults to 30, and 'read' implies a non-mutating operation. It does not cover boundary behavior such as start_idx past the end of the document or how the chunk is ordered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a short note on indexing and a clean Args block. Every sentence adds necessary information without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter read operation, the description covers the tool's purpose and all parameter semantics, and an output schema exists to cover return values. It lacks explicit edge-case/error behavior, but that is a minor gap at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by giving each parameter a meaning: file path, starting paragraph index with 0-based semantics, and count of paragraphs. The defaults are restated, but the 0-based clarification adds real value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a read operation on paragraphs in a .docx file, with a specific verb and resource. It differentiates at a glance from siblings like word_read_table and word_search, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: when you need a sequential chunk of paragraphs from a Word document, controlled by start_idx and count. However, it gives no explicit when-not-to-use guidance or comparison with sibling read/search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_read_tableA
Read a table from a Word document (.docx).
Args:
file_path: Path to the Word document.
table_idx: 0-based index of the table (default 0).
format: 'markdown' (default) or 'raw' (2D list of cell text).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| file_path | Yes | ||
| table_idx | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially takes on the burden: 'Read' signals a non-destructive operation, and the raw format is described as a 2D list of cell text. However, it does not disclose behavior for out-of-range table indices, empty documents, or errors, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the one-sentence purpose, followed by a tidy Args block. No words are wasted, and each parameter entry conveys its semantics and default.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All three inputs are semantically complete, the .docx scope is stated, and an output schema exists to document the return shape. The main gap is the lack of selection guidance versus sibling tools, which is already penalized under usage guidelines but keeps this from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates fully: file_path is tied to the Word document, table_idx is defined as 0-based with a default, and format is specified as 'markdown' (default) or 'raw' with the raw shape explained. This adds real meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the resource ('a table from a Word document (.docx)'), making the tool's purpose obvious. It is distinguishable from siblings like word_read_paragraphs by the table resource, but it does not explicitly contrast itself with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to prefer this tool over siblings such as word_read_paragraphs or word_search, nor does it mention prerequisites or exclusions. The only context is the purpose statement, which leaves selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_replace_textA
Find and replace text across paragraphs and tables in a Word document.
Args:
file_path: Path to the Word document (.docx).
find_text: Text string to find.
replace_text: Replacement text string.
count: Maximum number of replacements (-1 for all occurrences).
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| backup | No | ||
| file_path | Yes | ||
| find_text | Yes | ||
| replace_text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description correctly shoulders the safety burden by disclosing that the original file is modified and that a backup can be created beforehand. The scope boundary 'across paragraphs and tables' is also a useful behavioral trait. It stops short of explicitly stating irreversibility, but the backup option and 'before modifying' wording make the side effect clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single purpose-led sentence is followed by a compact, consistently formatted Args list with no filler or restatement of schema defaults. Each line adds distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no schema descriptions, the description supplies the essential context: file path, find/replace strings, replacement-count semantics, and backup behavior. Since an output schema exists, the absence of return-value prose is not a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block is the only source of parameter meaning. It fully compensates by documenting all five parameters, including the meaning of the count sentinel (-1) and the backup condition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a concrete operation ('Find and replace'), a resource ('Word document'), and a precise scope ('across paragraphs and tables'). This is specific enough to distinguish the tool from read-only siblings like word_search and from cell/table writers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over siblings such as word_search or word_write_table_cell, and no exclusions are stated. The intended use is only implied by the name and first sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_searchA
Search for a text query across Word paragraphs and tables.
Args:
file_path: Path to the Word document (.docx).
query: Text to search for.
case_sensitive: Whether matching is case-sensitive (default: False).
max_results: Maximum results to return (default: 50).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| file_path | Yes | ||
| max_results | No | ||
| case_sensitive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry behavioral disclosure. It does state the search scope (paragraphs and tables), the case_sensitive default, and the max_results cap, but it never explicitly says the operation is read-only or describes behavior for no matches or result truncation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in one clear sentence, followed by a compact, focused Args list. There is no filler or redundant commentary; every line contributes usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, explaining return values is unnecessary. However, the description lacks usage context, alternatives, and any explicit assurance about read-only behavior or search limitations, which are the main remaining gaps for an agent deciding when to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args section meaningfully compensates: file_path is clarified as a .docx path, query is described as text to search for, and both optional parameters get human-readable semantics. It mostly restates schema titles/defaults rather than adding deeper matching details, so it stops short of 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Search for a text query across Word paragraphs and tables.' This clearly identifies the document type and content scope, and distinguishes search from sibling read/table tools by describing a search operation rather than a read or mutation operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives. An agent is not told to choose word_search over word_read_paragraphs or word_replace_text, nor that excel_search and ppt_search cover other document formats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
word_write_table_cellA
Update text in a specific cell of a table in a Word document.
Args:
file_path: Path to the Word document.
table_idx: 0-based index of the table.
row_idx: 0-based row index.
col_idx: 0-based column index.
text: New text content for the cell.
backup: If True, create a backup of the original file before modifying.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| backup | No | ||
| col_idx | Yes | ||
| row_idx | Yes | ||
| file_path | Yes | ||
| table_idx | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the file is modified and that a backup can be created, but it does not describe overwrite semantics, formatting effects, error behavior, or the absence of a backup by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One focused summary sentence followed by a clean Args list where each line earns its place. There is no fluff or repetition of schema defaults.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is sufficient for a straightforward cell-write call: all six arguments are explained, the 0-based indexing is explicit, and the output schema covers return values. It is only missing higher-level context such as preconditions and sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args block fully compensates by defining every parameter, including the important 0-based index convention and the behavior of the backup flag. This goes well beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Update') and a precise resource: 'text in a specific cell of a table in a Word document.' This clearly differentiates the tool from siblings like word_read_table or word_append_table_row, and adds value over the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided, and no alternatives are mentioned. The agent must infer from the name and sibling list that this is for editing an existing cell rather than appending rows or reading a table.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
v0.3.0- First observed
excel_append_rows - First observed
excel_create_workbook - First observed
excel_get_metadata - First observed
excel_manage_sheets - First observed
excel_read_sheet - First observed
excel_search - First observed
excel_write_cell - First observed
excel_write_range - First observed
ppt_add_chart - First observed
ppt_add_flowchart - First observed
ppt_add_slide - First observed
ppt_add_table - First observed
ppt_create_presentation - First observed
ppt_get_outline - First observed
ppt_read_notes - First observed
ppt_read_slide - First observed
ppt_search - First observed
ppt_update_notes - First observed
ppt_update_slide_text - First observed
word_append_paragraph - First observed
word_append_table_row - First observed
word_create_document - First observed
word_delete_paragraph - First observed
word_get_outline - First observed
word_read_paragraphs - First observed
word_read_table - First observed
word_replace_text - First observed
word_search - First observed
word_write_table_cell
TDQS
Scored across 29 tools
Every tool is clearly namespaced by file type (ppt_, word_, excel_) and uses a specific verb_noun action, so an agent can immediately tell reading from writing, searching from metadata, and cell writes from row appends. Even similar operations like excel_write_cell and excel_write_range are distinct in scope.
All tool names follow the same snake_case prefix_verb_noun pattern, with consistent prefixes per document type and consistent verbs like read, write, create, append, delete, and search. There is no mixing of camelCase, bare verbs, or unpredictable naming conventions.
At 29 tools the set is larger than the typical ideal range, but the server intentionally spans three document ecosystems—PowerPoint, Word, and Excel—so roughly 8–11 tools per format is reasonable. Each tool addresses a distinct operation and none feel redundant, though the overall surface is on the heavier side.
The toolset covers core lifecycle operations for each format: create, read, search, write/update, and append/modify, with additional capabilities like charts, tables, notes, and sheet management. Minor gaps exist—such as no slide deletion, no Word table creation, and no Excel row deletion—but agents can typically work around these without dead ends.
Maintenance
Related MCP Connectors
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Create and manage documents, spreadsheets, and presentations from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, write, and manipulate Excel files through comprehensive spreadsheet operations. Supports file management, data querying, worksheet operations, formula calculations, and includes security features like path validation and automatic backups.2MIT
- AlicenseAqualityDmaintenanceProvides AI assistants with unified file operations via MCP, supporting Excel, PDF, Word, and SQLite file reading, writing, and querying.12MIT
- AlicenseAqualityDmaintenanceEnables AI agents to generate real Office documents (.pptx, .docx, .xlsx) and source code from natural language via MCP protocol.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, modify, and create Word (.docx) and Excel (.xlsx) files through natural language commands, including batch queries and temporary table management.MIT