Commands¶
The guide:// URI scheme provides the canonical command interface for direct access to MCP documents and functionality. Commands let you view project information, manage content, control workflows, and configure permissions. All commands follow a consistent structure with built-in help.
Prompt-style invocation may also be available in some clients, but this document uses guide:// as the primary form. See Guide URIs for details.
Note: If your client supports prompts, equivalent forms like @<prompt> :status or /<prompt> :status may also work. The exact prompt name can vary.
Command Structure¶
Commands are invoked with this syntax:
guide://_command[/args][?flags]
Flag Syntax:
Commands support two syntaxes for flags with values:
- --flag=value (always supported)
- --flag value (supported when flag is declared with argrequired)
Examples:
guide://_help
guide://_status
guide://_project
guide://_flags
guide://_create/category/docs
guide://_workflow/issue?tracking=MRP-177
guide://_flags/project/set/workflow?value=true
Discovery with guide://_help¶
The guide://_help command resource is your primary discovery mechanism. Use it to explore available commands and their usage:
guide://_help # Show all available commands grouped by category
guide://_help/flags # Show detailed help for a specific command
Recommended pattern:
1. Start with guide://_help to see available commands
2. Use guide://_help/<command> for specific command usage
3. Execute the command
4. Use guide://_help again to discover related commands
Core Information Commands¶
guide://_status
Shows system status and current project information including active project, workflow phase (if enabled), and OpenSpec integration status.
guide://_project (:info/project, :project/info)
Displays comprehensive project information including project name, categories, collections, feature flags, and filesystem permissions. Use --verbose or -v for detailed output including all category patterns.
guide://_flags
Shows all feature flags affecting the current project - feature flags (apply to all projects by default), project-specific flags (override feature flags), and resolved values (what the agent actually sees). Lists available flags with their scope restrictions (Project only, Feature only, or both).
guide://_system (:info/system)
Displays system information for both the MCP server and the agent's client environment. Server information (OS, platform, hostname, Python version, working directory) is always shown. Client information (agent's OS, hostname, user, git remotes) requires the allow-client-info feature flag to be enabled.
The allow-client-info Feature Flag¶
Client information collection is gated behind the allow-client-info feature flag due to privacy concerns. This flag is normally set globally (affects all projects) and defaults to false. It collects information about the agent's environment (OS, hostname, user) and requires explicit opt-in to respect user privacy. Ask the agent to set the allow-client-info feature flag to true to enable it.
Project Management Commands¶
Category Management¶
guide://_project/category (:category)
Shows category overview with list of current categories and available commands.
guide://_project/category/list (:category/list)
Lists all categories in the current project. Use --verbose for detailed information including directories and patterns.
guide://_project/category/add (:category/add)
Creates a new category for organising project content. Categories define directories and file patterns for content discovery.
Examples:
guide://_category/add/docs
guide://_category/add/docs?dir=documentation&patterns=README,CONTRIBUTING
guide://_category/add/testing?description=Testing%20Guidelines
Parameters:
- name (required) - Category name
- --dir=<path> - Directory path (defaults to category name)
- --patterns=<patterns> - Comma-separated file patterns (e.g., README,CONTRIBUTING,test_)
- --description=<text> - Human-readable description
guide://_project/category/remove (:category/remove)
Removes a category from the project.
guide://_project/category/change (:category/change)
Changes category properties.
Examples:
guide://_category/change/docs?new-name=documentation
guide://_category/change/docs?new-dir=doc&new-patterns=README,INSTALL
guide://_project/category/update (:category/update)
Updates category patterns incrementally without replacing all properties.
Examples:
guide://_category/update/docs?add-patterns=CHANGELOG,AUTHORS
guide://_category/update/docs?remove-patterns=old-file
guide://_project/category/files (:category/files)
Lists all files in a category directory.
Collection Management¶
guide://_project/collection (:collection)
Shows collection overview with list of current collections and available commands.
guide://_project/collection/list (:collection/list)
Lists all collections in the current project. Use --verbose for detailed information including categories and descriptions.
guide://_project/collection/add (:collection/add)
Creates a new collection that groups multiple categories or other collections together.
Examples:
guide://_collection/add/docs
guide://_collection/add/api-docs?categories=code,examples
guide://_collection/add/beginner?categories=docs,examples&description=Getting%20started%20content
Parameters:
- name (required) - Collection name
- --categories=<categories> - Comma-separated category or collection names
- --description=<text> - Human-readable description
guide://_project/collection/remove (:collection/remove)
Removes a collection from the project.
guide://_project/collection/change (:collection/change)
Changes collection properties.
Examples:
guide://_collection/change/docs?new-name=documentation
guide://_collection/change/docs?new-categories=guide,lang,context
guide://_project/collection/update (:collection/update)
Updates collection categories incrementally.
Examples:
guide://_collection/update/docs?add-categories=context
guide://_collection/update/docs?remove-categories=old-category
Collections enable logical grouping of related content for easier access through guide:// expressions.
Feature Flag Commands¶
Project Flags¶
guide://_flags/project
Shows project flag overview and available commands.
guide://_flags/project/list (:flags/project/list)
Lists all project-specific feature flags. Use --active to show only active flags.
guide://_flags/project/get (:flags/project/get)
Gets the value of a specific project flag.
Example:
guide://_flags/project/get/workflow
guide://_flags/project/set (:flags/project/set)
Sets a project-specific feature flag value.
Examples:
guide://_flags/project/set/workflow
guide://_flags/project/set/workflow/false
guide://_flags/project/set/content-format?value=mime
guide://_flags/project/remove (:flags/project/remove)
Removes a project-specific flag override, reverting to the feature flag value.
Example:
guide://_flags/project/remove/workflow
Feature Flags¶
guide://_flags/feature
Shows feature flag overview and available commands.
guide://_flags/feature/list (:flags/feature/list)
Lists all feature flags (apply across all projects). Use --active to show only active flags.
guide://_flags/feature/get (:flags/feature/get)
Gets the value of a specific feature flag.
Example:
guide://_flags/feature/get/autoupdate
guide://_flags/feature/set (:flags/feature/set)
Sets a feature flag value.
Examples:
guide://_flags/feature/set/workflow
guide://_flags/feature/set/workflow/false
guide://_flags/feature/set/content-format?value=mime
guide://_flags/feature/remove (:flags/feature/remove)
Removes a feature flag.
Example:
guide://_flags/feature/remove/autoupdate
Available Flags¶
- workflow - Enable workflow phase tracking (Project and Feature)
- openspec - Enable OpenSpec integration (Project and Feature)
- content-style - Markdown formatting: plain, headings, or full (Project and Feature)
- content-format - Content MIME type: text or mime (Project and Feature)
- autoupdate - Automatic content updates (Feature only)
Document Commands¶
Document commands let you manage stored documents — content that lives in the document store rather than as files on disk. See Stored Documents for the full picture.
guide://_document
Shows available document commands.
guide://_document/add <category> <path>
Adds a local file to the document store in the specified category.
Examples:
guide://_document/add/docs/%2Fpath%2Fto%2Ffile.md
guide://_document/add/docs/%2Fpath%2Fto%2Ffile.md?as=custom-name
guide://_document/add/docs/%2Fpath%2Fto%2Ffile.md?force
guide://_document/add/docs/%2Fpath%2Fto%2Ffile.md?agent-instruction
guide://_document/add-url <category> <url>
Fetches content from a URL and stores it in the specified category.
Examples:
guide://_document/add-url/docs/https%3A%2F%2Fexample.com%2Fapi-reference
guide://_document/add-url/docs/https%3A%2F%2Fexample.com%2Fguide?as=api-guide
guide://_document/list <category>
Lists stored documents in a category.
guide://_document/show <category> <name>
Displays the content of a stored document.
guide://_document/update <category> <name>
Updates a stored document's name, category, or metadata.
guide://_document/remove <category> <name>
Removes a stored document from a category.
Export Commands¶
Export commands manage tracked content exports — rendered content saved to files for knowledge persistence. See Content Management for how exports work.
guide://_export/add <expression> <path>
Exports rendered content to a file and tracks it.
Examples:
guide://_export/add/docs/documentation.md
guide://_export/add/architecture/arch.md?force
guide://_export/list
Lists all tracked exports with their expression, path, and staleness status.
guide://_export/remove <expression>
Removes an export tracking entry (does not delete the exported file).
Filesystem Permissions¶
mcp-guide implements built-in security controls to ensure agent instructions don't transgress security boundaries outside the project.
Security Model¶
Read permissions:
- Project directory: Always readable (default)
- Additional paths: Must be explicitly allowed via additional_read_paths in .guide.yaml
- System directories: Always blocked (e.g., /etc, /System, C:\Windows)
Write permissions:
- Controlled by allowed_write_paths in .guide.yaml
- Paths must be relative to project root
- Must end with trailing slash for directories (e.g., src/, docs/)
- Default: Empty list (no writes allowed outside explicit configuration)
Temporary files: - Safe temp paths are allowed for read/write - System validates temp directory safety
Viewing Permissions¶
guide://_project/perm (:perm)
Shows current filesystem permissions configuration for the project - read permissions (project directory + additional paths) and write permissions (allowed write paths).
Managing Permissions¶
Permissions are configured in .guide.yaml:
allowed_write_paths:
- src/
- docs/
additional_read_paths:
- /absolute/path/to/external/docs
Write paths:
- Must be relative to project root
- Can be specific files or directories (end with / for directories)
- Examples: src/, docs/, config.json, .guide.yaml
Read paths:
- Must be absolute paths
- Cannot be system directories
- Examples: /Users/name/external, /home/user/docs
Security Violations¶
When an agent attempts to read or write outside permitted paths, the operation is blocked, a SecurityError is raised, the violation is logged, and the agent receives an error message. This ensures that even if an agent is instructed to access restricted paths, the MCP server enforces security boundaries.
Workflow Commands¶
When the workflow feature flag is enabled, additional workflow commands become available. See Workflows for complete documentation.
OpenSpec Commands¶
When OpenSpec integration is enabled, OpenSpec commands provide access to spec-driven development features. See OpenSpec Integration for complete documentation.