MCPcopy Index your code
hub / github.com/modelcontextprotocol/inspector / MetadataTab

Function MetadataTab

client/src/components/MetadataTab.tsx:27–168  ·  view source on GitHub ↗
({
  metadata,
  onMetadataChange,
})

Source from the content-addressed store, hash-verified

25}
26
27const MetadataTab: React.FC<MetadataTabProps> = ({
28 metadata,
29 onMetadataChange,
30}) => {
31 const [entries, setEntries] = useState<MetadataEntry[]>(() => {
32 return Object.entries(metadata).map(([key, value]) => ({ key, value }));
33 });
34
35 const addEntry = () => {
36 setEntries([...entries, { key: "", value: "" }]);
37 };
38
39 const removeEntry = (index: number) => {
40 const newEntries = entries.filter((_, i) => i !== index);
41 setEntries(newEntries);
42 updateMetadata(newEntries);
43 };
44
45 const updateEntry = (
46 index: number,
47 field: "key" | "value",
48 value: string,
49 ) => {
50 const newEntries = [...entries];
51 newEntries[index][field] = value;
52 setEntries(newEntries);
53 updateMetadata(newEntries);
54 };
55
56 const updateMetadata = (newEntries: MetadataEntry[]) => {
57 const metadataObject: Record<string, string> = {};
58 newEntries.forEach(({ key, value }) => {
59 const trimmedKey = key.trim();
60 if (
61 trimmedKey &&
62 value.trim() &&
63 hasValidMetaPrefix(trimmedKey) &&
64 !isReservedMetaKey(trimmedKey) &&
65 hasValidMetaName(trimmedKey)
66 ) {
67 metadataObject[trimmedKey] = value.trim();
68 }
69 });
70 onMetadataChange(metadataObject);
71 };
72
73 return (
74 <TabsContent value="metadata">
75 <div className="space-y-4">
76 <div className="flex items-center justify-between">
77 <div>
78 <h3 className="text-lg font-semibold">Metadata</h3>
79 <p className="text-sm text-gray-600 dark:text-gray-400">
80 Key-value pairs that will be included in all MCP requests
81 </p>
82 </div>
83 <Button onClick={addEntry} size="sm">
84 <Plus className="w-4 h-4 mr-2" />

Callers

nothing calls this directly

Calls 6

hasValidMetaPrefixFunction · 0.90
isReservedMetaKeyFunction · 0.90
hasValidMetaNameFunction · 0.90
cnFunction · 0.90
updateEntryFunction · 0.85
removeEntryFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…