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

Skip to main content

Adding Sources

Sources are the content your MCP server indexes and makes searchable. You can add sources during creation or later from the dashboard.

Source types

TypeExampleNotes
Documentation sitehttps://docs.docker.comCrawls up to 1,000 pages
GitHub repo (public)https://github.com/docker/docsIndexes README + markdown via the GitHub API
GitHub repo (private)https://github.com/your-org/internal-docsAuto-detected; prompts you to link GitHub
Any websitehttps://blog.example.comBFS crawl from the URL within the same hostname
Another MCP serverhttps://example.com/mcp/abc/sseFederated at query time, not crawled

Adding sources during creation

In the wizard's Sources step, paste each URL and it will be validated automatically. What happens depends on the URL:

  • Public website / docs site — we estimate the page count. If the site exceeds 1,000 pages we offer to use its underlying GitHub docs repo instead, or you can proceed with the 1,000-page cap.
  • Public GitHub repo — added immediately.
  • Private GitHub repo — we detect that we can't see it with public access and show a "Looks like a private GitHub repo" callout. Click Link GitHub Account (or Sign in with GitHub if you started with Google) and we'll re-verify ownership through the GitHub API. Once verified, the source is added with a Private badge.
  • MCP server URL — added immediately; queries are federated to that server at runtime.

The free tier includes 2 sources per server.

Adding sources from the dashboard

  1. Open your server on the Dashboard
  2. Scroll to the Sources section
  3. Paste a new URL and click Add Source
  4. The source begins indexing immediately
Extra sources

The free tier includes 2 sources per server. Additional sources cost $3 each (one-time, permanent for that server). You can swap out which URLs are in those slots at any time.

Refreshing sources

Each source has a Refresh button that re-indexes it from scratch. This is useful when the content has been updated.

Sources also auto-refresh daily at 7:00 AM Central US time.

Large documentation sites

If a site has more than 100 pages:

  1. A callout appears in the wizard explaining the limitation
  2. You can proceed with the 100-page limit
  3. Or provide a more specific URL (e.g., a specific docs section)
  4. Or connect the docs GitHub repo for full coverage

Private GitHub repos

When you paste a private repo URL into the wizard or the dashboard, MCP Studio:

  1. Detects that the repo isn't publicly visible by probing the GitHub API.
  2. Asks you to authenticate — if you originally signed up with Google, you'll see a Link GitHub Account button. If you started with GitHub, this step is silent because we already have your token.
  3. Verifies ownership by re-probing the repo authenticated as your linked GitHub user. We require an HTTP 200 from GET /repos/:owner/:name before we'll create the source.
  4. Indexes the repo using the GitHub API. The source row carries an isPrivate flag and a lock badge in the dashboard.

We request the repo scope because GitHub doesn't offer a "read-only private repo" scope. The token is stored encrypted in the Account table and is only used server-side by the crawler. No code is stored beyond the indexed text chunks.

What if access is later revoked?

If you remove MCP Studio from your GitHub authorized apps, the next refresh will fail with a auth_required error and the dashboard will show a Re-authenticate CTA next to that source.

Common errors

Error reasonWhat it meansFix
auth_requiredWe don't have a valid GitHub token for this accountClick Link GitHub in the dashboard or wizard
not_foundToken is valid but the repo wasn't found (renamed, deleted, or you lost access)Confirm the URL or re-grant org access in GitHub settings
rate_limitedGitHub temporarily rate-limited the lookupWait a minute and click Refresh
networkCrawl timed out before completingClick Refresh