MCP API

Connect your AI assistant to Masteredi.site

The Masteredi.site MCP server exposes our creator tools to any Model Context Protocol client — Claude, ChatGPT, Cursor, Codex, and more. Generate captions, bios, hooks, hashtags and ideas without leaving your assistant.

Endpoint

POST https://your-app.lovable.app/mcp

Streamable HTTP transport. All POST requests must include Accept: application/json, text/event-stream.

Authentication

The server uses OAuth 2.1 with Dynamic Client Registration. Compliant MCP clients discover the auth server automatically — just paste the endpoint URL and approve access. Tools run as the signed-in user and consume that user's credits.

Add to Claude Desktop / Cursor

claude_desktop_config.json
{ "mcpServers": { "masteredi": { "url": "https://your-app.lovable.app/mcp" } } }

Available tools

generate_captionsGenerate captions

Generate 5 scroll-stopping social media captions with hashtags for a given topic, platform, and vibe. Consumes 1 caption credit.

Input fields

FieldTypeRequiredDescription
topicstring (2–500 chars)requiredWhat the post is about.
platform"instagram" | "tiktok" | "twitter" | "linkedin" | "youtube"requiredTarget social platform.
vibe"funny" | "aesthetic" | "professional" | "hype" | "inspirational" | "flirty" | "savage"requiredTone/mood of the captions.

Example request

jsonrpc
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "generate_captions", "arguments": { "topic": "launching a matcha subscription box", "platform": "instagram", "vibe": "aesthetic" } } }

Example response

json
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "1. Slow mornings, greener than ever 🍵\n #matcha #matchalover #slowliving ..." } ], "structuredContent": { "captions": [ { "text": "Slow mornings, greener than ever 🍵", "hashtags": [ "#matcha", "#matchalover", "#slowliving" ] } ] } } }
generate_text_packGenerate bios, hooks, hashtags, or ideas

Generate a pack of bios, viral hooks, hashtag sets, or content ideas for a given topic and platform. Consumes 1 generation credit.

Input fields

FieldTypeRequiredDescription
kind"bio" | "hooks" | "hashtags" | "ideas"requiredWhat to generate.
topicstring (2–600 chars)requiredNiche or subject.
platform"instagram" | "tiktok" | "twitter" | "linkedin" | "youtube"optionalTarget platform. Defaults to instagram.
vibestring (≤40 chars)optionalTone keyword. Defaults to "aesthetic".

Example request

jsonrpc
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "generate_text_pack", "arguments": { "kind": "hooks", "topic": "cold plunge for beginners", "platform": "tiktok", "vibe": "hype" } } }

Example response

json
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "1. Format\n You've been cold plunging wrong..." } ], "structuredContent": { "items": [ { "title": "Format", "text": "You've been cold plunging wrong..." } ] } } }

Raw HTTP example

List tools directly over HTTP (after obtaining an OAuth access token):

bash
curl -X POST https://your-app.lovable.app/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'

Errors

  • 401 — missing or expired bearer token. Re-authenticate via your MCP client.
  • 402 — out of credits. Top up on the pricing page.
  • 429 — rate limited. Retry after a short delay.
  • 406 — missing Accept: application/json, text/event-stream header.