Skip to main content
Glama
weavely

Remote MCP Server

by weavely
README.md
# 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](https://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

```bash
git clone https://github.com/weavely/mcp.git
cd mcp
npm install
```

---

## ๐Ÿงช Development

Start a development server locally using Wrangler:

```bash
npm run dev
```

---

## ๐Ÿ“ค Deployment

Deploy to Cloudflare Workers:

```bash
npm run deploy
```

Or use the Cloudflare Deploy Button:

[![Deploy to Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/ai/tree/main/demos/remote-mcp-authless)

---

## ๐Ÿ“บ Demo

Curious how it works? Watch a short demo here:

โ–ถ๏ธ [https://youtu.be/C1jZBrGV6jE](https://youtu.be/C1jZBrGV6jE)

---

## ๐Ÿ”ง Tool: `create-form`

This MCP agent defines one tool:

- **Name:** `create-form`  
- **Description:** Create a new Weavely form.  
- **Input Schema:**
  ```ts
  {
    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/
```