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

NameTypeRequiredDescription
querystringyesSearch query string
typestringnoType of results: accounts, statuses, or hashtags (default: statuses)
limitnumbernoNumber 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

FieldTypeDescription
querystringThe search query string used
typestringType of results returned: accounts, statuses, or hashtags
accountsarrayMatching Mastodon accounts
statusesarrayMatching posts/statuses
hashtagsarrayMatching 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.

Regenerated from source · build September 22, 2026