---
title: "Model Context Protocol server (streamable HTTP)"
method: POST
path: "/mcp"
tags: ["mcp"]
---

# Model Context Protocol server (streamable HTTP)

`POST /mcp`

## Request

- Base URL: `https://search.neurobird.com`
- URL: `https://search.neurobird.com/mcp`
- Auth: HTTP bearer

A hosted MCP server over the streamable HTTP transport, speaking JSON-RPC 2.0. Add it to Claude Code with:

```
claude mcp add --transport http neurobird-search https://search.neurobird.com/mcp --header "Authorization: Bearer $KEY"
```

The same URL works in any MCP client that supports streamable HTTP, including Cursor, Windsurf, Zed and the Claude desktop app.

Methods: `initialize`, `tools/list`, `tools/call`, `ping`.
Tools: `web_search` (ranked sources with page passages already extracted) and `extract_url` (any page as clean markdown).

## Request body

- object
  - `jsonrpc` '2.0', required
  - `id` unknown
  - `method` 'initialize' | 'tools/list' | 'tools/call' | 'ping', required
  - `params` object

## Response `200`

JSON-RPC result.

- object

## Other responses

- `202`: Accepted notification, no body.

---

[API](https://skmtc.dev/neurobird/apis/neurobird-search-api.md) · [All operations](https://skmtc.dev/neurobird/apis/neurobird-search-api/llms.txt) · [OpenAPI document](https://skmtc.dev/neurobird/apis/neurobird-search-api/revisions/103dcd55a8f5?raw)
