Add sources
Sources are the trusted content your MCP server indexes and makes searchable. Add sources during server creation or later from the dashboard.
Build absolutely anything...with the right context.
| Audience | MCP creators, content owners, and teams choosing source strategy |
|---|---|
| Prerequisites | Source URLs and an MCP server draft or deployed MCP server |
Source types
| Type | Example | Notes |
|---|---|---|
| Documentation site | https://docs.docker.com | Crawls up to 5,000 pages |
| GitHub repo (public) | https://github.com/docker/docs | Indexes README, markdown, and source files |
| GitHub repo (private) | https://github.com/your-org/internal-docs | Auto-detected; prompts you to link GitHub |
| Any website | https://blog.example.com | Crawls pages on the same hostname |
| Another MCP server | https://example.com/mcp/abc | Federated at query time, not crawled. You can still use /sse for legacy compatibility. |
Add 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 or docs site: MCP Studio estimates the page count. If the site exceeds 5,000 pages, the wizard offers to use its underlying GitHub docs repo instead, or you can proceed with the 5,000-page cap.
- Public GitHub repo: The repo is added immediately.
- Private GitHub repo: MCP Studio detects that it can't access the repo publicly and shows a private-repo callout. Click Link GitHub Account or Sign in with GitHub. After verification, the source is added with a Private badge.
- MCP server URL: The source is added immediately, and queries are federated to that server at runtime.
The free tier includes 2 sources per server.
Add sources from the dashboard
- Open your server on the Dashboard.
- Go to the Sources section.
- Paste a new URL.
- Click Add Source. The source begins indexing immediately as a background job. You can leave the page — indexing continues until it completes or fails.
The free tier includes 2 sources per server. After that, each additional source is $3.
Refresh sources
Each source has a Refresh button that re-indexes it. Unchanged pages are detected and skipped, so a refresh of a stable docs site is much cheaper than the first crawl. Refresh is available even while a source is already indexing (Restart indexing).
Sources also auto-refresh daily at 7:00 AM Central US time. Closing the dashboard does not stop an in-progress run.
Source size and plans
Source size is measured in indexed chunks. A chunk is a small passage of your content — a section of a page, a code block, a function — stored so an AI agent can retrieve exactly the part that answers a question instead of a whole page.
The allowance is per MCP server and cumulative: all of the sources on a server share one pool rather than each getting its own.
| Plan | Indexed chunks per server |
|---|---|
| Free | Up to 500K |
| Starter ($25/mo) | Up to 1M |
| Growth ($50/mo) | Up to 2M |
| Scale ($150/mo) | Up to 3M |
When a server reaches its allowance, indexing stops at the limit instead of failing:
- Everything already indexed stays queryable and your MCP server keeps working.
- The source shows that it reached the size limit for your plan.
- You can upgrade for a larger allowance, or remove another source from that server to make room.
Adding a brand-new source to a server that is already at its allowance is declined up front, so you never wait on a crawl that could not have stored anything.
Large documentation sites
If a site is very large:
- Review the wizard callout that explains the limitation.
- Choose one option:
- Proceed with the configured page cap.
- Provide a more specific URL, such as a specific docs section.
- Connect the docs GitHub repo for broader coverage.
Private GitHub repos
When you paste a private repo URL into the wizard or the dashboard, MCP Studio:
- Detects that the repo isn't publicly visible.
- 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.
- Verifies access as your linked GitHub user before creating the source, so an unreadable repo fails immediately with an actionable prompt instead of producing an empty source.
- Indexes the repo. Private sources are marked with 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 server-side, is never exposed to the browser, and is only used to read the repository. No code is retained beyond the indexed text.
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 reason | What it means | Fix |
|---|---|---|
auth_required | We don't have a valid GitHub token for this account | Click Link GitHub in the dashboard or wizard |
not_found | Token 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_limited | GitHub temporarily rate-limited the lookup | Wait a minute and click Refresh |
network | Fetch timed out or the site was unreachable | Click Refresh |
no_content | Pages returned almost no extractable text | Use a more specific docs URL or the GitHub docs repo |
stalled | Indexing stopped reporting progress and was reset | Click Restart indexing |
storage_budget | The server reached the total source size for your plan | Upgrade for a larger allowance, or remove another source |
storage_limit | Index storage was temporarily full | Existing content stays queryable; retry after space is freed |