MCP
MCP server
The endpoint, transport, tools, authentication, limits and errors of the Yep MCP server.
The Yep MCP server lets an AI agent search the web with Yep. To add it to a client, follow Connect your agent
Server
https://platform.yep.com/api/v1/mcp | Name | Value |
|---|---|
| Transport | Streamable HTTP. Each request is a stateless POST that is answered with JSON, without a session or an event stream. |
| Protocol version | 2026-07-28 |
| Request size | At most 64 KiB per request. |
| Server name | yep-search |
Tools
search— Search the web with Yep and get ranked results.
Authentication
The server accepts OAuth access tokens. It answers a request without one with 401 and a WWW-Authenticate header that points to its OAuth metadata. The client then registers itself and opens the browser, where you approve access. It stores and refreshes the tokens itself, and the flow uses PKCE with S256.
API keys are for the REST API. The server refuses an API key sent in the Authorization header.
| Scope | Grants |
|---|---|
| search:read | Every tool. |
Billing and limits
A completed tool call is billed like the same search over the REST API, and the same spend limits and rate limits apply. A failed call is not billed.
Prices and limits: Errors, limits, and billing
Tool errors
A failed tool call sets isError to true. Its structured content holds the error body of the REST API and the request_id of the call. When error.validation is present, correct every listed issue before retrying, and do not repeat an unchanged input.
{
"error": {
"code": "invalid_request",
"reason": "malformed_request",
"message": "invalid request: request body violates the public contract",
"recovery": null,
"validation": {
"contract": "SearchPostRequest",
"issues": [
{
"code": "required",
"path": "/query",
"suggestion": "Add the required `query` field."
}
],
"truncated": false
},
"request_id": "00000000-0000-0000-0000-000000000000"
},
"request_id": "00000000-0000-0000-0000-000000000000"
} The fields of the validation report: Validation errors