MCP Documents
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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
- 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