TianshangScribe
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCRIBE_AUTH_TOKEN | No | Optional bearer token for authenticating requests to the MCP server (SSE mode). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_office_documentA | Create a NEW Word (.docx), Excel (.xlsx), or PowerPoint (.pptx) file from a structured content list of typed blocks (heading, paragraph, formula, table, image), with LaTeX-style markup (\bfseries{bold}) and math formulas (\frac{a}{b}). Writes to output_path (default: a temp file) and persists. To edit an existing file, use edit_office_document. Excel blocks may carry: sheet_name, cell+formula, freeze, chart_type+chart_data_range, number_format, conditional_format, data_validation, hyperlink, named_range. PPT blocks may carry: slide_index, slide_layout, notes, transition, chart_type+chart_data, rows (table), path (picture), fill/line (shape). Multiple PPT text/table/chart blocks stack onto one slide unless slide_index is set. |
| edit_office_documentA | Legacy general-purpose editor kept for backward compatibility; for Excel use edit_excel_workbook and for PowerPoint use edit_presentation instead of this wide operation model. Still supports replace/delete/modify/style/add/clear on any type plus the Excel/PPT capability actions. Rewrites the file — when output_path is omitted the INPUT FILE IS OVERWRITTEN IN PLACE, so pass output_path or options {"backup": true} for a .bak copy. New documents belong to create_office_document. |
| fill_templateA | Fill {{key}} placeholders in a template document with data, expanding {{#each list}} loops and {{#if}}/{{#unless}} conditions. Writes a NEW file to output_path (default: _filled.); the input template is left unchanged. Run validate_template first to catch missing keys early. |
| convert_documentA | Convert a document between formats while preserving structure where possible: Word (.docx) to PDF/Markdown/HTML, Excel (.xlsx) to PDF/CSV/JSON/HTML, PowerPoint (.pptx) to PDF. Writes the converted file to output_path (default: .). PDF conversion requires office2pdf or LibreOffice to be installed. To read content for analysis instead, use extract_document_data. |
| extract_document_dataA | Read data from a document: metadata (author/title/etc.), text (plain text plus a block count), or structure (paragraphs/sheets/slides). Read-only — never modifies the input file. To compare two documents, use compare_documents. |
| validate_templateA | Validate that all {{placeholder}} variables, {{#each}} loops, and {{#if}}/{{#unless}} conditions in a template can be resolved against data, reporting missing keys. Read-only — never modifies the file. Call this BEFORE fill_template to catch missing keys early. |
| compare_documentsA | Compare two Word (.docx) documents and report paragraph-level differences: additions, removals, and changes with paragraph indices. Note: comparison and snapshots are ONLY supported for Word (.docx); Excel (.xlsx) and PowerPoint (.pptx) comparison is not yet available (you will receive an UNSUPPORTED_FORMAT error). Also manages document snapshots via options.action: "snapshot" records path_a state, "list_snapshots" lists recorded snapshots, and "restore" writes a snapshot back to path_b (snapshot store default: ~/.tianshang-scribe/snapshots/). The compare mode never modifies its inputs; snapshot/restore write to the snapshot store. To read a single document, use extract_document_data. |
| create_excel_workbookA | Create a NEW Excel workbook from typed sheet specs: each sheet carries name, headers, rows, cell formulas, freeze panes, number_format, conditional_format, data_validation, and column widths. Writes a new .xlsx at output_path and overwrites any file already there. For targeted changes to an existing workbook use edit_excel_workbook; for read-only inspection use analyze_excel_data. |
| edit_excel_workbookA | Edit an existing .xlsx workbook with typed operations: write_cell, set_formula, freeze_panes, add_chart, conditional_format, data_validation, add_table, sort, add_sheet, set_range_style, and number_format. Rewrites the file — when output_path is omitted the INPUT FILE IS OVERWRITTEN IN PLACE, so pass output_path or options {"backup": true} to keep a .bak copy. To build a new workbook use create_excel_workbook; to inspect one first use analyze_excel_data. |
| create_presentationA | Create a NEW PowerPoint deck from typed slide specs: layout, title, bullets, positioned text boxes, tables, charts, pictures, speaker notes, and transitions. Writes a new .pptx at output_path and overwrites any file already there. To change an existing deck slide by slide instead, use edit_presentation. |
| edit_presentationA | Edit an existing .pptx with typed operations: add_slide, add_text, replace_text, add_table, add_chart, add_picture, add_shape, apply_layout, set_transition, and add_notes. Rewrites the deck — when output_path is omitted the INPUT FILE IS OVERWRITTEN IN PLACE, so pass output_path or options {"backup": true} for a .bak copy. To generate a new deck use create_presentation. |
| analyze_excel_dataA | Analyze an Excel workbook without touching it: per-sheet row/column counts, headers, inferred column types (numeric min/max/mean, categorical values), null counts, sample rows, and duplicate-row detection. Read-only — never modifies the input file. After analysis use edit_excel_workbook to apply fixes, or extract_document_data for raw text and metadata. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| generate_report | Generate a professional Word report with table of contents, headings, data tables, and formatted text. |
| batch_fill_templates | Fill a Word template with data from a CSV file. Each CSV row produces one output document. |
| convert_and_archive | Convert a batch of Office documents to PDF format. |
| extract_and_analyze | Extract metadata, structure, and text from a document for analysis or data migration. |
| create_presentation | Create a PowerPoint presentation from a text outline. Each top-level line becomes a slide title with body content. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tianshang301/TianshangScribe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server