Appa Tools documentation for MCP Studio, including setup, guides, concepts, and API-related reference content.

Skip to main content

Indexing

Indexing is how Context MCP Studio turns your sources into searchable, citable context. It runs in the background — not inside a single browser request — so closing the dashboard, a timeout, or a deploy mid-run cannot wipe a working index.

AudienceMCP operators, content owners, and developers troubleshooting source quality
PrerequisitesAt least one source connected to an MCP server

What happens during indexing​

  1. MCP Studio queues the source and starts working on it immediately.
  2. It discovers the pages or files the source contains.
  3. It fetches each one, retrying transient failures, and skips anything that has not changed since the last run.
  4. It extracts the meaningful content, splits it into passages that preserve headings and code blocks intact, and prepares them for search.
  5. New content is written alongside the existing index. Stale pages are only removed once a run finishes successfully, so a failed run leaves your last good index fully searchable.

Large sources are processed incrementally and continue in the background until complete. You do not need to keep the dashboard open.

Indexing status​

Each source shows one of these statuses:

StatusMeaning
PendingSource has been added; work is queued
Indexing (dashboard may show Crawling)Content is being discovered, fetched, and indexed. A percent and page counts appear on the dashboard.
CompleteAll content has been indexed and is searchable
ErrorSomething went wrong — see the inline error reason below the source

While a source is indexing you can still click Refresh / Restart indexing. That cancels the current run and starts a fresh one. If a run stops reporting progress, the dashboard marks it stalled and it is automatically retried or failed rather than being left stuck.

When a source fails​

You do not have to watch the dashboard. When a source fails to index, we email you with what happened and what to do about it. You get one email per source per day, so refreshing a source that keeps failing will not fill your inbox, and other sources on the same server keep working and stay searchable.

The server's page shows the same explanation in a banner below the failed source, sometimes with a button that performs the fix.

Error reasons​

CauseWhat it meansAction
Repository accessPrivate GitHub repo and we have no valid token for your accountClick Link GitHub next to the source
Repository not foundGitHub returned 404 with your account linked, so it was renamed, deleted, or your access was removedVerify the URL, or re-grant organization access
GitHub throttlingGitHub is temporarily limiting how fast we can readNothing. Indexing resumes on its own
No responseThe fetch timed out or the site was unreachableNothing yet. This retries automatically
No indexable textPages returned almost no extractable text, usually a login-gated site or one that builds its content with JavaScriptPoint at a page whose text is visible without signing in, or upload the files instead
MCP server refusedA connected MCP endpoint needs a key, or rejected the one it was givenUpdate the key on the source, then refresh
MCP server unreachableA connected MCP endpoint did not respondCheck the endpoint URL, then refresh
Not an MCP serverThe URL answered, but not as an MCP serverCheck the endpoint URL. Most hosted servers end in /mcp
Uploaded file missingThe uploaded file is no longer storedRemove the source and upload the file again
Uploaded file emptyNo text could be read from the fileRemove the source and upload a version that contains text
Indexing stalledThe job stopped reporting progress and was resetClick Restart indexing
Index fullOur index storage is full, so this source could not be writtenFree space by removing a source or server you no longer use
Over your planThe source is larger than your plan allowsUpgrade, or remove another source from this server

A login-gated or JavaScript-rendered site is the most common failure, and no amount of refreshing fixes it, because there is no text to read without signing in. If your documentation is not publicly readable, upload the files directly and skip the crawler.

Typical indexing times​

  • 1–3 sources: Usually 1–6 minutes
  • Large docs sites: Can take longer and will continue in the background
  • GitHub repos: Often faster for markdown-first repos, longer for broad code repositories
  • Unchanged sources on daily refresh: Much faster, because unchanged content is not reprocessed

Using your server during indexing​

Your MCP server is usable immediately after deployment, even while sources are still indexing. During this period it falls back to fetching content live when the index does not yet have a match — queries still work, they are just slightly slower.

Once indexing completes, queries are served from the prepared index and are considerably faster.

Refreshing sources​

You can refresh sources in two ways:

  • Manual refresh: Click Refresh (or Restart indexing) next to any source on the dashboard. This is available even while a source is already indexing.
  • Auto-refresh: Sources that have not been indexed recently are re-queued daily at 7:00 AM Central US time. Content that has not changed is detected and skipped.

Closing the browser does not stop a refresh — it continues server-side.

Page limits​

  • Website and GitHub sources are limited to 5,000 pages (or files) per source
  • Very large files and non-text assets are skipped
  • If a source is larger than the cap, use a more specific docs URL or the underlying GitHub docs repo

Citations​

Answers cite the page they came from, so any claim can be traced back to your documentation. Citations retain section headings where the source provides them, and MCP Studio favors your current documentation when a source publishes several versions side by side.

  • Web/docs: Citations resolve to section anchors when available.
  • GitHub: Citations can resolve to file line ranges for code-level provenance.
  • PDF: Citations include page fragments (#page=N) when page-level context is available.
  • Federated MCP sources: Citations include MCP endpoint references and remote tool usage context. These sources are queried at runtime, not crawled.

GitHub access​

For GitHub sources, MCP Studio uses the server owner's linked GitHub account to read the repository. Before creating the source it verifies that the repository is readable with that account, so a private repo you cannot access fails immediately with an actionable Link GitHub button rather than silently producing an empty source.

The OAuth scope requested is read:user user:email repo. The repo scope grants read access to private repositories owned by, or shared with, the user. Tokens are stored server-side and are never exposed to the browser.