Design
Preview a heading + body Google Fonts pairing with weight and line-height controls, and copy a ready-to-paste CSS @import + variables snippet. Curated 22-face registry plus 7 proven pairing presets.
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/webfont-pairing-lab' \
-H 'Content-Type: application/json' \
-d '{"headingFont":"Playfair Display","headingWeight":700,"bodyFont":"Inter","bodyWeight":400,"bodySize":16,"lineHeight":1.6,"headSample":"Custom heading text (optional)","bodySample":"Custom body text (optional)"}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/webfont-pairing-lab| Name | Type | Required | Description |
|---|---|---|---|
| headingFont | select | No | The display / heading typeface. |
| headingWeight | number | No | Snaps to the nearest available weight for the chosen font. |
| bodyFont | select | No | The body / paragraph typeface. |
| bodyWeight | number | No | Snaps to the nearest available weight for the chosen font. |
| bodySize | number | No |
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-webfont-pairing-lab": {
"name": "webfont-pairing-lab",
"description": "Preview a heading + body Google Fonts pairing with weight and line-height controls, and copy a ready-to-paste CSS @import + variables snippet. Curated 22-face registry plus 7 proven pairing presets.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=webfont-pairing-lab",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "webfont-pairing-lab",
"arguments": {
"headingFont": "Playfair Display",
"headingWeight": 700,
"bodyFont": "Inter",
"bodyWeight": 400,
"bodySize": 16,
"lineHeight": 1.6,
"headSample": "Custom heading text (optional)",
"bodySample": "Custom body text (optional)"
}
}
}| Body paragraph font-size in pixels. |
| lineHeight | number | No | Unitless line-height for body text. 1.4–1.7 is the readable range. |
| headSample | text | No | Optional custom heading text. Defaults to a neutral sample. |
| bodySample | textarea | No | Optional custom body paragraph(s). Defaults to a neutral sample. |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Questions or issues? Contact [email protected]