sunpeak API
Overview
Returns a function to discover available resources on the originating MCP server. The request is proxied through the host. Supports pagination via cursor. Use useReadServerResource to read a discovered resource.
Wraps listServerResources MCP Apps SDK reference
Import
import { useListServerResources } from 'sunpeak' ;
Signature
function useListServerResources () : (
params ?: ListServerResourcesParams
) => Promise < ListServerResourcesResult | undefined >
ListServerResourcesParams
Pagination cursor from a previous response.
Returns
listServerResources
(params?: ListServerResourcesParams) => Promise<ListServerResourcesResult | undefined>
Function to list available server resources.
ListServerResourcesResult
Cursor for fetching the next page, if more results exist.
Usage
import { useListServerResources , useReadServerResource } from 'sunpeak' ;
import { useState , useEffect } from 'react' ;
function ResourceBrowser () {
const listServerResources = useListServerResources ();
const readServerResource = useReadServerResource ();
const [ resources , setResources ] = useState < Array <{ uri : string ; name : string }>>([]);
useEffect (() => {
listServerResources (). then ( result => {
if ( result ) setResources ( result . resources );
});
}, [ listServerResources ]);
const handleSelect = async ( uri : string ) => {
const result = await readServerResource ({ uri });
console . log ( 'Resource contents:' , result ?. contents );
};
return (
< ul >
{ resources . map ( r => (
< li key = { r . uri } >
< button onClick = { () => handleSelect ( r . uri ) } > { r . name } </ button >
</ li >
)) }
</ ul >
);
}