@@ -5,7 +5,25 @@ description: "A list of applications that support MCP integrations"
55
66{ /* prettier-ignore-start */ }
77
8- export const FEATURES = [" Resources" , " Prompts" , " Tools" , " Discovery" , " Sampling" , " Roots" , " Elicitation" , " Instructions" , " Tasks" , " Apps" ];
8+ export const FEATURES = [" Resources" , " Prompts" , " Tools" , " Discovery" , " Instructions" , " Sampling" , " Roots" , " Elicitation" , " Tasks" , " Apps" ];
9+
10+ export const FEATURE_COLORS = {
11+ Resources: " blue" ,
12+ Prompts: " blue" ,
13+ Tools: " blue" ,
14+ Instructions: " purple" ,
15+ Discovery: " purple" ,
16+ Sampling: " green" ,
17+ Roots: " green" ,
18+ Elicitation: " green" ,
19+ Tasks: " orange" ,
20+ Apps: " orange" ,
21+ };
22+
23+ export const FeatureBadge = ({ feature }) => {
24+ const color = FEATURE_COLORS [feature .split (" (" )[0 ]] || " gray" ;
25+ return <Badge shape = " pill" stroke color = { color } >{ feature } </Badge >;
26+ };
927
1028export const filterStore = {
1129 state: {
@@ -143,6 +161,12 @@ export const McpClient = ({ name, homepage, supports, sourceCode, instructions,
143161 sourceCode ?? = homepage ;
144162 }
145163
164+ const features = (supports ?? " " ).split (" , " ).sort ((a , b ) => {
165+ const featureA = a .split (" (" )[0 ];
166+ const featureB = b .split (" (" )[0 ];
167+ return FEATURES .indexOf (featureA ) - FEATURES .indexOf (featureB );
168+ });
169+
146170 const instructionsLinks = Array .isArray (instructions )
147171 ? <>
148172 <strong >Configuration instructions:</strong >{ " " }
@@ -190,18 +214,23 @@ export const McpClient = ({ name, homepage, supports, sourceCode, instructions,
190214 #
191215 </a >
192216 </div >
193- { supports && (
194- <div className = " flex items-start gap-1.5 mt-2 text-base" >
195- <span className = " flex items-center h-[1lh]" >
196- <Icon icon = " check" iconType = " solid" size = { 18 } />
217+ { features .length > 0 && (
218+ <div className = " flex items-baseline gap-1.5 mt-2 text-base" >
219+ <span className = " inline-flex items-center h-[1lh]" >
220+ { ' \u200B ' } <Icon icon = " check" iconType = " solid" size = { 18 } />
221+ </span >
222+ <strong >Supports:</strong >
223+ <span className = " flex flex-wrap gap-1" >
224+ { features .map (feature => (
225+ <FeatureBadge key = { feature } feature = { feature } />
226+ ))}
197227 </span >
198- <span ><strong >Supports:</strong > { supports } </span >
199228 </div >
200229 )}
201230 { sourceCode && (
202- <div className = " flex items-start gap-1.5 mt-2 text-base" >
203- <span className = " flex items-center h-[1lh]" >
204- <Icon icon = " code" iconType = " solid" size = { 18 } />
231+ <div className = " flex items-baseline gap-1.5 mt-2 text-base" >
232+ <span className = " inline- flex items-center h-[1lh]" >
233+ { ' \u200B ' } <Icon icon = " code" iconType = " solid" size = { 18 } />
205234 </span >
206235 <span >
207236 <a href = { sourceCode } target = " _blank" rel = " noopener noreferrer" >
@@ -211,9 +240,9 @@ export const McpClient = ({ name, homepage, supports, sourceCode, instructions,
211240 </div >
212241 )}
213242 { instructions && (
214- <div className = " flex items-start gap-1.5 mt-2 text-base" >
215- <span className = " flex items-center h-[1lh]" >
216- <Icon icon = " gear" iconType = " solid" size = { 18 } />
243+ <div className = " flex items-baseline gap-1.5 mt-2 text-base" >
244+ <span className = " inline- flex items-center h-[1lh]" >
245+ { ' \u200B ' } <Icon icon = " gear" iconType = " solid" size = { 18 } />
217246 </span >
218247 <span >
219248 { instructionsLinks }
@@ -248,7 +277,20 @@ export const McpClient = ({ name, homepage, supports, sourceCode, instructions,
248277
249278{ /* prettier-ignore-end */ }
250279
251- This page provides an overview of applications that support the Model Context Protocol (MCP). Each client may support different MCP features, allowing for varying levels of integration with MCP servers.
280+ This page showcases applications that support the Model Context Protocol (MCP). Each client may support different MCP features:
281+
282+ | Feature | Description |
283+ | --------------------------------------- | --------------------------------------------------------- |
284+ | <FeatureBadge feature = " Resources" /> | Server-exposed data and content |
285+ | <FeatureBadge feature = " Prompts" /> | Pre-defined templates for LLM interactions |
286+ | <FeatureBadge feature = " Tools" /> | Executable functions that LLMs can invoke |
287+ | <FeatureBadge feature = " Discovery" /> | Support for tools/prompts/resources changed notifications |
288+ | <FeatureBadge feature = " Instructions" /> | Server-provided guidance for LLMs |
289+ | <FeatureBadge feature = " Sampling" /> | Server-initiated LLM completions |
290+ | <FeatureBadge feature = " Roots" /> | Filesystem boundary definitions |
291+ | <FeatureBadge feature = " Elicitation" /> | User information requests |
292+ | <FeatureBadge feature = " Tasks" /> | Long-running operation tracking |
293+ | <FeatureBadge feature = " Apps" /> | Interactive HTML interfaces |
252294
253295<Note >
254296
0 commit comments