Skip to content

Commit 559475f

Browse files
committed
Add a summary of the use cases presented here: modelcontextprotocol#1772
1 parent e3a860b commit 559475f

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

seps/2084-primitive-groups.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,28 @@ Groups are named collections of MCP primitives: tools, prompts, resources, tasks
2626

2727
### Why use Groups?
2828

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:
3030

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.
3551

3652
## Specification
3753

0 commit comments

Comments
 (0)