@@ -9,14 +9,16 @@ import styled from "styled-components"
99import AddRemoteServerForm from "./tabs/add-server/AddRemoteServerForm"
1010import InstalledServersView from "./tabs/installed/InstalledServersView"
1111import McpMarketplaceView from "./tabs/marketplace/McpMarketplaceView"
12+ import { convertProtoMcpServersToMcpServers } from "@shared/proto-conversions/mcp/mcp-server-conversion"
13+ import { McpServers } from "@shared/proto/mcp"
1214
1315type McpViewProps = {
1416 onDone : ( ) => void
1517 initialTab ?: McpViewTab
1618}
1719
1820const McpConfigurationView = ( { onDone, initialTab } : McpViewProps ) => {
19- const { mcpMarketplaceEnabled } = useExtensionState ( )
21+ const { mcpMarketplaceEnabled, setMcpServers } = useExtensionState ( )
2022 const [ activeTab , setActiveTab ] = useState < McpViewTab > ( initialTab || ( mcpMarketplaceEnabled ? "marketplace" : "installed" ) )
2123
2224 const handleTabChange = ( tab : McpViewTab ) => {
@@ -37,14 +39,22 @@ const McpConfigurationView = ({ onDone, initialTab }: McpViewProps) => {
3739 if ( mcpMarketplaceEnabled ) {
3840 McpServiceClient . refreshMcpMarketplace ( EmptyRequest . create ( { } ) )
3941 . then ( ( response ) => {
40- // Types are structurally identical, use response directly
4142 setMcpMarketplaceCatalog ( response )
4243 } )
4344 . catch ( ( error ) => {
4445 console . error ( "Error refreshing MCP marketplace:" , error )
4546 } )
4647
47- vscode . postMessage ( { type : "fetchLatestMcpServersFromHub" } )
48+ McpServiceClient . getLatestMcpServers ( EmptyRequest . create ( { } ) )
49+ . then ( ( response : McpServers ) => {
50+ if ( response . mcpServers ) {
51+ const mcpServers = convertProtoMcpServersToMcpServers ( response . mcpServers )
52+ setMcpServers ( mcpServers )
53+ }
54+ } )
55+ . catch ( ( error ) => {
56+ console . error ( "Failed to fetch MCP servers:" , error )
57+ } )
4858 }
4959 } , [ mcpMarketplaceEnabled ] )
5060
0 commit comments