# Sources

The **Sources** page lists every tool source deployed in the project — the raw inputs that become tools. Open it from **Connect > Sources** in the dashboard.

## Access requirements

<Callout type="info">
  Viewing this page requires the `project:read` scope. Adding, editing, reconnecting, or deleting a source requires the `project:write` scope, and creating a custom remote MCP server requires the `mcp:write` scope. The default [Admin role](/docs/ai-control-plane/org-admin/roles-and-permissions) includes all of these actions; the default Member role can browse sources and source details but cannot add, edit, or delete them.
</Callout>

## Source types

Five source types appear together in one view:

- **OpenAPI documents** — upload a spec to generate tools from an API
- **Functions** — TypeScript tools written as custom code; see [Creating TypeScript tools](/docs/ai-control-plane/connect/sources/gram-functions)
- **MCP catalog** — third-party servers added from the [catalog](/docs/ai-control-plane/connect/catalog)
- **Custom remote MCP** — existing remote servers registered by URL; requests are proxied using streamable HTTP transport
- **Tunneled MCP** — private servers connected through a tunnel

## Working with the list

Switch between a card grid and a table (columns: name, type, tools, created, updated). Search sources by name, and filter by type, transport, format, whether a source is used in an MCP server, and failing status. A **Deployments** button links to deployment history and turns into a **Deployment Errors** alert when the latest deployment failed.

## Adding a source

The **Add Source** menu offers each source type:

- **From your API** — upload an OpenAPI spec to generate tools
- **Write custom code** — create tools with TypeScript functions
- **3rd-party server** — add pre-built servers from the catalog
- **Custom remote server** — register an existing remote server by URL, with a verify step before adding
- **Tunneled MCP Server** — connect a private server through a tunnel

Adding sources requires project write access.

## Source detail

Each source has a detail view with tabs for its overview, the tools it produces, the MCP servers that expose it, and its settings.
