feat(ai): add list-workflows public MCP tool#86
Merged
bertenator merged 2 commits intosaifrom Mar 17, 2026
Merged
Conversation
PR 3 of 3 for DEVPL-3935. Adds data_workflows_tool to the public Webflow MCP server, calling GET /v2/sites/:site_id/workflows via raw fetch (no SDK method exists yet). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15a7c59 to
7b557e6
Compare
src/mcp.ts
Outdated
| registerCommentsTools(server, getClient); | ||
| registerEnterpriseTools(server, getClient); | ||
| registerWebhookTools(server, getClient); | ||
| registerWorkflowsTools(server, getToken); |
Collaborator
There was a problem hiding this comment.
remove registerWorkflowsTools from here
src/index.ts
Outdated
| return webflowClient; | ||
| } | ||
|
|
||
| // Return the Webflow token for direct API calls |
Collaborator
There was a problem hiding this comment.
remove getToken. we added getAccessToken
src/index.ts
Outdated
| const { callTool } = await initDesignerAppBridge(); | ||
| registerMiscTools(server); | ||
| registerTools(server, getClient); | ||
| registerTools(server, getClient, getToken); |
Collaborator
There was a problem hiding this comment.
remove getToken usage. do not import registerWorkflowTools in oss version
Collaborator
viratatwebflow
left a comment
There was a problem hiding this comment.
Please check comments
Per review: workflows tool is not part of the OSS stdio version. - Remove getToken param from registerTools - Remove registerWorkflowsTools call from registerTools - Export new registerWorkflowTools(server, getAccessToken) for use by the cloud-hosted MCP entry point - Remove getToken helper from index.ts (OSS version) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR 3 of 3 for DEVPL-3935 — exposes AI Workflows to the public Webflow MCP server.
Prerequisite: webflow/webflow#101267 (merged) added
GET /v2/sites/:site_id/workflows. This PR wires up the public-facing tool that calls it.src/tools/workflows.ts— newregisterWorkflowsToolsfunction; registersdata_workflows_toolwith alist_workflowsaction that callsGET /v2/sites/:site_id/workflowsvia raw fetch (no SDK method exists yet for workflows)src/tools/index.ts— exportsregisterWorkflowsToolssrc/mcp.ts— addsgetTokenparam toregisterTools, callsregisterWorkflowsToolssrc/index.ts— addsgetTokenhelper, passes it toregisterToolsThe
getTokenthreading is needed because workflows uses rawfetchinstead of theWebflowClientSDK (same pattern asaiChat.ts).Test plan
WEBFLOW_TOKENto a token for a site withAI_WORKFLOWSflag enablednpm run build && node dist/index.jsdata_workflows_toolwithlist_workflows: { site_id: "<id>" }→ verify response shape[{ workflowId, name, isActive, templateSlug }]403is surfaced viaformatErrorResponse