# List MCP Configurations div strong 🔨 In Development — This section is still being developed and may change. Retrieve a paginated list of MCP configurations you own or that have been shared with you. Returns all MCP configurations accessible to you, including your own configurations and those shared by other users. Results can be filtered by connector type, sharing status, or metadata tags. #### Query Parameters **`limit`** integer optional · Defaults to `20` Maximum number of configurations to return per page. Range: 1-100. **`after`** string optional Cursor for pagination. Use the `lastId` from the previous response to fetch the next page. **`connectorId`** string optional Filter by connector type. Example: `google_drive`, `github`, `slack`. **`shared`** boolean optional Filter by sharing status. `true` returns only shared configurations, `false` returns only private ones. **`metadata`** object optional Filter by metadata key-value pairs. Example: `{"environment": "production"}`. **`order`** string optional · Defaults to `desc` Sort order. Values: `asc` (oldest first), `desc` (newest first). List All ```bash curl https://api.freddy.aitronos.com/v1/mcp/configurations \ -H "Authorization: Bearer $FREDDY_API_KEY" ``` ```python import requests response = requests.get( "https://api.freddy.aitronos.com/v1/mcp/configurations", headers={"Authorization": f"Bearer {api_key}"} ) configs = response.json() print(f"Total configurations: {len(configs['data'])}") for config in configs['data']: print(f"- {config['name']} ({config['connectorId']})") ``` ```javascript const response = await fetch( 'https://api.freddy.aitronos.com/v1/mcp/configurations', { headers: { 'Authorization': `Bearer ${apiKey}` } } ); const configs = await response.json(); console.log(`Total configurations: ${configs.data.length}`); configs.data.forEach(config => { console.log(`- ${config.name} (${config.connectorId})`); }); ``` Filter by Connector ```bash curl "https://api.freddy.aitronos.com/v1/mcp/configurations?connectorId=google_drive&limit=50" \ -H "Authorization: Bearer $FREDDY_API_KEY" ``` ```python import requests response = requests.get( "https://api.freddy.aitronos.com/v1/mcp/configurations", headers={"Authorization": f"Bearer {api_key}"}, params={ "connectorId": "google_drive", "limit": 50 } ) configs = response.json() print(f"Google Drive configurations: {len(configs['data'])}") ``` ```javascript const response = await fetch( 'https://api.freddy.aitronos.com/v1/mcp/configurations?connectorId=google_drive&limit=50', { headers: { 'Authorization': `Bearer ${apiKey}` } } ); const configs = await response.json(); console.log(`Google Drive configurations: ${configs.data.length}`); ``` Shared Configurations ```bash curl "https://api.freddy.aitronos.com/v1/mcp/configurations?shared=true" \ -H "Authorization: Bearer $FREDDY_API_KEY" ``` ```python import requests response = requests.get( "https://api.freddy.aitronos.com/v1/mcp/configurations", headers={"Authorization": f"Bearer {api_key}"}, params={"shared": True} ) configs = response.json() print(f"Shared configurations: {len(configs['data'])}") for config in configs['data']: shared_with = config.get('sharedWith', {}) if shared_with.get('organization'): print(f"- {config['name']} (organization-wide)") elif shared_with.get('teams'): print(f"- {config['name']} (teams: {', '.join(shared_with['teams'])})") ``` ```javascript const response = await fetch( 'https://api.freddy.aitronos.com/v1/mcp/configurations?shared=true', { headers: { 'Authorization': `Bearer ${apiKey}` } } ); const configs = await response.json(); console.log(`Shared configurations: ${configs.data.length}`); configs.data.forEach(config => { const sharedWith = config.sharedWith || {}; if (sharedWith.organization) { console.log(`- ${config.name} (organization-wide)`); } else if (sharedWith.teams) { console.log(`- ${config.name} (teams: ${sharedWith.teams.join(', ')})`); } }); ``` Pagination ```bash # First page curl "https://api.freddy.aitronos.com/v1/mcp/configurations?limit=10" \ -H "Authorization: Bearer $FREDDY_API_KEY" # Next page (use lastId from previous response) curl "https://api.freddy.aitronos.com/v1/mcp/configurations?limit=10&after=mcp_config_xyz789" \ -H "Authorization: Bearer $FREDDY_API_KEY" ``` ```python import requests def fetch_all_configs(api_key): all_configs = [] after = None while True: params = {"limit": 50} if after: params["after"] = after response = requests.get( "https://api.freddy.aitronos.com/v1/mcp/configurations", headers={"Authorization": f"Bearer {api_key}"}, params=params ) data = response.json() all_configs.extend(data['data']) if not data.get('hasMore'): break after = data.get('lastId') return all_configs configs = fetch_all_configs(api_key) print(f"Total configurations: {len(configs)}") ``` ```javascript async function fetchAllConfigs(apiKey) { const allConfigs = []; let after = null; while (true) { const url = new URL('https://api.freddy.aitronos.com/v1/mcp/configurations'); url.searchParams.set('limit', '50'); if (after) url.searchParams.set('after', after); const response = await fetch(url, { headers: { 'Authorization': `Bearer ${apiKey}` } }); const data = await response.json(); allConfigs.push(...data.data); if (!data.hasMore) break; after = data.lastId; } return allConfigs; } const configs = await fetchAllConfigs(apiKey); console.log(`Total configurations: ${configs.length}`); ``` ## Response 200 OK ```json { "object": "list", "data": [ { "id": "mcp_config_abc123", "object": "mcp.configuration", "name": "Engineering Docs", "connectorId": "google_drive", "configuration": { "folderId": "1a2b3c4d5e", "includeSubfolders": true }, "description": "Access to engineering documentation", "shared": true, "sharedWith": { "teams": ["team_engineering"], "permissions": "read" }, "metadata": { "environment": "production" }, "createdAt": "2024-10-04T12:00:00Z", "updatedAt": "2024-10-04T12:00:00Z", "createdBy": "user_xyz789" }, { "id": "mcp_config_def456", "object": "mcp.configuration", "name": "Sales Team Slack", "connectorId": "slack", "configuration": { "channels": ["#sales", "#leads"] }, "description": null, "shared": false, "sharedWith": null, "metadata": {}, "createdAt": "2024-10-03T10:30:00Z", "updatedAt": "2024-10-03T10:30:00Z", "createdBy": "user_xyz789" } ], "hasMore": true, "lastId": "mcp_config_def456" } ``` Errors ```json { "error": { "type": "invalid_request_error", "message": "Invalid limit value. Must be between 1 and 100", "code": "invalid_parameter", "param": "limit" } } ``` ```json { "error": { "type": "authentication_error", "message": "Invalid API key", "code": "invalid_api_key" } } ```