Safeguard
AI Security•

Why do security connector calls time out in chat?

Big scans and long finding lists can be slow, and servers must rate limit while clients set timeouts. What to expect, how to test and what to ask.

Safeguard Security Team
6 min read

A tool call has two limits: the server may rate limit callers, and the chat app may stop waiting. The MCP tools specification says servers must rate limit tool invocations and clients should implement timeouts. Slow or large security queries can hit either one, so test with realistic sizes before you rely on a connector.

Where the delays come from

  • Large results. A project with thousands of findings takes time to assemble and may be paged.
  • Heavy operations. Anything that starts a scan or analysis is slower than a lookup.
  • Rate limits. The specification lists rate limiting among the things servers must do. A burst of calls, for example from a research run, may be slowed or refused.
  • Client timeouts. Clients should time out calls so a stuck tool does not hang the conversation.

What the protocol offers for long work

The architecture overview mentions an optional Tasks extension that lets a server return a durable handle for long running requests, so a client can poll for status and fetch the result later. Whether a particular connector or chat app uses it is a question to ask, not something to assume.

For lists, the specification supports pagination, and tool results can include structured content with a schema, which helps a client handle large outputs.

What it looks like to a user

SymptomLikely cause
Spinner then an errorClient timeout
Fewer results than expectedPagination, or the model only read the first page
Refusal after many questionsRate limit
Works for one project, fails for allResult too large

The third row matters for accuracy. An assistant that read page one of five may summarize as if it had everything. Ask it how many results exist, and compare with the product.

A test plan

  1. Pick your largest project and your smallest.
  2. Ask the same question of both and time each.
  3. Ask for a full count, then spot check it.
  4. Make ten requests in a minute and see what happens.
  5. Record the results as a baseline for the next release.

Questions for the vendor

  • What are the rate limits per user and per tenant?
  • How do tools page large results, and how is that shown to the assistant?
  • Are long operations asynchronous?
  • What does an error look like, and does it tell the assistant what to retry?

The specification distinguishes protocol errors from tool execution errors, and says execution errors should be given to the model so it can adjust and retry. Check the connector returns clear ones.

A caution on automation

Do not work around limits by looping the assistant over every project. That multiplies calls, cost and exposure.

A worked example: the same question on two projects

This is illustrative. A team has a small project with forty findings and a large one with several thousand. They ask the assistant to list critical findings for each.

The small project answers in a few seconds. The assistant reads one page of results, sees the total, and summarizes correctly. The large project takes longer. The connector pages the results. The assistant reads the first page and writes a summary that sounds complete. It is not, because there are more pages.

The team notices only because they compared the count in the answer with the product. They then change how they ask: first, how many critical findings exist in this project, and second, list them page by page until the total is reached. They also ask the vendor to return a clear signal when more results remain.

Step by step: a performance and limit test

  1. Choose your largest project and your smallest.
  2. Ask the same three questions of each: a count, a list and a detail lookup.
  3. Time each answer.
  4. Check the count against the product.
  5. Make ten quick requests in a row and record any refusal or slowdown, to find rate limits.
  6. Ask a question that needs a long operation, such as starting analysis, and see how the connector reports progress.
  7. Write down which questions are safe in chat and which should go to the product.

Table: symptoms and next steps

SymptomLikely causeNext step
Error after a long waitClient timeoutNarrow the question or split it
Answer lists fewer items than the countPagingAsk for each page, verify the total
Refused after rapid questionsRate limitSlow down, ask vendor for limits
Different results on retryData changed or model chose another toolCheck the product
Slow only for one toolHeavy queryAsk the vendor about it

Why servers rate limit

The specification lists rate limiting among the duties of servers, along with input validation, access control and output sanitizing. It protects the server from overload, and it limits the damage of a runaway assistant or an injected instruction that tries to loop. A buyer should see rate limits as a feature, and should ask what they are.

Why clients time out

Clients should implement timeouts, so that a stuck tool does not leave a conversation hanging. The exact time depends on the app. For slow operations, vendors can use asynchronous patterns. The architecture overview describes an optional extension for long running requests that returns a handle the client can check later. Ask whether your connector uses it.

How to word questions for large data

Ask for counts before lists. Ask for summaries by project, then drill into one. Ask for the data timestamp. Avoid asking for everything in one request, since a model has to hold results in its context, and large dumps crowd out reasoning.

What to put in the contract

State expected limits, support response for timeouts, and notice of limit changes.

Where Safeguard fits

For heavy checks, a standalone scan does not need a chat window. Try the free scan, and consider Safeguard's policies and gates for steps that should run on a schedule rather than in conversation.

Try it yourself

Click through it at your own pace, or open it full screen.

Follow a conversation and notice how the assistant requests data in steps rather than all at once.

Quick check

Who sets the timeout?

Clients should implement timeouts, per the specification. The exact value depends on the chat app.

Can an assistant miss results because of paging?

Yes. If it reads only the first page it may summarize incompletely, so ask for a total and check it.

Should I retry a timed out call many times?

No. Repeated retries increase load and exposure. Narrow the question or move the task to the product.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.