Temway MCP Server
OfficialTemway MCP Server
Let your AI assistant design beautiful emails & layouts — in your Temway workspace.
A Model Context Protocol server that turns Claude, ChatGPT, Cursor and friends into a visual email & layout authoring studio.
Getting Started · Clients · Tools · Temway
Temway is a visual builder for emails and layouts. This MCP server exposes your Temway workspace to any MCP-compatible AI client: the model reads your brand tokens, drafts a promo / newsletter / welcome email, previews it, publishes it, and even sends a test — all through natural language. No code, no drag-and-drop, no copy-pasting HTML.
It is a hosted remote MCP server. You point your client at a URL with an API key (or OAuth for web clients) — there is nothing to install, build, or run locally. The server speaks the MCP Streamable HTTP transport.
🔒 No source here? Correct. This is the public onboarding repo for the Temway MCP server. The server is operated by Temway and runs at
https://mcp.temway.com/mcp. This repo holds client configuration, tool reference, and connectivity helpers. Report issues / request tools in Issues.
How it works
Your AI client (Claude / ChatGPT / Cursor / Desktop)
└─ MCP over HTTPS → https://mcp.temway.com/mcp
Authorization: Bearer tmw_live_… ← API key
(or OAuth token for web connectors)
└─ Temway public API → your workspaceThe model authenticates per-request, then drives your workspace through brand-aware templates, block mutations, layout artwork, live previews, and publishing.
Getting started
1. Get an API key
API keys are minted by a team admin in the Temway dashboard. The key:
starts with
tmw_live_…is bound to one workspace
carries scopes (
emails:read,emails:write,layouts:read,layouts:write) that gate which tools succeed
Store it securely — it's shown once.
2. Point your client at the server
The endpoint and a ready-to-paste config for each client are in
examples/. The short version:
# Claude Code
claude mcp add --transport http temway https://mcp.temway.com/mcp \
--header "Authorization: Bearer tmw_live_xxxxxxxxxxxxxxxx"That's it. The workspace is derived from the key.
3. Ask your assistant
"Create a promo email for our summer sale, 25% off, brand colors, a big CTA button, preview it, then publish it."
The model will get_branding → create_email → apply_template →
update_block → preview_email_web → publish_email for you.
Configure your client
The Temway server speaks the Streamable HTTP transport. Pick your client:
Client | Config | File |
Claude Code |
| |
Claude Desktop |
| |
claude.ai (web) | OAuth connector URL | |
ChatGPT | OAuth connector URL | |
Cursor | MCP settings | |
Any MCP client | Streamable HTTP URL |
Authentication
Two credential types — both resolve onto the same workspace context:
tmw_live_…API keys — for desktop & programmatic clients (Claude Code, Claude Desktop, Cursor, scripts). Sent asAuthorization: Bearer tmw_live_…. The workspace is derived from the key. Scope-bound.OAuth 2.1 — for hosted web connectors (claude.ai, ChatGPT) that reject static keys. No header to paste — the user signs in and picks a workspace on the consent screen; the connector receives its own short-lived token (PKCE / S256). Just enter the URL
https://mcp.temway.com/mcp.
Tools
The server exposes 58 tools across five groups. Reads need a *:read
scope; mutations need *:write.
Tool | What it does |
| Fetch workspace brand tokens (colors, fonts, logo, socials, footer). |
| Email block catalog + per-block editable fields. |
| Layout element catalog + fields. |
| Global email style fields. |
| Curated email starter templates. |
| Usable fonts (web-safe for emails; + Google/custom for layouts). |
| Mental-model concept docs (read before authoring). |
| Curated layout artwork starters. |
| Decorative SVG library + style keys. |
Tool | What it does |
| Browse & read published/draft emails. |
| CRUD. |
| Seed an email from a published layout. |
| Replace whole content / validate before saving. |
| Incremental block edits. |
| Merge global email styles. |
| Apply a brand-aware starter template. |
| Fast web-target preview (preferred while iterating). |
| Inbox-target MJML HTML (slower; verifies client rendering). |
| Render + store; marks the email published. |
| Send a one-off test copy to an address. |
Tool | What it does |
| Browse & read layouts. |
| CRUD. |
| Replace the whole layout descriptor. |
| Element edits (absolute positioning). |
| Bespoke SVG or curated decorative shapes. |
| Apply a layout starter (hero-banner, promo-card, …). |
| Tighten canvas bounds to visible elements. |
| Snapshot for embedding in emails. |
Note: layouts rasterize to a single PNG when embedded in an email (text not selectable). Author readable/clickable content as email blocks instead.
acquire_* / get_*_lock_status / refresh_*_lock / release_*_lock /
force_release_*_lock for both email and layout resources.
Block/element mutations are not atomic — never fire two on the same resource in parallel. Acquire the edit-lock first on shared resources.
Tool | What it does |
| Search the workspace for emails/layouts by name/subject/tags. |
| Fetch the full content of a search result by id. |
A typical authoring flow
get_branding
→ create_email { name: "Spring sale" }
→ apply_template { template: "promo" } # brand-aware starter
→ update_block / add_block # tweak copy, CTA, colors
→ preview_email_web # fast preview (preferred)
→ publish_email # renders + marks published
→ test_send_email { to: "me@example.com" } # optional real sendEnvironment variables
The hosted endpoint is fully managed — most users never touch env vars. They only matter if you self-host or run the stdio transport.
Var | Purpose | Required? |
| Temway API base URL. | Only when self-hosting. |
|
| stdio only. |
| Workspace id (stdio transport; HTTP derives from key). | stdio only. |
| pino log level (default | no |
Connectivity check
Verify the endpoint is reachable from your network before wiring up a client:
node scripts/healthcheck.mjs
# → OK 200 OK (926ms)
# → ✓ Temway MCP endpoint is reachable.(npx temway-mcp-healthcheck once published, or npm run healthcheck.)
Self-hosting
This repo does not contain server source. If you need to run the server yourself (on-prem, air-gapped, custom auth), contact hi@temway.com or open an issue.
FAQ
The server is operated by Temway (source currently private). This repo is the public integration surface: client configs, tool reference, and helpers, published under the MIT license so you can copy configs freely.
No. The hosted remote transport means your client connects over HTTPS by URL —
nothing runs locally. The optional healthcheck.mjs needs Node ≥ 18.17.
For local/CLI work: Claude Code or Cursor. For no-install browser use:
claude.ai or ChatGPT with the OAuth connector. All configs are in
examples/.
Credentials are scope-bound per key (*:read / *:write). Reads never mutate;
every mutation is explicit. Narrow scopes to a read-only key for safe browsing.
Support
License
MIT © Temway
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/temway/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server