Mastodon ACTION
Post Multiple Statuses
Publish multiple statuses with the given parameters, the subsequent statuses will be posted as a reply of of the first status. See the documentation
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Mastodon account once, then configure and run Post Multiple Statuses from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "mastodon-post-multiple-statuses",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
mastodon: { authProvisionId: "apn_xxxxxxx" },
statuses: ["Statuses"],
inReplyToId: "In Reply To ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "mastodon-post-multiple-statuses",
"configured_props": {
"mastodon": { "authProvisionId": "apn_xxxxxxx" },
"statuses": ["Statuses"],
"inReplyToId": "In Reply To ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "mastodon",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "mastodon-post-multiple-statuses",
arguments: {
statuses: ["Statuses"],
inReplyToId: "In Reply To ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
statuses Statuses | string[] | Array of statuses to be published in sequence; each status must be fewer than 500 characters long. Required |
inReplyToId In Reply To ID | string | ID of the status being replied to, if the status is a reply. Optional |
sensitive Sensitive | boolean | Mark the status and attached media as sensitive. The default is false. Optional |
spoilerText Spoiler Text | string | Text to be shown as a warning or subject before the actual content. Statuses are generally collapsed behind this field. Optional |
visibility Visibility | string | Set the visibility of the posted status to public, unlisted, private, or direct. Optional |
scheduledAt Scheduled At | string | ISO 8601 DateTime at which to schedule a status. Must be at least 5 minutes in the future. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- mastodon-post-multiple-statuses
- Version
- 0.0.5
- App
- Mastodon
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗