noodlbox

Repositories List

Discover available repositories you have access to

The Repositories List resource provides a simple way to discover which repositories are available for querying through noodlbox.

URI Pattern

repository://list

Response Format

interface RepositoryListResponse {
  repositories: RepositoryItem[];
}

interface RepositoryItem {
  id: string;         // Unique identifier
  name: string;       // Repository name
  full_name: string;  // Full repository name (owner/repo)
}

Example Request

GET repository://list

Example Response

{
  "repositories": [
    {
      "id": "repo_1",
      "name": "frontend",
      "full_name": "myorg/frontend"
    },
    {
      "id": "repo_2",
      "name": "api-server",
      "full_name": "myorg/api-server"
    },
    {
      "id": "repo_3",
      "name": "shared-lib",
      "full_name": "myorg/shared-lib"
    }
  ]
}

Use Cases

1. Discovery

Find which repositories you can query:

GET repository://list

Use the returned names in tool parameters and other resource URIs.

2. Workspace Setup

Initialize an agent workspace with available repositories:

// Fetch repositories
const repos = await getResource('repository://list');

// Set up queries for each repo
for (const repo of repos.repositories) {
  await exploreRepository(repo.name);
}

3. Multi-Repository Analysis

Analyze patterns across all accessible repositories:

const repos = await getResource('repository://list');

for (const repo of repos.repositories) {
  const schema = await getResource(`db://schema/${repo.name}`);
  // Compare schemas
}

Access Control

The repositories list only includes repositories the authenticated user has access to. Repository visibility is controlled by:

  • Organization membership
  • Repository permissions
  • Access tokens

If you expect to see a repository but it's not listed, check your access permissions.

Repository Names

Short Name

Use the short name (name field) in:

  • Tool parameters
  • Resource URIs
  • Queries

Example: "frontend"

Full Name

The full name (full_name) includes the owner/organization:

Example: "myorg/frontend"

Use full names when:

  • Disambiguating between repositories with same name
  • Displaying in UI
  • Logging and audit trails

On this page