MCP Server
Connect Claude, Cursor or any other AI tool that speaks MCP (the Model Context Protocol) to Quegly. Your agent gets tools to schedule posts, upload media and read analytics, with no HTTP code to write.
Connect
The server's URL is https://api.quegly.com/mcp. It signs in with your API key in the Authorization header, as Bearer qgl_.... Make a key in your API settings.
Claude Code
claude mcp add --transport http quegly https://api.quegly.com/mcp \
--header "Authorization: Bearer qgl_your_api_key"Cursor and other clients
Most clients take the server's URL and headers in a JSON file, like this (Cursor's mcp.json; other clients name the file and keys a little differently):
{
"mcpServers": {
"quegly": {
"url": "https://api.quegly.com/mcp",
"headers": {
"Authorization": "Bearer qgl_your_api_key"
}
}
}
}Claude Desktop
Claude Desktop starts servers from claude_desktop_config.json, so it connects through mcp-remote (needs Node.js):
{
"mcpServers": {
"quegly": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.quegly.com/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": {
"AUTH_HEADER": "Bearer qgl_your_api_key"
}
}
}
}Connectors added on the claude.ai or ChatGPT websites can't send an API key header, so use one of the clients above for now.
Workspaces
- A key bound to one workspace works there: no tool needs a workspace.
- An all-scope key works in every workspace you own: the agent calls
list_workspacesfirst and passesworkspace_idto the other tools.
How it works
Every tool calls the REST API with your key, so the same checks, the same limits and the same error messages apply: each call counts against your plan's requests per minute, and a refused call comes back as a tool error with the API's message, which the agent reads to fix its call. The server uses Streamable HTTP, stateless, with plain JSON answers.
Media goes in by link: upload_media_from_url stores a photo or video from a public URL, and set_video_thumbnail takes a cover the same way, since an agent holds links rather than files.
Tools that delete (delete_post, remove_video_thumbnail) are marked destructive, so clients ask you before running them. Never paste your API key into a chat: it belongs in the client's settings.
Tools
| Tool | What it does |
|---|---|
list_workspaces | The workspaces the key can act on. The first call with an all-scope key. |
list_accounts | The workspace's connected social accounts and their ids. |
list_posts | Posts scheduled in a date range, with their status and results. |
get_post | One post, with each platform's link or error. |
create_post | Schedule, publish or draft one post for any mix of accounts, with every platform setting. |
update_post | Change a scheduled post or a draft. |
delete_post | Delete a scheduled post or a draft. Marked destructive, so clients ask first. |
publish_post_now | Publish a scheduled post right away. |
upload_media_from_url | Store a photo or video from a public URL and get its media id. |
set_video_thumbnail | Set a video's cover from a public image URL. |
remove_video_thumbnail | Remove a video's cover. Marked destructive. |
list_pinterest_boards | The connected Pinterest account's boards, for a Pin's board_id. |
create_pinterest_board | Make a public Pinterest board. |
get_analytics | Every published post in a date range with its numbers per platform. |
get_post_analytics | One post's numbers per platform. |
refresh_analytics | Fetch fresh numbers from the platforms (at most hourly). |
Things to ask
- “Schedule these three photos to Instagram and X for Friday at 9am.”
- “Post this video to TikTok and YouTube now, with the title ‘Behind the scenes’.”
- “What were my five most viewed posts last month?”
- “Move every post scheduled for tomorrow to Monday at the same time.”