search_books
Pack: books · Endpoint: https://gateway.pipeworx.io/books/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_books for the schema, then POST the same URL with its arguments for the data.
Search for books by title, author, or keyword. Returns title, author, year, ISBN, and cover image URL. Use this to discover books before fetching full details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query (title, author, or keywords) |
limit | number | no | Number of results to return (1-20, default 5) |
Example call
Arguments
{
"query": "1984 George Orwell"
}
curl
curl -X POST https://gateway.pipeworx.io/books/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_books","arguments":{"query":"1984 George Orwell"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_books', {
"query": "1984 George Orwell"
});
More examples
{
"query": "science fiction",
"limit": 10
}
Response shape
Always returns: total_found, books
| Field | Type | Description |
|---|---|---|
total_found | number | Total number of matching books found |
books | array | Array of matching books |
Full JSON Schema
{
"type": "object",
"properties": {
"total_found": {
"type": "number",
"description": "Total number of matching books found"
},
"books": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Book title"
},
"authors": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of author names"
},
"first_published": {
"type": [
"number",
"null"
],
"description": "Year of first publication"
},
"isbn": {
"type": [
"string",
"null"
],
"description": "First ISBN if available"
},
"cover_url": {
"type": [
"string",
"null"
],
"description": "Cover image URL"
},
"open_library_key": {
"type": "string",
"description": "Open Library key identifier"
}
},
"required": [
"title",
"authors",
"first_published",
"isbn",
"cover_url",
"open_library_key"
]
},
"description": "Array of matching books"
}
},
"required": [
"total_found",
"books"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"books": {
"url": "https://gateway.pipeworx.io/books/mcp"
}
}
}
See Getting Started for client-specific install steps.