---
title: "How to Connect"
description: "Endpoint URL, authentication, transport protocol, and discovery for the ScholarXIV MCP server."
canonical_url: "https://scholarxiv.com/developers/docs/mcp/connect"
markdown_url: "https://scholarxiv.com/developers/docs/mcp/connect.md"
---

# How to Connect
URL: /developers/docs/mcp/connect
LLM index: /llms.txt
Description: Endpoint URL, authentication, transport protocol, and discovery for the ScholarXIV MCP server.
Related: mcp, mcp/quickstart, mcp/clients

# How to Connect

The ScholarXIV MCP server is a remote endpoint using the Streamable HTTP transport.

## Endpoint

```
POST https://www.scholarxiv.com/api/mcp
```

This is the single endpoint for all MCP operations. Your client sends JSON-RPC requests to this URL.

## Authentication

Every request requires a valid API key in the `Authorization` header:

```http
Authorization: Bearer sxv_your_api_key_here
```

Alternatively, you can use the `x-api-key` header:

```http
x-api-key: sxv_your_api_key_here
```

Keys always start with `sxv_`. Create one at the [Developer Dashboard](/developers/dashboard/apikeys).

## Transport

| Property | Value |
|----------|-------|
| Type | Streamable HTTP |
| Protocol Version | `2025-06-15` |
| Session State | Stateless (no persistent sessions) |
| Response Format | JSON (when `enableJsonResponse` is used) |

The server is **stateless** — each request is independent. There is no session persistence between tool calls. This makes it compatible with serverless deployments.

## Discovery

Clients that support `.well-known` auto-discovery can probe these endpoints:

```
GET https://scholarxiv.com/.well-known/mcp/server-card.json
GET https://scholarxiv.com/.well-known/mcp.json
```

Both return a server card with:

```json
{
  "name": "com.scholarxiv/api",
  "version": "1.0.0",
  "description": "ScholarXIV academic paper search, collections, bookmarks, comments, and research tools",
  "title": "ScholarXIV",
  "websiteUrl": "https://scholarxiv.com",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://www.scholarxiv.com/api/mcp",
      "supportedProtocolVersions": ["2025-06-15"],
      "headers": [
        {
          "name": "Authorization",
          "description": "Bearer token with your ScholarXIV API key (sxv_...)",
          "isRequired": true,
          "isSecret": true
        }
      ]
    }
  ]
}
```

## CORS

The MCP endpoint and discovery endpoints include CORS headers for browser-based clients:

```
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization, x-api-key
```

## Rate Limiting

MCP calls share the same rate limit as the REST API. Your plan's hourly limit applies to both:

| Plan | Rate Limit |
|------|------------|
| Free | 1,200 requests/hour |
| Plus | 2,400 requests/hour |
| Pro | 3,600 requests/hour |

When rate limited, you'll receive a `429` status with a `Retry-After` header.

## Error Responses

| Status | Meaning |
|--------|---------|
| `401` | Invalid or missing API key |
| `429` | Rate limit exceeded |
| `405` | GET or DELETE not supported (stateless mode) |

## Next Steps

- [Client Configuration](/developers/docs/mcp/clients) — config for every major client
- [Tool Catalog](/developers/docs/mcp/tools) — all 33 tools

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
Docs-scoped sitemap: [/docs/sitemap.md](/docs/sitemap.md).
Well-known sitemap: [/.well-known/sitemap.md](/.well-known/sitemap.md).
