paperoffice-mcp-tool-discoverylisted
Install: claude install-skill paperoffice-ai/paperoffice-skills
# PaperOffice MCP Tool Discovery
## Why this exists
PaperOffice keeps `tools/list` short on purpose (14 tools on `/dms`, `/cursor`, `/grok`; 9 on `/chatgpt`) so the context stays small. The rest of the catalogue is reached through four discovery tools that are present on every lane:
| Tool | Effect | Purpose |
|------|--------|---------|
| `po_mcp_tools_search` | READ-ONLY | natural-language search over the catalogue → compact hits with `tool_id`, effect, one-liner |
| `po_mcp_tools_schema` | READ-ONLY | full input schema for one `tool_id` |
| `po_mcp_tools_call_read` | READ-ONLY | execute a read-only `tool_id`; write tools are rejected |
| `po_mcp_tools_call_write` | DESTRUCTIVE | execute a writing or destructive `tool_id` |
Only `/mcp-full` lists everything directly.
## The three-step loop
```
1. po_mcp_tools_search { query: "send document for e-signature" }
→ matches[]: tool_id, one_liner, execute_via, annotations, annotation_reason, compact_schema
2. po_mcp_tools_schema { tool_id: "<from step 1>" }
→ full inputSchema with required fields, enums, descriptions
3. po_mcp_tools_call_read { tool_id, arguments } when execute_via is po_mcp_tools_call_read
po_mcp_tools_call_write { tool_id, arguments } when execute_via is po_mcp_tools_call_write
```
Each match tells you how to run it: `execute_via` names the right call tool, `annotations.readOnlyHint` / `destructiveHint` / `openWorldHint` describe the effect, `annotation_reason` explains it in o