MCPcopy Create free account
hub / github.com/modelcontextprotocol/inspector / ResourcesTab

Function ResourcesTab

client/src/components/ResourcesTab.tsx:22–300  ·  view source on GitHub ↗
({
  resources,
  resourceTemplates,
  listResources,
  clearResources,
  listResourceTemplates,
  clearResourceTemplates,
  readResource,
  selectedResource,
  setSelectedResource,
  resourceSubscriptionsSupported,
  resourceSubscriptions,
  subscribeToResource,
  unsubscribeFromResource,
  handleCompletion,
  completionsSupported,
  resourceContent,
  nextCursor,
  nextTemplateCursor,
  error,
}: {
  resources: Resource[];
  resourceTemplates: ResourceTemplate[];
  listResources: () => void;
  clearResources: () => void;
  listResourceTemplates: () => void;
  clearResourceTemplates: () => void;
  readResource: (uri: string) => void;
  selectedResource: Resource | null;
  setSelectedResource: (resource: Resource | null) => void;
  handleCompletion: (
    ref: ResourceReference | PromptReference,
    argName: string,
    value: string,
    context?: Record<string, string>,
  ) => Promise<string[]>;
  completionsSupported: boolean;
  resourceContent: string;
  nextCursor: ListResourcesResult["nextCursor"];
  nextTemplateCursor: ListResourceTemplatesResult["nextCursor"];
  error: string | null;
  resourceSubscriptionsSupported: boolean;
  resourceSubscriptions: Set<string>;
  subscribeToResource: (uri: string) => void;
  unsubscribeFromResource: (uri: string) => void;
})

Source from the content-addressed store, hash-verified

20import IconDisplay, { WithIcons } from "./IconDisplay";
21
22const ResourcesTab = ({
23 resources,
24 resourceTemplates,
25 listResources,
26 clearResources,
27 listResourceTemplates,
28 clearResourceTemplates,
29 readResource,
30 selectedResource,
31 setSelectedResource,
32 resourceSubscriptionsSupported,
33 resourceSubscriptions,
34 subscribeToResource,
35 unsubscribeFromResource,
36 handleCompletion,
37 completionsSupported,
38 resourceContent,
39 nextCursor,
40 nextTemplateCursor,
41 error,
42}: {
43 resources: Resource[];
44 resourceTemplates: ResourceTemplate[];
45 listResources: () => void;
46 clearResources: () => void;
47 listResourceTemplates: () => void;
48 clearResourceTemplates: () => void;
49 readResource: (uri: string) => void;
50 selectedResource: Resource | null;
51 setSelectedResource: (resource: Resource | null) => void;
52 handleCompletion: (
53 ref: ResourceReference | PromptReference,
54 argName: string,
55 value: string,
56 context?: Record<string, string>,
57 ) => Promise<string[]>;
58 completionsSupported: boolean;
59 resourceContent: string;
60 nextCursor: ListResourcesResult["nextCursor"];
61 nextTemplateCursor: ListResourceTemplatesResult["nextCursor"];
62 error: string | null;
63 resourceSubscriptionsSupported: boolean;
64 resourceSubscriptions: Set<string>;
65 subscribeToResource: (uri: string) => void;
66 unsubscribeFromResource: (uri: string) => void;
67}) => {
68 const [selectedTemplate, setSelectedTemplate] =
69 useState<ResourceTemplate | null>(null);
70 const [templateValues, setTemplateValues] = useState<Record<string, string>>(
71 {},
72 );
73
74 const { completions, clearCompletions, requestCompletions } =
75 useCompletionState(handleCompletion, completionsSupported);
76
77 useEffect(() => {
78 clearCompletions();
79 }, [clearCompletions]);

Callers

nothing calls this directly

Calls 5

useCompletionStateFunction · 0.90
subscribeToResourceFunction · 0.85
unsubscribeFromResourceFunction · 0.85
readResourceFunction · 0.50

Tested by

no test coverage detected