feat: Add support for MCP Resources (#13178)

Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
This commit is contained in:
Alex Gavrilescu
2025-12-09 03:43:12 +01:00
committed by GitHub
parent 720b31cb8b
commit 560550f5df
20 changed files with 1146 additions and 80 deletions
@@ -12,6 +12,7 @@ import type {
import { CommandKind } from './types.js';
import type {
DiscoveredMCPPrompt,
DiscoveredMCPResource,
MessageActionReturn,
} from '@google/gemini-cli-core';
import {
@@ -230,6 +231,13 @@ const listAction = async (
serverNames.includes(prompt.serverName as string),
) as DiscoveredMCPPrompt[];
const resourceRegistry = config.getResourceRegistry();
const mcpResources = resourceRegistry
.getAllResources()
.filter((entry) =>
serverNames.includes(entry.serverName),
) as DiscoveredMCPResource[];
const authStatus: HistoryItemMcpStatus['authStatus'] = {};
const tokenStorage = new MCPOAuthTokenStorage();
for (const serverName of serverNames) {
@@ -265,6 +273,13 @@ const listAction = async (
name: prompt.name,
description: prompt.description,
})),
resources: mcpResources.map((resource) => ({
serverName: resource.serverName,
name: resource.name,
uri: resource.uri,
mimeType: resource.mimeType,
description: resource.description,
})),
authStatus,
blockedServers: blockedMcpServers,
discoveryInProgress,