Skip to main content
Glama
posterly-mcp-server

posterly-mcp-server

by awpthorp

connect_account

Idempotent

Connect credential-based social accounts (Telegram, Bluesky, Discord, WordPress, Dev.to, Hashnode, Lemmy) directly using tokens or app passwords, without a browser session.

Instructions

Connect a credential-based social account (telegram, bluesky, discord, wordpress, devto, hashnode, lemmy) directly, without a browser session. Call list_platforms with view=connect_link first to discover the exact credential fields the platform needs. Prefer scoped secrets: app passwords (Bluesky, WordPress), bot tokens (Telegram), webhook URLs (Discord), and API tokens (Dev.to, Hashnode) over primary passwords. Warn the user that any credential they share passes through this conversation. For OAuth platforms (Instagram, X, LinkedIn, ...) use create_connect_session instead.

Input Schema

NameRequiredDescriptionDefault
patNoHashnode: personal access token from Account Settings, Developer.
handleNoBluesky: handle, for example posterly.bsky.social.
api_keyNoDev.to: API key from Settings, Extensions, DEV Community API Keys.
chat_idNoTelegram: target channel or group chat ID.
instanceNoLemmy: instance domain, for example lemmy.world.
passwordNoLemmy: account password (TOTP-enabled accounts are not supported).
platformYesCredential-based connection target: telegram, bluesky, discord, wordpress, devto, hashnode, or lemmy.
site_urlNoWordPress: site URL, e.g. https://blog.example.com.
usernameNoWordPress: username the application password belongs to. Lemmy: username or email.
bot_tokenNoTelegram: bot token from BotFather.
webhook_urlNoDiscord: channel webhook URL from channel settings, Integrations, Webhooks.
app_passwordNoBluesky: app password from account settings. WordPress: application password from wp-admin Users, Profile, Application Passwords.
workspace_idNoWorkspace to connect the account into. Workspace-scoped API keys ignore this.
connect_session_idNoOptional connect session ID to mark connected or failed based on the outcome.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.55.1

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), yet the description adds real context beyond them: credentials transit the conversation and the user should be warned, scoped secrets are preferred, and connect_session_id optionally marks connected/failed based on outcome. It does not say what happens on partial success or how errors are surfaced, which keeps it just short of the top.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and scope lead, followed by prerequisite, credential preference, security warning, and the OAuth escape hatch. Every sentence carries decision-relevant information; nothing is redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter credential tool with no output schema, the description covers what is needed: which platforms, how to determine required fields, which credential type to prefer, the user-facing security warning, and the sibling to use for OAuth. Return-value explanation is not required given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so per-parameter meaning is already documented, making 3 the baseline. The description adds value above that by telling the agent how to discover which credential fields a given platform needs (list_platforms with view=connect_link) and by signaling the per-platform credential taxonomy rather than a flat bag of 14 params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (connect a credential-based social account) and immediately delimits the scope: credential-based platforms enumerated inline, and 'without a browser session' rules out the OAuth path. An agent can distinguish this from create_connect_session without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (credential platforms listed), an explicit when-not plus the alternative (OAuth platforms Instagram/X/LinkedIn -> create_connect_session), and a mandatory prerequisite step (call list_platforms with view=connect_link first). It even ranks credential types, preferring scoped secrets over primary passwords.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.