---
title: "Tools and limits"
description: "What the agent runs on the server, how plan entitlements gate it, and which rate limits apply."
canonical_url: "https://scholarxiv.com/developers/docs/agent-api/tools"
markdown_url: "https://scholarxiv.com/developers/docs/agent-api/tools.md"
---

> For the complete documentation index, see [llms.txt](/llms.txt).

# Tools and limits
URL: /developers/docs/agent-api/tools
LLM index: /llms.txt
Description: What the agent runs on the server, how plan entitlements gate it, and which rate limits apply.
Related: agent-api, papers-api/limits, mcp/tools, router-api/completions

# Tools and limits

## The tools

The server selects the same tool set as `/chat`, including paper and web research, federated sources, selected context, and supported research workflows. Full-text reading, code execution, and other paid capabilities follow the caller's live entitlements. A client need not implement these tools; richer outputs may need its own UI or a link to the website.

The MCP `research_chat` tool invokes this same service internally and returns a completed answer plus structured result. It retains its existing `question` and `is_deep_research` parameters. Use HTTP `stream: true` when you need token streaming.

## Entitlements

Tools, models, and deep research resolve live against the API key owner's plan on every request:

- `model: "auto"` picks only from models the plan can reach.
- `deep_research` requires Plus or Pro.
- Attachment and per-chat limits follow the plan too.

Calls use the existing [API rate limits](/developers/docs/papers-api/limits). The hourly window is shared across all of your keys and rolls continuously, so a 429 carries a `Retry-After` header.

## What it does not do

The agent is the product, not a thin wrapper: there is no prompt for you to write and no tool loop for you to orchestrate. What it deliberately does not offer is background execution — one request per conversation at a time, with no resumable event log. See [Quickstart](/developers/docs/agent-api/quickstart) for that constraint in full.

## 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).
