regulated-reporting-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WORKIVA_REGION | No | The Workiva API region: 'us' (default), 'eu', or 'apac'. | us |
| WORKIVA_ENV_FILE | No | Path to a .env file containing Workiva credentials (WORKIVA_CLIENT_ID, WORKIVA_CLIENT_SECRET, etc.). | |
| WORKIVA_MCP_MOCK | No | Set to '1' to run against the in-memory FakeWorkiva mock (no credentials needed). | 0 |
| WORKIVA_CLIENT_ID | No | OAuth2 client ID for a real Workiva workspace. | |
| WORKIVA_CLIENT_SECRET | No | OAuth2 client secret for a real Workiva workspace. | |
| WORKIVA_MCP_RECEIPT_DIR | No | Directory where write receipts are stored. Defaults to ~/.workiva_mcp/receipts/. |
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 |
|---|---|
| workiva_list_organizationsB | List organizations. |
| workiva_get_organizationC | Get organization details. Args: org_id: Organization ID |
| workiva_list_organization_usersB | List users in an organization. Args: org_id: Organization ID |
| workiva_list_organization_rolesB | List roles in an organization. Args: org_id: Organization ID |
| workiva_list_organization_solutionsA | List solutions enabled for an organization. Args: org_id: Organization ID |
| workiva_organizationA | DEPRECATED — use workiva_list_organizations / workiva_get_organization / workiva_list_organization_users / workiva_list_organization_roles / workiva_list_organization_solutions.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_list_workspacesC | List workspaces. |
| workiva_get_workspaceC | Get workspace details. Args: workspace_id: Workspace ID |
| workiva_list_workspace_groupsC | List groups in a workspace. Args: workspace_id: Workspace ID |
| workiva_list_workspace_membershipsA | List memberships in a workspace or workspace group. Args: workspace_id: Workspace ID group_id: Group ID (optional — limits to a group's memberships) |
| workiva_workspaceA | DEPRECATED — use workiva_list_workspaces / workiva_get_workspace / workiva_list_workspace_groups / workiva_list_workspace_memberships.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_read_cellsA | Read cell values from a spreadsheet table. Returns data in TSV format. Args: table_id: The table UUID (get from workiva_spreadsheet_sheets) start_row: First row to read (0-based, default 0) end_row: Last row to read (-1 = up to MAX_CELL_ROWS rows) start_col: First column to read (0-based, default 0) end_col: Last column to read (-1 = all columns) |
| workiva_write_cellsA | Write values to cells via the v2026 values API. PUT /spreadsheets/{spreadsheet_id}/sheets/{sheet_id}/values/{A1Range}. Formulas pass through as text starting with "=". Cells are grouped by row and written as one PUT per row with empty strings filling any column gaps. Args: spreadsheet_id: The spreadsheet UUID sheet_id: The sheet UUID (from workiva_spreadsheet_sheets) cells: [{row, col, value}] with 0-based row/col |
| workiva_write_verifiedA | Write values/formulas, read back each row range, and report mismatches. Formula cells are written, but Values API read-back may return calculated results rather than raw formula text. Those cells are reported separately as unverified so callers know when table-cell rawValue inspection is still needed. Args: spreadsheet_id: The spreadsheet UUID sheet_id: The sheet UUID (from workiva_spreadsheet_sheets) cells: [{row, col, value}] with 0-based row/col retry_misses: Deprecated compatibility flag. Retries are intentionally disabled; mismatches are returned for an explicit, separately approved repair. |
| workiva_format_cellsA | Format cells via POST /content/tables/{tableId}/cells/edit (v2026). table_id here is the sheet's OPAQUE content-table TOKEN (sheet.table.table — a long base64-ish string), NOT a 32-hex UUID. The legacy UUID path 404s on v2026. Colors are RGB objects {red, green, blue} with integer channels 0–255. ⚠️ v2026 PERSISTENCE (live-verified 2026-05-31 with before/after readback): NOT every op that returns 202 actually applies. On this cells/edit endpoint:
Args: table_id: The opaque content-table token (from describe_workbook / get_sheet → table.table) operations: Array of format operations. Recommended types: - setCellsProperties (PERSISTS): {"type":"setCellsProperties","setCellsProperties":{"ranges":[...],"fillColor":{"red":230,"green":240,"blue":255}}} - setCellsBorders: {"type":"setCellsBorders","setCellsBorders":{"ranges":[...],"bottom":{"color":{"red":0,"green":0,"blue":0},"style":"single","weight":1}}} - formatCells (⚠️ 202 but no-persist on v2026 — see note): {"type":"formatCells","formatCells":{"ranges":[...],"color":{...},"fontFamily":"Arial","bold":true}} |
| workiva_edit_table_structureA | Edit table structure — resize, autofit, hide/unhide, merge, insert/delete rows/columns. Args: table_id: The table UUID operation: One of: resizeColumns, resizeRows, autofitColumns, autofitRows, hideColumns, hideRows, unhideColumns, unhideRows, mergeCells, unmergeCells, insertColumns, insertRows, deleteColumns, deleteRows params: Operation-specific parameters including "revision". Examples: resizeColumns: {"revision": "...", "columns": [0, 1], "width": 120} hideColumns: {"revision": "...", "columns": [2, 3]} mergeCells: {"ranges": [{"startRowIndex": 0, "endRowIndex": 1, "startColumnIndex": 0, "endColumnIndex": 4}]} insertRows: {"revision": "...", "index": 5, "count": 2} |
| workiva_list_chainsC | List Wdata chains. Args: max_results: Max results to return |
| workiva_get_chainC | Get chain details. Args: chain_id: The chain UUID |
| workiva_list_chain_runsC | List runs of a chain. Args: chain_id: The chain UUID |
| workiva_list_chain_run_nodesA | List nodes within a chain run. Args: chain_id: The chain UUID run_id: The chain run ID |
| workiva_chainsA | DEPRECATED — use workiva_list_chains / workiva_get_chain / workiva_list_chain_runs / workiva_list_chain_run_nodes.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_run_chainB | Trigger a chain run. Args: chain_id: The chain UUID environment_id: Environment ID (optional) runtime_inputs: Runtime input parameters as key-value pairs (optional) |
| workiva_chain_runA | DEPRECATED — use workiva_run_chain.Kept as a backward-compatibility shim; dispatches to the single-verb tool above. |
| workiva_get_table_propertiesC | Get table properties. Args: table_id: The table UUID |
| workiva_update_table_propertiesC | Update table properties via JSON Patch. Args: table_id: The table UUID patches: JSON Patch array |
| workiva_get_table_columnsB | Get column properties for a table. Args: table_id: The table UUID |
| workiva_get_table_rowsB | Get row properties for a table. Args: table_id: The table UUID |
| workiva_table_propertiesA | DEPRECATED — use workiva_get_table_properties / workiva_update_table_properties / workiva_get_table_columns / workiva_get_table_rows.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_get_style_guideB | Get style guide details. Args: style_guide_id: The style guide UUID |
| workiva_export_style_guideA | Export a style guide. Args: style_guide_id: The style guide UUID |
| workiva_import_style_guideC | Import a style guide. Args: style_guide_id: The style guide UUID |
| workiva_style_guideA | DEPRECATED — use workiva_get_style_guide / workiva_export_style_guide / workiva_import_style_guide.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_list_documentsA | List documents in the workspace. Args: filter: OData filter (e.g., "name contains 'ACFR'") max_results: Maximum results to return |
| workiva_get_documentA | Get document details. Args: document_id: The document UUID expand: Comma-separated subresources (e.g., "sections") |
| workiva_export_documentB | Export a document. Args: document_id: The document UUID format: Export format — pdf, docx, or xhtml options: Format-specific options (optional) |
| workiva_list_document_sectionsA | List sections within a document. Args: document_id: The document UUID |
| workiva_get_document_sectionB | Get a single document section. Args: document_id: The document UUID section_id: The section UUID |
| workiva_create_document_sectionA | Create a new section within a document. Args: document_id: The document UUID name: Section name (optional) index: Position index (-1 = append) |
| workiva_delete_document_sectionB | Delete a document section. Args: document_id: The document UUID section_id: The section UUID |
| workiva_copy_document_sectionA | Copy a document section within or to another document. Args: document_id: Source document UUID section_id: Section UUID to copy target_document_id: Destination document UUID (empty = same document) |
| workiva_bulk_edit_document_sectionsB | Bulk-edit sections within a document. Args: document_id: The document UUID edits: Bulk edit operations |
| workiva_document_sectionsA | DEPRECATED — use workiva_list_document_sections / workiva_get_document_section / workiva_create_document_section / workiva_delete_document_section / workiva_copy_document_section / workiva_bulk_edit_document_sections.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_read_rich_text_paragraphsC | Read paragraphs from a rich text resource. Args: rich_text_id: The richText UUID |
| workiva_batch_edit_rich_textC | Batch edit rich text paragraphs. Args: rich_text_id: The richText UUID revision: Current revision data: Edit operations |
| workiva_duplicate_rich_textB | Duplicate a rich text resource. Args: rich_text_id: The richText UUID |
| workiva_rich_textB | DEPRECATED — use workiva_read_rich_text_paragraphs / workiva_batch_edit_rich_text / workiva_duplicate_rich_text.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_list_filesB | List files in the Workiva workspace. Args: filter: OData filter (e.g., "name contains 'budget'", "kind eq 'Spreadsheet'") order_by: Sort order (e.g., "modified.dateTime desc", "name asc") max_results: Maximum files to return (default 50) |
| workiva_get_fileA | Get details for a specific file by ID. Args: file_id: The file UUID |
| workiva_create_fileB | Create a new file or folder in Workiva. Args: name: File name kind: File type — Spreadsheet, Document, Presentation, or Folder container: Parent folder ID (optional) |
| workiva_delete_fileB | Return the explicit REST unsupported message for Workiva file deletion. |
| workiva_import_fileB | Import a local file (xlsx/docx) into Workiva. Args: name: Display name in Workiva file_name: Original filename (e.g., "report.xlsx") kind: Spreadsheet or Document file_path: Local path to the file to upload |
| workiva_export_fileA | Export a file from Workiva. Returns a download URL. Args: file_id: The file UUID format: Export format (xlsx, pdf, csv, docx, xhtml) |
| workiva_update_fileA | Update a file using JSON Patch operations (rename, move, etc.). Args: file_id: The file UUID patches: JSON Patch array, e.g. [{"op": "replace", "path": "/name", "value": "New Name"}] |
| workiva_file_permissionsA | Get or modify file permissions. Args: file_id: The file UUID operation: "get" to list permissions, "modify" to change them to_assign: Permissions to assign, e.g. [{"permission": "Edit", "principal": "user-id"}] to_revoke: Permissions to revoke, e.g. [{"permission": "Edit", "principal": "user-id"}] |
| workiva_create_anchorC | Create a source anchor on spreadsheet cells. Args: table_id: The table UUID (from workiva_spreadsheet_sheets) revision: Current table revision string start_row: Start row (0-based) stop_row: Stop row (0-based, same as start for single cell) start_column: Stop column (0-based, same as start for single cell) stop_column: Stop column (0-based, same as start for single cell) |
| workiva_create_destination_linkA | Insert a destination link in a document or table cell. Args: target_type: "richText" for document paragraphs, "table" for doc-table cells target_id: The richText UUID or doc-table UUID revision: Current revision of the target source_anchor: The source anchor ID for richText targets (from workiva_create_anchor) paragraph_index: Paragraph index for richText targets (0-based) offset: Character offset within the paragraph for richText targets row: Row index (deprecated for table targets; unused in range-link flow) column: Column index (deprecated for table targets; unused in range-link flow) source_range_link: (table branch only) ID of the source range link created via a createSource call on the spreadsheet table. Required when target_type=="table" (the full workflow is createSource → createDestination). source_table: (table branch only) ID of the spreadsheet source table. Required when target_type=="table". NOTE — table branch: The legacy insertCellDestinationLink / /content/tables/{id}/links/edit path is dead (proven 404 in production, 2026-06). The table branch now uses the proven range-link createDestination flow: POST /content/tables/{target_id}/rangeLinks/edit body: {"type":"createDestination","createDestination":{"sourceRangeLink": ..., "sourceTable": ...}} This requires a pre-created source range-link ID (from createSource on the spreadsheet table) and the source table ID. |
| workiva_list_range_linksB | List range links on a table. Args: content_id: The content/spreadsheet UUID table_id: The table UUID |
| workiva_get_range_linkB | Get a single range link. Args: content_id: The content/spreadsheet UUID table_id: The table UUID range_link_id: The range link ID |
| workiva_get_range_link_destinationsB | List destinations for a range link. Args: content_id: The content/spreadsheet UUID table_id: The table UUID range_link_id: The range link ID |
| workiva_edit_range_linkC | Edit a range link via PATCH. Args: content_id: The content/spreadsheet UUID table_id: The table UUID range_link_id: The range link ID data: Edit data |
| workiva_range_linksA | DEPRECATED — use workiva_list_range_links / workiva_get_range_link / workiva_edit_range_link / workiva_get_range_link_destinations.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_full_link_flowA | End-to-end linking: create anchor on spreadsheet, insert destination in document/table, optionally publish. Args: spreadsheet_id: The spreadsheet UUID (for publish step) table_id: Source table UUID (where the anchor goes) table_revision: Current revision of the source table source_row: Row of the cell to anchor (0-based) source_column: Column of the cell to anchor (0-based) target_type: "richText" for document or "table" for table cell destination target_id: Target richText UUID or table UUID target_revision: Current revision of the target paragraph_index: For richText targets — paragraph index offset: For richText targets — character offset target_row: For table targets — destination row target_column: For table targets — destination column publish: Whether to publish links after creation (default True) |
| workiva_list_spreadsheetsA | List spreadsheets in the workspace. Args: filter: OData filter (e.g., "name contains 'ACFR'") max_results: Maximum results to return |
| workiva_get_spreadsheetB | Get spreadsheet details. Args: spreadsheet_id: The spreadsheet UUID expand: Comma-separated subresources to include (e.g., "sheets,milestones") |
| workiva_list_sheetsA | List sheets within a spreadsheet. Args: spreadsheet_id: The spreadsheet UUID |
| workiva_get_sheetB | Get details for a single sheet. Args: spreadsheet_id: The spreadsheet UUID sheet_id: The sheet UUID |
| workiva_create_sheetA | Create a new sheet in a spreadsheet. Args: spreadsheet_id: The spreadsheet UUID name: Sheet name (optional — Workiva assigns one if omitted) index: Position index (-1 = append) |
| workiva_delete_sheetA | Delete a sheet from a spreadsheet. Args: spreadsheet_id: The spreadsheet UUID sheet_id: The sheet UUID to delete |
| workiva_copy_sheetA | Copy a sheet within the same spreadsheet or into a target spreadsheet. Args: spreadsheet_id: The source spreadsheet UUID sheet_id: The sheet UUID to copy target_spreadsheet_id: Destination spreadsheet UUID (empty = copy within source) |
| workiva_spreadsheet_sheetsA | DEPRECATED — use workiva_list_sheets / workiva_get_sheet / workiva_create_sheet / workiva_delete_sheet / workiva_copy_sheet.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_export_spreadsheetB | Export a spreadsheet. Args: spreadsheet_id: The spreadsheet UUID format: Export format — xlsx, pdf, or csv |
| workiva_publish_linksB | Publish links in a spreadsheet, document, or presentation. Args: file_id: The file UUID file_type: spreadsheet, document, or presentation publish_type: ownLinks (links owned by this file), allLinks, or selectedLinks |
| workiva_reapply_filtersC | Reapply filters on a file. Args: file_id: The file UUID file_type: spreadsheet, document, presentation, or table |
| workiva_get_presentationA | Get presentation details. Args: presentation_id: The presentation UUID |
| workiva_list_presentation_layoutsC | List layouts in a presentation. Args: presentation_id: The presentation UUID |
| workiva_list_presentation_slidesA | List slides in a presentation. Args: presentation_id: The presentation UUID |
| workiva_get_presentation_slideC | Get a single presentation slide. Args: presentation_id: The presentation UUID slide_id: The slide ID |
| workiva_update_presentation_slideB | Update a presentation slide via JSON Patch. Args: presentation_id: The presentation UUID slide_id: The slide ID patches: JSON Patch array |
| workiva_presentation_slidesB | DEPRECATED — use workiva_list_presentation_layouts / workiva_list_presentation_slides / workiva_get_presentation_slide / workiva_update_presentation_slide.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_list_tasksA | List tasks in the workspace. Args: filter: OData filter (e.g., "status eq 'Open'") max_results: Max results to return |
| workiva_get_taskA | Get details for a single task. Args: task_id: The task UUID |
| workiva_create_taskA | Create a new task. Args:
name: Task title (sent as Note: the v2026 Tasks API requires |
| workiva_update_taskB | Update a task via JSON Patch. Args: task_id: The task UUID patches: JSON Patch array |
| workiva_delete_taskC | Delete a task. Args: task_id: The task UUID |
| workiva_tasksA | DEPRECATED — use workiva_list_tasks / workiva_get_task / workiva_create_task / workiva_update_task / workiva_delete_task.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_submit_taskC | Submit a task. Args: task_id: The task UUID |
| workiva_approve_taskB | Approve a task. Args: task_id: The task UUID |
| workiva_reject_taskC | Reject a task. Args: task_id: The task UUID |
| workiva_reassign_taskC | Reassign a task. Args: task_id: The task UUID |
| workiva_task_actionsA | DEPRECATED — use workiva_submit_task / workiva_approve_task / workiva_reject_task / workiva_reassign_task.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_wdata_list_tablesA | List Wdata tables. Args: max_results: Max results to return |
| workiva_wdata_get_tableC | Get a single Wdata table. Args: table_id: The Wdata table ID |
| workiva_wdata_create_tableC | Create a Wdata table. Args: name: Table name table_type: Table type schema: Table schema definition |
| workiva_wdata_delete_tableC | Delete a Wdata table. Args: table_id: The Wdata table ID |
| workiva_wdata_update_tableB | Update a Wdata table via JSON Patch. Args: table_id: The Wdata table ID patches: JSON Patch array |
| workiva_wdata_tablesA | DEPRECATED — use workiva_wdata_list_tables / workiva_wdata_get_table / workiva_wdata_create_table / workiva_wdata_delete_table / workiva_wdata_update_table.Kept as a backward-compatibility shim; dispatches to the single-verb tools above. |
| workiva_wdata_list_queriesC | List Wdata queries. Args: max_results: Max results to return |
| workiva_wdata_get_queryB | Get a single Wdata query. Args: query_id: The query ID |
| workiva_wdata_create_queryB | Create a Wdata query. Args: name: Query name sql: SQL statement |
| workiva_wdata_delete_queryC | Delete a Wdata query. Args: query_id: The query ID |
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/dbett4/regulated-reporting-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server