You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: seps/2084-primitive-groups.md
+21-5Lines changed: 21 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,12 +26,28 @@ Groups are named collections of MCP primitives: tools, prompts, resources, tasks
26
26
27
27
### Why use Groups?
28
28
29
-
Organizing a server's primitives by functionality or use case enables richer client workflows, wherein certain operations or settings can be applied to multiple primitives concurrently:
29
+
Organizing a server's primitives by functionality or use case enables richer client workflows, wherein certain operations or settings can be applied to multiple primitives concurrently. Some use cases identified by the community include:
30
30
31
-
-**Client-side filtering:** Client UIs could display a list of groups and allow users to select/deselect specific groups to interact with or ignore. Primitives from deselected groups would not be presented to the LLM.
32
-
-**Agentic control:** In-addition to human-affordances, clients can offer agents special tools which enable the LLM to dynamically enable / disable specific groups.
33
-
-**Simplify server instructions:** When describing how to use various primitives in a server, the instructions could refer to them by group name rather than exhaustive lists.
34
-
-**Access control:** Access to primitives could be granted at the group level, creating a consistent abstraction from security design to RPC layer.
31
+
#### Client-Side & User Organization
32
+
-**Client-side Filtering:** Client UIs could display a list of groups and allow users to select/deselect specific groups to interact with or ignore. Primitives from deselected groups would not be presented to the LLM.
33
+
34
+
-**Library Management:** Enabling users to create and manage organized Prompt and Resource libraries that can be shared or reused across different sessions.
35
+
36
+
-**Presentation and Search:** Improving how humans and AI models look up and discover tools. Grouping helps organize the interface so that relevant tools are easier to find among hundreds of options.
37
+
38
+
-**Workflow-Specific Context:** Providing a model with a "set" of tools and tasks specifically curated for a particular workflow, rather than overwhelming it with every available primitive.
39
+
40
+
#### Server-Side & Architectural Patterns
41
+
-**Gateway Facades:** Using a Gateway Server to wrap various backend services (REST APIs, databases, or legacy systems) into a single cohesive facade. For example, a group might dynamically expose a mix of tools from different MCP servers, APIs, REST services, etc.
42
+
43
+
-**Dynamic Orchestration:** Supporting the ability to add or remove groups and tools without restarting the server, which is essential for high-availability gateway environments.
44
+
45
+
-**Task Management:** Grouping the new Task primitive alongside tools and prompts to manage long-running workflows, sequencing, and concurrency.
46
+
47
+
#### Governance & Development Lifecycle
48
+
-**Governance and Security:** Providing a standardized mechanism for server-side governance of who can access specific sets of tools and resources.
49
+
50
+
-**Ecosystem Tooling:** Supporting broader developer workflows such as debugging, automated testing, and documentation by grouping related diagnostic tools together.
0 commit comments