Weavely MCP โ Remote MCP Server for Form Generation
This project sets up a Model Context Protocol (MCP) server using the @modelcontextprotocol/sdk
, hosted on Cloudflare Workers, to programmatically generate forms using the Weavely API.
๐ Features
- Deploys an auth-less MCP server on Cloudflare Workers
- Exposes a tool:
create-form
to generate forms via prompt - Uses
axios
for external API calls to weavely.ai - Built using TypeScript and the official
@modelcontextprotocol/sdk
๐ ๏ธ Technologies Used
- ๐ง MCP SDK:
@modelcontextprotocol/sdk
- ๐ฉ๏ธ Cloudflare Workers + Wrangler
- ๐ก Type-safe schema validation with
zod
- ๐ HTTP requests via
axios
- ๐งน Formatting & linting with
biome
๐ฆ Installation
git clone https://github.com/weavely/mcp.git
cd mcp
npm install
๐งช Development
Start a development server locally using Wrangler:
npm run dev
๐ค Deployment
Deploy to Cloudflare Workers:
npm run deploy
Or use the Cloudflare Deploy Button:
๐บ Demo
Curious how it works? Watch a short demo here:
โถ๏ธ https://youtu.be/C1jZBrGV6jE
๐ง Tool: create-form
This MCP agent defines one tool:
- Name:
create-form
- Description: Create a new Weavely form.
- Input Schema:
{ name?: string; prompt: string; }
- Behavior: Sends a POST request to
https://api.weavely.ai/v1/forms/generate
and returns the form content.
๐งฐ Scripts
Script | Description |
---|---|
dev | Start development server |
deploy | Deploy to Cloudflare |
format | Format code using Biome |
lint:fix | Fix linting issues via Biome |
cf-typegen | Generate Cloudflare bindings |
๐ Folder Structure
weavely-mcp/
โโโ src/
โ โโโ index.ts # Main MCP logic and tool registration
โโโ worker-configuration.d.ts
โโโ package.json
โโโ wrangler.jsonc # Cloudflare deployment config
โโโ tsconfig.json
โโโ .vscode/