The Pylot MCP server, your agent's content team
Connect any MCP client and your agent can ask Pylot for posts. Pylot writes the captions in your brand voice, makes the images in your colours, and drafts or schedules them to your channels.
claude mcp add --transport http pylot \
https://www.getpylot.com/api/mcp \
--header "Authorization: Bearer $PYLOT_API_KEY"Create, not just publish
Every tool is scoped to the business your key belongs to and runs the same code as the Pylot dashboard and REST API. This list is read from the live server.
get_accountRead-onlyGet account
Business name, timezone, plan, credit balance and plan limits for the workspace this key belongs to.
get_creditsRead-onlyGet credits
Current credit balance, monthly allocation and per-operation costs (image generation costs 1 credit).
list_channelsRead-onlyList channels
Connected social accounts. Use the returned `id` as `channelId` in create_post. Meta channels list `targets` (facebook and/or instagram); other platforms post to one destination.
list_postsRead-onlyList posts
Recent posts for this workspace, newest first. Filter by status (draft, approved, scheduled, posted, failed, partial).
get_postRead-onlyGet post
Fetch one post with its per-platform targets, schedule and publish results.
create_postWritesCreate post (draft)
Create a post as a DRAFT. Provide a caption (and optional mediaUrls from upload_media / generate_image) plus targets (channel ids). Omit targets to use every active channel. Pass scheduledAt (ISO-8601) to schedule in the same call. This never publishes immediately — use publish_post for that.
schedule_postWritesSchedule post
Queue an existing post to publish at a future time (at least 1 minute ahead). Naive timestamps are read in `timezone` or the business timezone.
publish_postAsks firstPublish post now
IRREVERSIBLE: publishes the post to every enabled target right now. Requires confirm=true. Only call this when the user has explicitly asked to publish immediately.
delete_postAsks firstDelete post
Delete a draft or scheduled post. Published posts cannot be deleted here.
upload_mediaWritesUpload media from URL
Copy a public image or video URL into Pylot storage and return a stable URL for `mediaUrls`. Images up to 5MB, videos up to 500MB.
generate_captionsWritesGenerate captions
Write 3 on-brand caption variations per platform using the business's brand voice. Free — no credits used.
generate_imageWritesGenerate image
Generate a brand-aware marketing image (colours, logo and style applied automatically). Costs 1 credit; refunded if generation fails. Returns a URL usable in create_post mediaUrls.
One server, every agent
Server URL: https://www.getpylot.com/api/mcp. Every client sends your API key as Authorization: Bearer pyl_live_…
ClaudeCustom connector with a request header
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- In Claude, open Customize → Connectors, select + Add, then Add custom connector (Pro and Max plans; on Team and Enterprise an owner adds it under Organization settings → Connectors).
- Enter the name and URL above and select Continue.
- Choose No sign in, then add the Authorization request header with your key.
- Turn the Pylot connector on in a chat and ask for a post.
Name Pylot
URL https://www.getpylot.com/api/mcp
Authentication No sign in
Request header Authorization: Bearer pyl_live_…Claude CodeRemote MCP, one terminal command
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- Put the key in your shell: export PYLOT_API_KEY=pyl_live_…
- Run the command above, then start Claude Code and run /mcp to check that pylot is connected.
claude mcp add --transport http pylot \
https://www.getpylot.com/api/mcp \
--header "Authorization: Bearer $PYLOT_API_KEY"ChatGPTCustom GPT action (OpenAPI + bearer key)
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- In ChatGPT, create a GPT and open its Configure tab.
- Under Actions, select Create new action and import the schema from the URL above.
- Set Authentication to API key with Auth type Bearer, and paste your key.
- Save the GPT and ask it for a post.
Schema https://www.getpylot.com/api/v1/openapi.json
Authentication API key
Auth type Bearer
API key pyl_live_…CursorRemote MCP in mcp.json
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- Put the key in your shell: export PYLOT_API_KEY=pyl_live_…
- Add the pylot entry to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). Cursor fills ${env:PYLOT_API_KEY} from your environment.
- Check that pylot shows as connected in Cursor's MCP settings.
{
"mcpServers": {
"pylot": {
"url": "https://www.getpylot.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:PYLOT_API_KEY}"
}
}
}
}CodexRemote MCP in config.toml
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- Put the key in your shell: export PYLOT_API_KEY=pyl_live_…
- Run the command above. It appends a pylot server to ~/.codex/config.toml, and Codex sends PYLOT_API_KEY as the bearer token.
- Start Codex and ask for a post.
cat >> ~/.codex/config.toml <<'EOF'
[mcp_servers.pylot]
url = "https://www.getpylot.com/api/mcp"
bearer_token_env_var = "PYLOT_API_KEY"
EOFGemini CLIRemote MCP, one terminal command
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- Put the key in your shell: export PYLOT_API_KEY=pyl_live_…
- Run the command above, then start Gemini CLI and run /mcp to check that pylot is connected.
gemini mcp add --transport http \
--header "Authorization: Bearer $PYLOT_API_KEY" \
pylot https://www.getpylot.com/api/mcpOpenClawRemote MCP (streamable HTTP) with a header
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- Run the command above to add the server.
- Add the key as a header on that server, under mcp.servers.pylot in your config: headers: { Authorization: "Bearer ${PYLOT_API_KEY}" }. You can also set it in Settings → MCP in the Control UI.
- Run openclaw mcp doctor pylot --probe to check that it answers.
openclaw mcp add pylot \
--url https://www.getpylot.com/api/mcp \
--transport streamable-httpn8nHTTP Request node (REST + bearer key)
- In Pylot, open Settings → API keys and create a key. It starts with pyl_live_.
- In n8n, add an HTTP Request node and paste the command above with Import cURL.
- Move the key into a Bearer Auth credential so it isn't stored in the node.
- Chain more HTTP Request nodes for /generate/images and /posts. The full list is in the API reference.
curl -X POST https://www.getpylot.com/api/v1/generate/captions \
-H "Authorization: Bearer pyl_live_…" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Autumn menu launch at our cafe",
"platforms": ["instagram", "facebook"]
}'Teach your agent when to call what
The Pylot skill tells an agent which tool to use for each job, in what order, and when to stop and ask. Install it in Claude Code with one command, or point any agent at the file.
mkdir -p ~/.claude/skills/pylot && curl -fsSL \
https://www.getpylot.com/agents/pylot-skill.md \
-o ~/.claude/skills/pylot/SKILL.mdPlug your agent into Pylot
Start a trial, let Pylot learn your brand from your website, then create an API key in Settings → API keys. Captions are free; images use 1 credit each.
Start my trialPro: 7 days for $0 · card required · then $49.99/month · cancel within 7 days to pay nothing.
The MCP server, answered
What is the Pylot MCP server?
A remote MCP server at https://www.getpylot.com/api/mcp that speaks Streamable HTTP. It gives an AI agent tools to write captions in your brand voice, generate brand images, create draft posts and schedule them to your connected Instagram, Facebook, LinkedIn, X and TikTok accounts.
How does an agent sign in?
With a Pylot API key sent as a bearer token in the Authorization header. Create one in Settings → API keys. Each key belongs to one business, is stored hashed, and can be revoked at any time.
Can an agent publish without me?
Not by accident. create_post always makes a draft unless it's given a time. publish_post needs confirm set to true and is marked destructive, so MCP clients can ask you before it runs.
What does it cost?
Captions are free. Each generated image uses 1 credit from your plan and is refunded if generation fails. Drafting, scheduling and publishing are free.
pylot