MCP Documents
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_documentB | Create a new Word document. Args: file_path: Full path where to save the document title: Optional title to add as heading Returns: Success message or error |
| open_documentB | Open an existing Word document for editing. Args: file_path: Full path to the document Returns: Success message or error |
| save_documentA | Save the current document. Args: file_path: Optional new path to save as (uses current path if not specified) Returns: Success message or error |
| close_documentA | Close the current document without saving. Returns: Success message |
| get_document_infoB | Get information about the current document. Returns: Document information including sections, paragraphs, tables count |
| get_document_textB | Get all text content from the current document. Returns: All paragraph text from the document |
| list_open_documentsA | List all currently open documents. Returns: List of open document paths |
| switch_documentC | Switch to a different open document. Args: file_path: Path to the document to switch to Returns: Success message or error |
| add_paragraphA | Add a paragraph to the current document. Args: text: Paragraph text content style: Optional Word style name (e.g., "Normal", "Quote") bold: Make text bold italic: Make text italic underline: Underline text font_size: Font size in points font_name: Font name (e.g., "Arial", "Times New Roman") color: Text color as hex (e.g., "#FF0000") or name (e.g., "red") alignment: Text alignment ("left", "center", "right", "justify") Returns: Success message or error |
| add_headingB | Add a heading to the current document. Args: text: Heading text level: Heading level (0-9, where 0 is Title) Returns: Success message or error |
| add_imageB | Add an image to the current document. Args: image_path: Path to the image file width_inches: Optional width in inches height_inches: Optional height in inches Returns: Success message or error |
| add_page_breakA | Add a page break to the current document. Returns: Success message or error |
| search_textB | Search for text in the current document. Args: keyword: Text to search for Returns: Search results with locations |
| find_and_replaceC | Find and replace text in the current document. Args: find_text: Text to find replace_text: Text to replace with Returns: Number of replacements made |
| delete_paragraphB | Delete a paragraph by index. Args: index: Paragraph index (0-based) Returns: Success message or error |
| get_paragraphB | Get text of a specific paragraph. Args: index: Paragraph index (0-based) Returns: Paragraph text or error |
| count_paragraphsA | Get the number of paragraphs in the current document. Returns: Paragraph count or error |
| add_tableA | Add a table to the current document. Args: rows: Number of rows cols: Number of columns data: Optional 2D array of cell data style: Table style name (default: "Table Grid") Returns: Success message or error |
| edit_table_cellA | Edit the content of a table cell. Args: table_index: Table index (0-based) row_index: Row index (0-based) col_index: Column index (0-based) text: New cell text Returns: Success message or error |
| add_table_rowB | Add a row to an existing table. Args: table_index: Table index (0-based) data: Optional list of cell values Returns: Success message or error |
| delete_table_rowA | Delete a row from a table. Args: table_index: Table index (0-based) row_index: Row index to delete (0-based) Returns: Success message or error |
| merge_table_cellsC | Merge multiple table cells. Args: table_index: Table index (0-based) start_row: Starting row index start_col: Starting column index end_row: Ending row index end_col: Ending column index Returns: Success message or error |
| get_tables_infoB | Get information about all tables in the document. Returns: Table information including dimensions |
| get_table_contentC | Get all content from a specific table. Args: table_index: Table index (0-based) Returns: Table content as formatted text or error |
| set_page_marginsB | Set page margins for the document. Args: top: Top margin in centimeters bottom: Bottom margin in centimeters left: Left margin in centimeters right: Right margin in centimeters section_index: Section to apply to (default: 0) Returns: Success message or error |
| set_page_sizeA | Set page size for the document. Args: width: Page width in centimeters height: Page height in centimeters section_index: Section to apply to (default: 0) Returns: Success message or error |
| set_page_orientationB | Set page orientation. Args: orientation: "portrait" or "landscape" section_index: Section to apply to (default: 0) Returns: Success message or error |
| get_page_infoA | Get page layout information. Args: section_index: Section to query (default: 0) Returns: Page size, margins, and orientation |
| list_stylesA | List available paragraph styles in the document. Returns: List of style names |
| add_sectionA | Add a new section to the document. Returns: Success message with section count |
| add_headerA | Add a header to the document section. Args: text: Header text content section_index: Section to add header to (default: 0) alignment: Text alignment - "left", "center", "right" Returns: Success message or error |
| add_footerC | Add a footer to the document section. Args: text: Footer text content section_index: Section to add footer to (default: 0) alignment: Text alignment - "left", "center", "right" Returns: Success message or error |
| add_page_numbersA | Add page numbers to header or footer. Args: position: "header" or "footer" alignment: "left", "center", or "right" format_string: Format - use {page} for page number section_index: Section to add to Returns: Success message or error |
| remove_headerC | Remove header from a section. Args: section_index: Section to remove header from Returns: Success message or error |
| remove_footerC | Remove footer from a section. Args: section_index: Section to remove footer from Returns: Success message or error |
| get_header_textC | Get the header text from a section. Args: section_index: Section to get header from Returns: Header text or error |
| get_footer_textB | Get the footer text from a section. Args: section_index: Section to get footer from Returns: Footer text or error |
| set_different_first_page_headerA | Set different header for first page vs other pages. Args: first_page_text: Header text for first page other_pages_text: Header text for other pages section_index: Section to apply to Returns: Success message or error |
| add_bulleted_listB | Add a bulleted list to the document. Args: items: List of item texts style: List style - "List Bullet", "List Bullet 2", "List Bullet 3" Returns: Success message or error |
| add_numbered_listA | Add a numbered list to the document. Args: items: List of item texts style: List style - "List Number", "List Number 2", "List Number 3" Returns: Success message or error |
| add_list_itemC | Add a single list item. Args: text: Item text list_type: "bullet" or "number" Returns: Success message or error |
| add_multilevel_listA | Add a multi-level list with nested items. Args: items: List of dicts with 'text' and 'level' keys Example: [{"text": "Item 1", "level": 0}, {"text": "Sub item", "level": 1}] Returns: Success message or error |
| add_commentB | Add a comment to a paragraph. Args: comment_text: The comment text paragraph_index: Index of paragraph to comment on (0-based) author: Comment author name initials: Author initials Returns: Success message or error |
| get_all_commentsB | Get all comments from the document. Returns: List of all comments with metadata |
| get_comments_by_authorC | Get comments filtered by author name. Args: author: Author name to filter by Returns: List of comments by the specified author |
| delete_all_commentsA | Delete all comments from the document. Returns: Success message or error |
| get_comment_countA | Get the number of comments in the document. Returns: Comment count |
| set_table_cell_shadingC | Apply background color to a cell. |
| apply_table_alternating_rowsC | Apply alternating row colors to a table. |
| highlight_table_headerC | Highlight the first row as header. |
| set_cell_alignmentC | Set horizontal and vertical alignment for a cell. |
| set_cell_paddingC | Set padding for a cell (all sides). |
| set_column_widthC | Set width for a specific column across all rows. |
| add_footnoteC | Add a footnote to a paragraph. |
| add_text_watermarkC | Add a simple text watermark via header. |
| add_hyperlinkC | Add a hyperlink to a paragraph. |
| merge_documentsC | Merge multiple documents into the current document. |
| insert_documentC | Insert a single document at the end of current document. |
| enable_track_changesA | Enable track changes in the current document. All subsequent edits will be tracked as revisions. |
| disable_track_changesA | Disable track changes in the current document. Future edits will not be tracked. |
| accept_all_changesA | Accept all tracked changes in the document. Insertions are kept, deletions are removed. |
| reject_all_changesA | Reject all tracked changes in the document. Insertions are removed, deletions are restored. |
| protect_documentA | Protect the document with specified restrictions. Args: protection_type: Type of protection: - 'readOnly': Document is read-only - 'comments': Only comments allowed - 'trackedChanges': Only tracked changes allowed - 'forms': Only form fields can be edited password: Optional password to protect the document Returns: Success or error message |
| unprotect_documentA | Remove protection from the current document. Returns: Success or error message |
| add_endnoteB | Add an endnote to a specific paragraph. Endnotes appear at the end of the document. Args: paragraph_index: Index of the paragraph to add endnote to endnote_text: Text content of the endnote Returns: Success or error message |
| render_endnotesA | Render all endnotes at the end of the document. Creates an 'Endnotes' section with numbered entries. Returns: Success or error message |
| add_native_footnoteB | Add a native Word footnote to a specific paragraph. Args: paragraph_index: Index of the paragraph to add footnote to footnote_text: Text content of the footnote Returns: Success or error message |
| add_table_of_contentsC | Add a Table of Contents to the document. The TOC will include headings up to the specified level. Args: title: Title for the TOC section heading_levels: Number of heading levels to include (1-9) Returns: Success or error message Note: Open the document in Word and update the field to populate the TOC. |
| update_tocA | Get instructions for updating the Table of Contents. TOC must be updated in Microsoft Word or compatible application. Returns: Instructions for updating TOC |
| add_merge_fieldB | Add a mail merge field to the document. The field will be replaced with actual data during mail merge. Args: field_name: Name of the merge field (e.g., 'FirstName', 'Address') Returns: Success or error message |
| execute_mail_mergeB | Execute mail merge with provided data. Creates one document per record. Args: data: List of dictionaries with field values Example: [{"FirstName": "John", "LastName": "Doe"}, ...] output_pattern: Output filename pattern with {index} placeholder Example: "letter_{index}.docx" Returns: Success message with list of created files or error message |
| add_bookmarkA | Add a bookmark to a paragraph in the document. Bookmarks can be used for internal navigation. Args: paragraph_index: Index of the paragraph to bookmark bookmark_name: Name for the bookmark (no spaces) Returns: Success or error message |
| add_hyperlink_to_bookmarkA | Add a hyperlink that navigates to a bookmark in the document. Args: text: Display text for the hyperlink bookmark_name: Name of the target bookmark Returns: Success or error message |
| list_bookmarksA | List all bookmarks in the current document. Returns: Comma-separated list of bookmark names or error message |
| set_table_bordersA | Set borders for a table with per-side control. Args: table_index: Index of the table to modify top: Top border style bottom: Bottom border style left: Left border style right: Right border style inside_h: Inside horizontal border style inside_v: Inside vertical border style size: Border thickness (default 4) color: Border color as hex without # (default "000000") Border styles: 'single', 'double', 'dotted', 'dashed', 'none' Returns: Success or error message |
| set_row_heightA | Set the height of a specific row in a table. Args: table_index: Index of the table row_index: Index of the row to modify height_cm: Height in centimeters rule: Height rule: - 'exact': Exact height - 'atLeast': Minimum height - 'auto': Automatic height Returns: Success or error message |
| get_document_outlineA | Get the document outline based on headings. Returns a hierarchical view of all headings. Returns: Document outline or error message |
| get_document_statisticsB | Get comprehensive statistics about the document. Includes paragraph count, word count, table count, etc. Returns: Document statistics or error message |
| get_formatting_reportA | Get a report of fonts and styles used in the document. Useful for checking formatting consistency. Returns: Formatting report or error message |
| batch_replaceB | Replace multiple strings in the document at once. Args: replacements: Dictionary of old -> new text replacements Example: {"old1": "new1", "old2": "new2"} Returns: Success message with replacement count or error message |
| batch_format_paragraphsA | Apply a style to a range of paragraphs. Args: style_name: Name of the style to apply (e.g., 'Normal', 'Heading 1') start_index: Starting paragraph index (default 0) end_index: Ending paragraph index (exclusive, default all remaining) Returns: Success message with count or error message |
| read_csvA | Read a CSV file and return its contents. Args: file_path: Path to the CSV file delimiter: Column delimiter (default comma) has_header: Whether the first row is a header Returns: CSV contents as formatted text or error message |
| write_csvB | Write data to a CSV file. Args: file_path: Path for the output CSV file data: List of rows, each row is a list of values delimiter: Column delimiter (default comma) Returns: Success or error message |
| csv_to_tableA | Import a CSV file as a table in the current document. Args: csv_path: Path to the CSV file delimiter: Column delimiter (default comma) Returns: Success or error message |
| table_to_csvA | Export a table from the document to a CSV file. Args: table_index: Index of the table to export output_path: Path for the output CSV file delimiter: Column delimiter (default comma) Returns: Success or error message |
| read_excelA | Read an Excel file and return its contents. Requires openpyxl package. Args: file_path: Path to the Excel file (.xlsx) sheet_name: Name of the sheet to read (default: active sheet) Returns: Excel contents as formatted text or error message |
| excel_to_csvA | Convert an Excel file to CSV format. Requires openpyxl package. Args: excel_path: Path to the Excel file (.xlsx) csv_path: Path for the output CSV file sheet_name: Name of the sheet to convert (default: active sheet) Returns: Success or error message |
| csv_to_excelA | Convert a CSV file to Excel format. Requires openpyxl package. Args: csv_path: Path to the CSV file excel_path: Path for the output Excel file (.xlsx) sheet_name: Name for the sheet Returns: Success or error message |
| excel_to_tableA | Import an Excel file as a table in the current document. Requires openpyxl package. Args: excel_path: Path to the Excel file (.xlsx) sheet_name: Name of the sheet to import (default: active sheet) max_rows: Maximum rows to import (default 100) Returns: Success or error message |
| add_section_breakB | Add a new section break to the document. Args: section_type: Type of section break: - 'NEW_PAGE': Start on new page (default) - 'CONTINUOUS': Continue on same page - 'ODD_PAGE': Start on next odd page - 'EVEN_PAGE': Start on next even page Returns: Success or error message |
| list_sectionsA | List all sections in the document with their properties. Shows orientation, page size, and margins for each section. Returns: Section listing or error message |
| set_section_propertiesB | Set properties for a specific section. Args: section_index: Index of the section to modify orientation: 'PORTRAIT' or 'LANDSCAPE' width_inches: Page width in inches height_inches: Page height in inches top_margin: Top margin in inches bottom_margin: Bottom margin in inches left_margin: Left margin in inches right_margin: Right margin in inches Returns: Success or error message |
| add_zoned_headerC | Add a header with left, center, and right zones. Args: section_index: Section to add header to left_text: Text for left zone center_text: Text for center zone right_text: Text for right zone Returns: Success or error message |
| add_zoned_footerB | Add a footer with left, center, and right zones. Args: section_index: Section to add footer to left_text: Text for left zone center_text: Text for center zone right_text: Text for right zone Returns: Success or error message |
| get_metadataA | Get document metadata/properties. Includes title, author, subject, keywords, dates, etc. Returns: Document metadata or error message |
| set_metadataC | Set document metadata/properties. Args: title: Document title author: Document author subject: Document subject keywords: Keywords (comma-separated) category: Document category comments: Document comments Returns: Success or error message |
| strip_personal_infoA | Remove personal information from document metadata. Clears author, last modified by, and comments. Returns: Success or error message |
| redact_textA | Redact text matching pattern throughout the document. Args: pattern: Text or regex pattern to find replacement: Replacement text (default: [REDACTED]) use_regex: Whether to use regex matching Returns: Count of redactions or error message |
| sanitize_external_linksB | Remove all external hyperlinks from the document. Link text is preserved but the hyperlink is removed. Returns: Count of removed links or error message |
| get_paragraph_textA | Get text from a specific paragraph. Args: index: Paragraph index (0-based) Returns: Paragraph text or error message |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
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/rofiqcp/mcp-dokumen'
If you have feedback or need assistance with the MCP directory API, please join our Discord server