# Study Design Diagram Studio WebMCP

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/study-design-diagram-studio-webmcp

## Description
Read and edit a live study design canvas through its predefined WebMCP tools.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "study-design-diagram-studio-webmcp": {
    "command": "npx",
    "args": ["-y","study-design-diagram-studio-webmcp"]
  }
}
```

## Documentation & README

# Study Design Diagram Studio

A browser workspace by Black Swan Causal Labs for creating, reviewing, and exporting epidemiologic study design diagrams.

**Live app:** https://sdds.blackswancausallabs.com

## Features

- Model washout, inclusion, exclusion, covariate assessment, and follow-up windows relative to an index event.
- Edit window dates by dragging timeline edges or entering values, with keyboard controls and Undo.
- Record study details, assessment rules, source notes, footnotes, and abbreviations.
- Save and import structured JSON; export SVG, PDF, and editable PowerPoint diagrams.
- Review a completeness checklist and work with a compatible browser agent through 10 WebMCP tools.

The workspace is session-only. Use **Save JSON** to preserve edits before leaving. The preloaded example was transcribed from a reference figure and has not been verified against its manuscript. Completeness checks establish information presence, not methodological validity or source accuracy. The app does not extract information from PDFs.

## Connect an AI agent

The app exposes ten predefined tools for reading, editing, validating, and exporting the **current study design**. Human and agent edits share the same canvas and Undo history. There are two ways to connect:

| Connection | Requirements | Setup |
| --- | --- | --- |
| Native WebMCP | A WebMCP-capable browser and agent | Open the studio and let the agent discover the page's tools |
| Remote MCP bridge | A Streamable HTTP MCP client that supports custom authorization headers | Enable a temporary connection in the studio and configure the client with its URL and key |

For a remote MCP client:

1. Open [Study Design Diagram Studio](https://sdds.blackswancausallabs.com), select **Connect MCP**, then **Enable connection**.
2. Add `https://sdds-webmcp-bridge.jdiazdecaro.workers.dev/mcp` to your client. Set its `Authorization` header to the complete copied value, including `Bearer `, or use **Copy MCP config** if the client accepts that format.
3. Keep the tab open. Ask the agent to read the current study specification before editing; mutations require its latest revision.
4. Select **Disconnect** to revoke access. Closing or reloading the page also ends the session. Keys expire after two hours; reconnect for a new key.

The remote bridge is published in the [official MCP Registry as `io.github.Black-Swan-Causal-Labs/sdds-webmcp`](https://registry.modelcontextprotocol.io/?q=io.github.Black-Swan-Causal-Labs%2Fsdds-webmcp). Its metadata is in [`server.json`](https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio/blob/HEAD/server.json); see the [bridge README](https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio/blob/HEAD/mcp-bridge/README.md) for detailed connection, session, development, and deployment instructions.

A website URL alone does not enable arbitrary agents to use WebMCP. Native access needs browser and agent support; remote access needs pairing and custom-header support. The bridge currently does not implement OAuth discovery.

Pairing is optional and sends study tool arguments and results through the Cloudflare relay to the connected agent provider. Anyone with the temporary key can invoke that canvas's tools while connected. Loading the page does not create a relay session, and native WebMCP works without this relay; the browser agent's own data handling still applies.

## Local development

Requires Node.js 22.13 or later and npm. Node.js 24 was used for the initial deployment.

```sh
npm ci
npm run dev
```

Create and preview a production build:

```sh
npm run build
npm run preview
```

The app uses React, TypeScript, Vite, Tailwind CSS, Zod, jsPDF, and PptxGenJS. The studio is a static application. Its optional remote MCP bridge runs separately on Cloudflare Workers and Durable Objects; ordinary manual editing and native WebMCP do not require a paired relay session.

## Cloudflare deployment

The existing Cloudflare Pages project is `sdds`, with production branch `main` and build output `dist`.

| Setting | Value |
| --- | --- |
| Custom domain | `sdds.blackswancausallabs.com` |
| Pages hostname | `sdds-1wj.pages.dev` |
| Wrangler configuration | `wrangler.json` |
| DNS record | CNAME `sdds` → `sdds-1wj.pages.dev` |

From a checkout with access to the Cloudflare account:

```sh
npm ci
npx wrangler login
npm run build
npx wrangler pages deploy dist --project-name sdds --branch main
```

Wrangler opens authentication in your default browser. The Pages project and custom domain are already configured; normal redeployments do not require recreating them. For a new environment, create a separate Pages project and add its custom domain through Cloudflare's Pages dashboard.

Deployment is currently manual through Wrangler. Pushing to this GitHub repository does not automatically deploy to Cloudflare. Never commit Cloudflare tokens, `.env` files, `.dev.vars` files, or local Wrangler state.

## WebMCP tool reference

The app detects `document.modelContext`, with a fallback to `navigator.modelContext`. Manual editing remains available in browsers without WebMCP support. Tools operate on the current page's in-memory study, and mutations require `expected_revision` to protect against stale edits.

| Tool | Purpose |
| --- | --- |
| `get_study_spec` | Read the current specification and revision |
| `update_design_element` | Update a window |
| `add_design_element` | Add a window |
| `remove_design_element` | Remove a window |
| `reorder_design_elements` | Reorder timeline rows |
| `update_study_details` | Update study-level metadata |
| `import_study_spec` | Replace the current specification |
| `clear_study_spec` | Start a blank design |
| `validate_study_spec` | Read completeness checks and review items |
| `export_schematic` | Return SVG without triggering a download |

Unknown dates are represented by `null`; unresolved text stays blank. Source notes should distinguish documented evidence from researcher-defined choices.

## Source layout

- `components/study/`: editor, timeline, and information panels
- `components/ui/`: reusable interface components
- `lib/study/`: schema, validation, timeline layout, export, and WebMCP tools
- `app/globals.css`: application styling
- `public/`: PDF font and its license
- `vendor/`: vendored stylesheet and its license

## Licensing and contact

The original canvas application, native WebMCP integration, and remote MCP bridge are licensed under the **[Apache License 2.0](https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio/blob/HEAD/LICENSE)**. Copyright 2026 Black Swan Causal Labs, LLC. See [NOTICE](https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio/blob/HEAD/NOTICE).

Third-party components retain their own licenses; see [THIRD_PARTY_NOTICES.txt](https://github.com/Black-Swan-Causal-Labs/study-design-diagram-studio/blob/HEAD/THIRD_PARTY_NOTICES.txt), `public/DejaVu-font-license.txt`, and `vendor/shadcn-tailwind-4.13.0.LICENSE.md`. The software license does not change rights in user-provided study content or third-party reference material, or grant trademark rights. License and notice files are also distributed with the deployed app.

Black Swan Causal Labs: https://blackswancausallabs.com · info@blackswancausallabs.com

