mcp-registry/io.github.arslan2012/qpost-mcp · v1.0.0
Also listed as awesome/arslan2012/qpost-mcp, glama/arslan2012/qpost-mcp
As of 2026-10-27 03:29 UTC, the Arslan2012 Qpost MCP server is up with a Glimind reliability score of 98/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Point your MCP client at this streamable-http endpoint: https://qpost.dev/mcp
8 of 8 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
13 parameter(s) across 7 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
4 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 7 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp/fixes
{
"name": "create_post",
"description": "Create and publish (or schedule) a video or image post to connected platforms. Media must be supplied as a publicly reachable URL (mediaUrl / imageUrls) or base64 (mediaBase64) — this is a hosted server and cannot read files from your machine. Omit scheduledFor to publish immediately.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"caption",
"platforms",
"mediaKind"
],
"properties": {
"title": {
"type": "string",
"description": "Optional title (YouTube)"
},
"caption": {
"type": "string",
"minLength": 1,
"description": "Main text/caption of the post"
},
"mediaUrl": {
"type": "string",
"format": "uri",
"description": "Publicly reachable URL of the video or single image"
},
"timezone": {
"type": "string",
"description": "IANA timezone, default \"UTC\""
},
"imageUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "Multiple image URLs for a carousel"
},
"mediaKind": {
"enum": [
"video",
"image"
],
"type": "string"
},
"platforms": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform"
],
"properties": {
"metadata": {
"type": "object",
"description": "Platform-specific options (privacy, tags, category…). See https://qpost.dev/docs",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"platform": {
"enum": [
"YOUTUBE",
"TIKTOK",
"INSTAGRAM"
],
"type": "string"
}
}
},
"minItems": 1
},
"mediaBase64": {
"type": "string",
"description": "Base64-encoded media bytes, if you have no public URL"
},
"scheduledFor": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "ISO datetime; omit to publish immediately"
},
"mediaFilename": {
"type": "string",
"description": "Filename for mediaBase64, e.g. clip.mp4 — sets the MIME type"
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}{
"name": "delete_post",
"description": "Permanently delete a post you own.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true
}
}{
"name": "get_post",
"description": "Get a single post by ID, including per-platform publish status.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.arslan2012/qpost-mcp"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.arslan2012/qpost-mcp"}) over MCP.
create_post ~546 tokensupdate_post ~215 tokenslist_posts ~98 tokensget_post_stats ~94 tokenslist_connected_accounts ~83 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.arslan2012%2Fqpost-mcp?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:4897740d4ef6d2bb…, first seen 2026-10-21, included at leaf 37109 of 77,101. Version history · verify what your client received.
Compare: most reliable media servers · most reliable communication servers · most reliable data servers · most reliable analytics servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-27 03:29 UTC, the Arslan2012 Qpost MCP server is up with a Glimind reliability score of 98/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Arslan2012 Qpost MCP server advertises 8 tools, including create_post, delete_post, get_post, get_post_stats, list_connected_accounts.
Point your MCP client at this streamable-http endpoint: https://qpost.dev/mcp
Glimind scanned all 8 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.