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/. |
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 |
|---|---|
| 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