Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
36fd48c
Enhance response formatting with new types and utility functions
viratatwebflow Sep 30, 2025
e30e6cf
CMS Tool consolidation
viratatwebflow Sep 30, 2025
5d0a445
Sites tool consolidation
viratatwebflow Sep 30, 2025
f7ac218
Script tool consolidation
viratatwebflow Sep 30, 2025
e4c21ca
Data Page tool consolidation
viratatwebflow Sep 30, 2025
fef7bcc
Data Component tool consolidation
viratatwebflow Sep 30, 2025
81a368c
fixed cms tool description
viratatwebflow Sep 30, 2025
791097c
Refactor CMS tool for improved type safety and consistency
viratatwebflow Oct 17, 2025
51f7fff
Merge pull request #65 from webflow/data-tool-consolidation
viratatwebflow Oct 22, 2025
e15b7bf
Merge pull request #69 from webflow/main
viratatwebflow Nov 10, 2025
69cf041
chore: update package dependencies and refactor tools for improved co…
viratatwebflow Nov 12, 2025
893033b
Merge pull request #70 from webflow/mcp-sdk-update
viratatwebflow Nov 13, 2025
8ca531a
chore: update @modelcontextprotocol/sdk to version 1.23.0 and enhance…
viratatwebflow Nov 26, 2025
f950924
chore: simplify build scripts in package.json
viratatwebflow Nov 26, 2025
1e85990
Merge pull request #71 from webflow/new-beta-tools
viratatwebflow Dec 3, 2025
ebe8295
feat: add element snapshot tool for visual debugging
viratatwebflow Dec 16, 2025
a558424
fix: remove base64 prefix from image data in registerDEElementTools
viratatwebflow Dec 16, 2025
f643e46
Merge branch 'main' into sai
viratatwebflow Jan 16, 2026
dab4dda
feat: enhance comments tool registration with openWorldHint
viratatwebflow Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 14 additions & 51 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
"build:watch": "tsup src/index.ts --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "1.24.0",
"@modelcontextprotocol/sdk": "1.25.2",
"cors": "^2.8.5",
"express": "^5.1.0",
"socket.io": "^4.8.1",
"webflow-api": "3.1.1",
"webflow-api": "3.2.1",
"zod": "^3.24.2"
},
"devDependencies": {
Expand Down
14 changes: 6 additions & 8 deletions src/mcp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import {
registerDEVariableTools,
registerRulesTools,
registerLocalDeMCPConnectionTools,
registerCommentsTools,
registerEnterpriseTools,
} from "./tools";
import { RPCType } from "./types/RPCType";

Expand Down Expand Up @@ -51,12 +53,11 @@ export function registerTools(
registerPagesTools(server, getClient);
registerScriptsTools(server, getClient);
registerSiteTools(server, getClient);
registerCommentsTools(server, getClient);
registerEnterpriseTools(server, getClient);
}

export function registerDesignerTools(
server: McpServer,
rpc: RPCType
) {
export function registerDesignerTools(server: McpServer, rpc: RPCType) {
registerDEAssetTools(server, rpc);
registerDEComponentsTools(server, rpc);
registerDEElementTools(server, rpc);
Expand All @@ -72,9 +73,6 @@ export function registerMiscTools(server: McpServer) {
/**
* IMPORTANT: registerLocalTools is only valid for OSS MCP Version
*/
export function registerLocalTools(
server: McpServer,
rpc: RPCType
) {
export function registerLocalTools(server: McpServer, rpc: RPCType) {
registerLocalDeMCPConnectionTools(server, rpc);
}
2 changes: 1 addition & 1 deletion src/schemas/StaticFieldSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const StaticFieldSchema = z.object({
z.literal("PlainText"),
z.literal("RichText"),
z.literal("Switch"),
z.literal("Video"),
z.literal("VideoLink"),
])
.describe("Type of the field. Choose of these appropriate field types."),
displayName: z.string().describe("Name of the field."),
Expand Down
10 changes: 8 additions & 2 deletions src/tools/aiChat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@ export function registerAiChatTools(server: McpServer) {
server.registerTool(
"ask_webflow_ai",
{
title: "Ask Webflow AI",
description: "Ask Webflow AI about anything related to Webflow API.",
inputSchema: z.object({ message: z.string() }),
title: "Ask Webflow AI",
annotations: {
openWorldHint: true,
readOnlyHint: true,
},
inputSchema: {
message: z.string().describe("The message to ask Webflow AI about."),
},
},
async ({ message }) => {
const result = await postChat(message);
Expand Down
Loading