search
Pack: mastodon · Endpoint: https://gateway.pipeworx.io/mastodon/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search for the schema, then POST the same URL with its arguments for the data.
Search Mastodon for accounts, statuses, or hashtags. Returns matching profiles, posts, and tags with follower counts and engagement metrics.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query string |
type | string | no | Type of results: accounts, statuses, or hashtags (default: statuses) |
limit | number | no | Number of results to return (default: 10, max: 40) |
Example call
Arguments
{
"query": "climate change"
}
curl
curl -X POST https://gateway.pipeworx.io/mastodon/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"climate change"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search', {
"query": "climate change"
});
More examples
{
"query": "open source",
"type": "accounts",
"limit": 20
}
Response shape
Always returns: query, type, accounts, statuses, hashtags
| Field | Type | Description |
|---|---|---|
query | string | The search query string used |
type | string | Type of results returned: accounts, statuses, or hashtags |
accounts | array | Matching Mastodon accounts |
statuses | array | Matching posts/statuses |
hashtags | array | Matching hashtags |
Full JSON Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query string used"
},
"type": {
"type": "string",
"description": "Type of results returned: accounts, statuses, or hashtags"
},
"accounts": {
"type": "array",
"description": "Matching Mastodon accounts",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Account ID"
},
"username": {
"type": "string",
"description": "Username handle"
},
"acct": {
"type": "string",
"description": "Full account address"
},
"display_name": {
"type": "string",
"description": "Display name"
},
"url": {
"type": "string",
"description": "Profile URL"
},
"followers_count": {
"type": "number",
"description": "Number of followers"
},
"following_count": {
"type": "number",
"description": "Number following"
},
"statuses_count": {
"type": "number",
"description": "Number of posts"
},
"created_at": {
"type": "string",
"description": "Account creation timestamp"
},
"bot": {
"type": "boolean",
"description": "Whether account is a bot"
},
"avatar": {
"type": "string",
"description": "Avatar image URL"
},
"note": {
"type": "string",
"description": "Bio/note text"
}
}
}
},
"statuses": {
"type": "array",
"description": "Matching posts/statuses",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Status ID"
},
"created_at": {
"type": "string",
"description": "Post creation timestamp"
},
"url": {
"type": "string",
"description": "Status URL"
},
"content": {
"type": "string",
"description": "Post content/body"
},
"visibility": {
"type": "string",
"description": "Visibility level"
},
"favourites_count": {
"type": "number",
"description": "Number of favorites"
},
"reblogs_count": {
"type": "number",
"description": "Number of reblogs/shares"
},
"replies_count": {
"type": "number",
"description": "Number of replies"
},
"language": {
"type": [
"string",
"null"
],
"description": "Post language code"
},
"sensitive": {
"type": "boolean",
"description": "Content warning flag"
},
"spoiler_text": {
"type": [
"string",
"null"
],
"description": "Content warning text"
},
"tags": {
"type": "array",
"description": "Hashtags in post",
"items": {
"type": "string"
}
},
"account": {
"type": "object",
"description": "Author account info",
"properties": {
"id": {
"type": "string",
"description": "Account ID"
},
"username": {
"type": "string",
"description": "Username"
},
"acct": {
"type": "string",
"description": "Full account address"
},
"display_name": {
"type": "string",
"description": "Display name"
}
}
}
}
}
},
"hashtags": {
"type": "array",
"description": "Matching hashtags",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Hashtag name"
},
"url": {
"type": "string",
"description": "Hashtag URL"
}
}
}
}
},
"required": [
"query",
"type",
"accounts",
"statuses",
"hashtags"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"mastodon": {
"url": "https://gateway.pipeworx.io/mastodon/mcp"
}
}
}
See Getting Started for client-specific install steps.