search_posts
Pack: bluesky · Endpoint: https://gateway.pipeworx.io/bluesky/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_posts for the schema, then POST the same URL with its arguments for the data.
Search Bluesky posts by keyword or phrase. Returns matching posts with author handles, timestamps, engagement metrics, and content.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query |
limit | number | no | Number of results (1-100, default 25) |
Example call
Arguments
{
"query": "artificial intelligence"
}
curl
curl -X POST https://gateway.pipeworx.io/bluesky/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_posts","arguments":{"query":"artificial intelligence"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_posts', {
"query": "artificial intelligence"
});
More examples
{
"query": "bluesky news",
"limit": 100
}
Response shape
Full JSON Schema
{
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"posts": {
"type": "array",
"description": "Matching posts from search",
"items": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "AT URI of the post"
},
"author": {
"type": "string",
"description": "Author's display name or handle"
},
"handle": {
"type": "string",
"description": "Author's handle"
},
"text": {
"type": "string",
"description": "Post content text"
},
"createdAt": {
"type": "string",
"description": "ISO timestamp of post creation"
},
"likes": {
"type": "number",
"description": "Number of likes"
},
"reposts": {
"type": "number",
"description": "Number of reposts"
},
"replies": {
"type": "number",
"description": "Number of replies"
}
},
"required": [
"uri",
"author",
"handle",
"text",
"createdAt",
"likes",
"reposts",
"replies"
]
}
}
},
"required": [
"posts"
]
},
{
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error code"
},
"message": {
"type": "string",
"description": "Error message with authentication instructions"
}
},
"required": [
"error",
"message"
]
}
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"bluesky": {
"url": "https://gateway.pipeworx.io/bluesky/mcp"
}
}
}
See Getting Started for client-specific install steps.