This page combines the Groups and Group Prompts sections from the formal specification.
Groups
A typical FlowMCP installation has hundreds of schemas with thousands of routes. Most projects only need a handful of specific tools. Groups solve this by letting you:- Select specific routes from any schema
- Name the collection for reuse
- Verify integrity with cryptographic hashes
- Share collections across projects and teams
Group Definition
Groups are defined in.flowmcp/groups.json:
Tool Reference Format
Tools are referenced asnamespace/schemaFile::routeName:
| Part | Description | Example |
|---|---|---|
namespace | Provider namespace | etherscan |
schemaFile | Schema filename | contracts.mjs |
routeName | Route name within the schema | getContractAbi |
etherscan/contracts.mjs::getContractAbi
Hash Verification
Integrity hashes ensure group definitions haven’t changed unexpectedly. When a schema is updated, the hash changes and verification fails. Per-tool hash — calculated from themain block only (no handler code):
Verification CLI
Group Operations
| Operation | Command | Description |
|---|---|---|
| Create | flowmcp group create <name> | Create empty group |
| Add tool | flowmcp group add <name> <tool-ref> | Add tool and recalculate hash |
| Remove tool | flowmcp group remove <name> <tool-ref> | Remove tool and recalculate hash |
| Verify | flowmcp group verify <name> | Check all hashes |
| List | flowmcp group list | Show all groups |
| Export | flowmcp group export <name> | Export as shareable JSON |
| Import | flowmcp group import <file> | Import from JSON (verifies hashes) |
Group Constraints
| Constraint | Value |
|---|---|
| Name pattern | ^[a-z][a-z0-9-]*$ (lowercase, hyphens allowed) |
| Max tools per group | 50 |
| All tools must be resolvable | Schema + route must exist |
| No duplicate tool references | Within a group |
| Tools can belong to multiple groups | Cross-group sharing allowed |
| Groups are project-local | Stored in .flowmcp/groups.json |
Sharing Groups
Prompts
Prompts bridge the deterministic tool layer with non-deterministic AI orchestration. Groups define which tools are available; prompts define how to use them together.Separation of Concerns
| Layer | Nature | Responsibility |
|---|---|---|
| Schema | Deterministic | Defines individual tool behavior |
| Group | Deterministic | Defines which tools are available |
| Prompt | Non-deterministic | Defines how tools compose into workflows |
Prompt File Format
Prompts are stored as.md files in .flowmcp/prompts/:
Required Sections
| Section | Heading | Required | Description |
|---|---|---|---|
| Title | # <title> | Yes | First line of the file |
| Description | ## Description | No | 1-3 sentences about the prompt |
| Input | ## Input | No | Parameters the user provides |
| Workflow | ## Workflow | Yes | Step-by-step instructions referencing tools |
| Output | ## Output | No | Final artifact description |
Example Prompt File
Group Config Extension
Prompts are declared in the group definition:Prompt CLI Commands
| Command | Description |
|---|---|
flowmcp prompt list | List all prompts across all groups |
flowmcp prompt search <query> | Search prompts by title or description |
flowmcp prompt show <group>/<name> | Display full prompt content |
flowmcp prompt add <group> <name> --file <path> | Add prompt to a group |
flowmcp prompt remove <group> <name> | Remove prompt from group |
Naming Conventions
| Element | Convention | Example |
|---|---|---|
| Prompt name (key) | Lowercase with hyphens | token-analysis |
| Prompt filename | Matches name + .md | token-analysis.md |
| Prompt title | Human-readable, title case | Standard Token Analysis |
| Prompt directory | Fixed path | .flowmcp/prompts/ |
Tool Reference Detection
The validator scans the## Workflow section for backtick-enclosed tool names. A word in backticks is a tool reference if it matches a route name in the group’s tools array.
Prompt Validation Rules
| Code | Rule |
|---|---|
| PRM001 | Prompt name must match ^[a-z][a-z0-9-]*$ |
| PRM002 | File must exist at declared path |
| PRM003 | File must have # Title (first line) |
| PRM004 | File must have ## Workflow section |
| PRM005 | Tool references must resolve in group (warning) |
| PRM006 | Group must have at least one tool |
| PRM007 | No duplicate prompt names within a group |
| PRM008 | Filename must match prompt name |