web_search
Pack: brave-search · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/web_search for the schema, then POST the same URL with its arguments for the data.
General web search via the Brave index. Returns title, URL, description snippet, age, language, and site categories. Optional country, language, safesearch, and freshness filters.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
q | string | yes | Search query |
count | number | no | Results to return (1-20, default 10) |
offset | number | no | 0-9 page offset (default 0) |
country | string | no | 2-letter country code (e.g., “us”, “gb”) |
search_lang | string | no | 2-letter language (e.g., “en”) |
safesearch | string | no | strict | moderate | off (default moderate) |
freshness | string | no | pd (past day) | pw (past week) | pm (past month) | py (past year) | YYYY-MM-DDtoYYYY-MM-DD |
Example call
Arguments
{
"q": "best practices for machine learning"
}
curl
curl -X POST https://gateway.pipeworx.io/brave-search/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"web_search","arguments":{"q":"best practices for machine learning"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('web_search', {
"q": "best practices for machine learning"
});
More examples
{
"q": "latest AI breakthroughs",
"count": 15,
"country": "us",
"search_lang": "en",
"safesearch": "moderate",
"freshness": "pw"
}
Response shape
Always returns: query, altered, total, returned, results
| Field | Type | Description |
|---|---|---|
query | string | The original search query |
altered | string | null | Altered query if Brave modified it, otherwise null |
total | integer | null | Total results available for the query |
returned | integer | Number of results returned in this response |
results | array | Array of web search results |
Full JSON Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The original search query"
},
"altered": {
"type": [
"string",
"null"
],
"description": "Altered query if Brave modified it, otherwise null"
},
"total": {
"type": [
"integer",
"null"
],
"description": "Total results available for the query"
},
"returned": {
"type": "integer",
"description": "Number of results returned in this response"
},
"results": {
"type": "array",
"description": "Array of web search results",
"items": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
],
"description": "Result title"
},
"url": {
"type": [
"string",
"null"
],
"description": "Result URL"
},
"description": {
"type": [
"string",
"null"
],
"description": "Result snippet/description"
},
"age": {
"type": [
"string",
"null"
],
"description": "Age of the result"
},
"page_age": {
"type": [
"string",
"null"
],
"description": "Age of the page"
},
"language": {
"type": [
"string",
"null"
],
"description": "Language of the result"
},
"hostname": {
"type": [
"string",
"null"
],
"description": "Hostname from meta_url"
},
"thumbnail": {
"type": [
"string",
"null"
],
"description": "Thumbnail image URL"
}
}
}
}
},
"required": [
"query",
"altered",
"total",
"returned",
"results"
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the brave-search pack
{
"mcpServers": {
"brave-search": {
"url": "https://gateway.pipeworx.io/brave-search/mcp"
}
}
}
See Getting Started for client-specific install steps.