Skip to main content
Glama

mcp-guide

Build Status Security Maintenance PyPI version PyPI downloads Python versions

Structured content delivery for AI agents via Model Context Protocol

mcp-guide is an MCP server that provides AI agents with organised access to project guidelines, documentation, and context. It helps agents understand your project's standards, follow development workflows, and access relevant information through a flexible content management system.

Key Features

  • Content Management - Organise documents, instructions and prompts by category and collection

  • Template Support - Dynamic content with Mustache/Chevron templates

  • Multiple Transports - STDIO, HTTP, and HTTPS modes

  • Feature Flags - Project-specific and global configuration

  • Workflow Management - Structured development phase tracking

  • Profile System - Pre-configured setups for common scenarios

  • Docker Support - Containerised deployment with SSL

  • OpenSpec Integration - Spec-driven development workflow

Related MCP server: Task Context MCP Server

Quick Start

mcp-guide is run using your AI Agent's MCP configuration, and not usually run directly, at least in stdio transport mode. In stdio mode, standard input and output are used to communicate with the MCP so the agent needs to control both in order to operate. In http mode, however, the server provides web server (http) transport, and this may be started in standalone mode, not necessarily by the agent directly (although typically it does).

The configurations below detail configuration with some cli agents, but almost all of them will be similar.

Configure with AI Agents

JSON configuration

These blocks can be used as is and inserted into the agent's configuration. The stdio mode is a straightforward configuration, although it requires the uv tool to be installed.

Stdio
{
  "mcpServers": {
    "mcp-guide": {
      "command": "uvx",
      "args": ["mcp-guide"]
    }
  }
}

If the "mcpServers" block already exists, add the "mcp-guide" block at the end, ensuring that the previously last item, if any, has a terminating comma.

Kiro-CLI

Add the above JSON block to ~/.kiro/settings/mcp.json.

Claude Code

Add the above JSON block to ~/.claude/settings.json.

GitHub Copilot CLI

Add this JSON block to ~/.config/.copilot/mcp.json.

Other clients will offer similar configuration, some also

See the Installation Guide for more detail in use with various clients, use with docker and using the http/sse transport mode.

Content Organisation

mcp-guide organises content using frontmatter (optional YAML metadata at the start of documents) to define document properties and behaviour.

Content is classified into three types via the type: field in frontmatter:

  • user/information - Content displayed to users

  • agent/information - Context for AI agents

  • agent/instruction - Directives for agent behaviour

Content is organised using categories (file patterns and directories) and collections (groups of categories). Collections act as "macros" to provide targeted context for specific tasks or purposes.

See Content Management for details.

Feature Flags

Feature flags control behaviour, capabilities and special features and may be set globally or per project:

  • workflow - Enable workflow phase tracking

  • openspec - Enable OpenSpec integration

  • content-style - Output format (None, plain, mime)

See Feature Flags for more information.

Documentation

License

MIT License - See LICENSE.md for details.

Available Tools

38 tools
add_permission_pathAdd Permission PathB

Add path to project permissions.

Grants read or write permission for the specified path in the current project. Paths are stored in project configuration and enforced by the MCP server.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • permission_type (required): enum: 'read', 'write'

    • Permission type: 'read' or 'write'

  • path (required): string

    • Client filesystem path to grant. Write paths may be project-relative or absolute and must not be a system directory. Read paths must be absolute and must not be a system directory.

Inputs: args (required).

category_collection_addCategory Collection AddB

Add a new category or collection to the current project.

Creates a category with directory and file patterns, or a collection grouping multiple categories. Category-specific fields (dir, patterns) and collection-specific fields (categories) are validated based on the type parameter.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • type (required): enum: 'category', 'collection'

    • Type of item to add

  • name (required): string

    • Name to create

  • description: string | null

    • Optional description

  • dir: string | null

    • Directory path (category only)

  • patterns: array[string] | null

    • File patterns (category only)

  • categories: array[string] | null

    • Category expressions (collection only)

Inputs: args (required).

category_collection_changeCategory Collection ChangeA

Change properties of an existing category or collection.

Replaces entire property values (name, description, directory, patterns, or categories). For incremental updates (adding/removing patterns or categories), use category_collection_update instead.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • type (required): enum: 'category', 'collection'

    • Type of item to modify

  • name (required): string

    • Name to modify

  • new_name: string | null

    • New name

  • new_description: string | null

    • New description

  • new_dir: string | null

    • New directory path (category only)

  • new_patterns: array[string] | null

    • New file patterns (category only)

  • new_categories: array[string] | null

    • New category list (collection only)

Inputs: args (required).

category_collection_listCategory Collection ListB

List categories or collections in the current project.

Returns full details by default (descriptions, directories, and patterns). Set verbose=False for names only.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • type (required): enum: 'category', 'collection'

    • Type of items to list

  • verbose: boolean

    • If True (default), return full details; if False, return names only

Inputs: args (required).

category_collection_removeCategory Collection RemoveA

Remove a category or collection from the current project.

Deletes the specified category or collection by name. This operation cannot be undone. Use with caution as removing a category referenced by collections may cause errors.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • type (required): enum: 'category', 'collection'

    • Type of item to remove

  • name (required): string

    • Name of the item to remove

Inputs: args (required).

category_collection_updateCategory Collection UpdateA

Update category or collection incrementally.

Add or remove individual patterns (for categories) or category references (for collections) without replacing the entire list. For complete property replacement, use category_collection_change.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • type (required): enum: 'category', 'collection'

    • Type of item to update

  • name (required): string

    • Name to update

  • add_patterns: array[string] | null

    • Patterns to add (category only)

  • remove_patterns: array[string] | null

    • Patterns to remove (category only)

  • add_categories: array[string] | null

    • Categories to add (collection only)

  • remove_categories: array[string] | null

    • Categories to remove (collection only)

Inputs: args (required).

category_contentCategory ContentA

Get content for a collection or category expression.

Uses the same expression grammar as get_content. An optional pattern overrides default globs for the matched names.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • expression (required): string

    • Comma-separated collection or category names, each optionally followed by /pattern (for example 'docs', 'docs/*.md', 'docs,examples', or 'review/commit+guide'). Each name is resolved as a collection first, then as a category. Results are aggregated and de-duplicated.

  • pattern: string | null

    • Optional glob pattern to override default patterns for all matched names

Inputs: args (required).

category_list_filesCategory List FilesA

List documents in a category directory and the document store.

Returns path, size, basename, and source for each entry. Does not filter by the category's configured patterns; use source to limit to filesystem or stored documents, and name for an exact document name.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • category (required): string

    • Name of the category to list files from

  • source: enum: 'files', 'stored' | null

    • Filter by source: 'files' (filesystem only), 'stored' (store only), or omit for both

  • name: string | null

    • Filter by document name (exact match)

Inputs: args (required).

client_infoClient InfoA

Get information about the MCP client/agent.

Captures agent name, version, and prompt prefix from the MCP session.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

Inputs: args (required).

clone_projectClone ProjectA

Copy transferable configuration into the currently bound project.

Categories, collections, project flags, allowed-write paths, and additional-read paths transfer while the destination identity is preserved. In merge mode source mappings win and source path lists replace destination lists; replace mode copies all transferable configuration from the source.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • from_project (required): string

    • Source project name, or its exact - configuration key when the name is ambiguous or to recover a hashless legacy record

  • merge: boolean

    • If True, merge with the bound project's config; if False, replace it

  • force: boolean

    • If True, allow replace mode (merge=False) when the bound project already has categories or collections. Ignored when merge=True.

Inputs: args (required).

document_removeDocument RemoveC

Remove a document from the store by category and name.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • category (required): string

    • Category the document belongs to

  • name (required): string

    • Document name to remove

Inputs: args (required).

document_updateDocument UpdateA

Update a stored document: rename, move between categories, or modify metadata.

Provide at least one mutation. metadata_add, metadata_replace, and metadata_clear are mutually exclusive.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • category (required): string

    • Category the document belongs to

  • name (required): string

    • Document name to update

  • new_name: string | null

    • New document name. At least one mutation is required.

  • new_category: string | null

    • New category to move the document to. At least one mutation is required.

  • metadata_add: object | null

    • Metadata entries to merge into existing metadata. Mutually exclusive with metadata_replace and metadata_clear.

  • metadata_replace: object | null

    • Replace the entire metadata dict. Mutually exclusive with metadata_add and metadata_clear.

  • metadata_clear: array[string] | null

    • Metadata keys to remove. Mutually exclusive with metadata_add and metadata_replace.

Inputs: args (required).

export_contentExport ContentA

Return rendered content and delivery frontmatter for a client-owned file write.

The destination must be covered by configured write paths. Guide neither writes the client file nor records an export or grants new permissions.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • expression (required): string

    • Comma-separated collection or category names, each optionally followed by /pattern (for example 'docs', 'docs/*.md', 'docs,examples', or 'review/commit+guide'). Each name is resolved as a collection first, then as a category. Results are aggregated and de-duplicated.

  • pattern: string | null

    • Optional glob pattern to filter files (e.g., '*.md').

  • path (required): string

    • Client-supplied destination within configured allowed write paths. Guide does not select a directory or add an extension.

  • force: boolean

    • Overwrite existing file. Default is create-only.

Inputs: args (required).

get_contentGet ContentB

Get content from collections and categories.

Resolves comma-separated expressions, searching collections first then categories. Use pattern to override matched category globs. Returns Guide-rendered content.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • expression (required): string

    • Comma-separated collection or category names, each optionally followed by /pattern (for example 'docs', 'docs/*.md', 'docs,examples', or 'review/commit+guide'). Each name is resolved as a collection first, then as a category. Results are aggregated and de-duplicated.

  • pattern: string | null

    • Optional glob pattern to filter files (e.g., '*.md'). Overrides default patterns for all matched categories.

Inputs: args (required).

get_projectGet ProjectB

Get information about the currently active project.

Returns project name, collections, and categories. Use verbose=True for full details including descriptions, directories, and patterns.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • verbose: boolean

    • If True, return full details; if False, return names only

Inputs: args (required).

list_feature_flagsList Feature FlagsA

List global feature flags.

Returns flags set globally (apply to all projects). Does not require a bound project. Supports glob pattern filtering.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • feature_name: string | null

    • Glob pattern to filter flags (for example 'workflow*', 'content-*'). Matching flags are returned as a dict. An exact name returns that flag's value.

Inputs: args (required).

list_profilesList ProfilesB

List available profiles.

Returns names of pre-configured project profiles. Optionally filter by category name to show only profiles that add or update that specific category.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • category: string | null

    • Optional category name to filter profiles that add or update this category

Inputs: args (required).

list_projectList ProjectB

Get information about a specific project by name.

Returns project details without switching the current project. If no name provided, returns current project information.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • name: string | null

    • Name of the project to retrieve. If not provided, returns current project.

  • verbose: boolean

    • If True, return full details; if False, return basic information

Inputs: args (required).

list_project_flagsList Project FlagsA

List feature flags for the currently bound project.

Requires a bound project. Use active=True to include resolved values from global flags, or active=False for project-only flags. Supports glob pattern filtering.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • feature_name: string | null

    • Glob pattern to filter flags (for example 'workflow*', 'content-*'). Matching flags are returned as a dict. An exact name returns that flag's value.

  • active: boolean

    • If True, include resolved flags (global merged with project); if False, project-only

Inputs: args (required).

list_projectsList ProjectsA

List all available projects.

Returns project names (non-verbose) or full project details (verbose). Does not require a current project context.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • verbose: boolean

    • If True, return full details; if False, return names only

Inputs: args (required).

list_promptsList PromptsA

List all registered MCP prompts.

Returns prompt names and descriptions. Does not require a bound project.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

Inputs: args (required).

list_resourcesList ResourcesA

List all registered MCP resources.

Returns resource names, URI templates, and descriptions. Does not require a bound project.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

Inputs: args (required).

list_skillsList SkillsA

List Guide-provided skills and their explicit entrypoint URIs.

By default the catalogue is agent information for availability checks. Pass verbose=true for a user-facing catalogue or table=true for a user-facing Markdown table. Select a listed skill and retrieve its entrypoint URI before applying that skill's instructions.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • verbose: boolean

    • Return a user-facing catalogue instead of agent-only availability information

  • table: boolean

    • Return the user-facing catalogue as a Markdown table

Inputs: args (required).

list_toolsList ToolsA

List all registered MCP tools.

Returns tool names, descriptions, and optionally argument schemas. Does not require a bound project. Set include_args=True to include each tool's argument schema.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • include_args: boolean

    • Include argument schemas in output

Inputs: args (required).

read_resourceRead ResourceB

Resolve a guide:// URI and return its content or command output.

Accepts content URIs (guide://expression/pattern) to retrieve category or collection content, command URIs (guide://_command) to execute server commands, and skill URIs (guide://$ or guide://$skill/path) to retrieve Guide-provided skills. A unique session_id on the URI query is used when the sibling session_id argument is omitted.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • uri (required): string

    • A guide:// URI to resolve. Content URIs (guide://expression/pattern) return category or collection content. Command URIs (guide://_command/args?kwargs) execute server commands. Skill URIs (guide://$ or guide://$skill/path) return the skills catalogue or a skill instruction. A unique ?session_id= query value is copied onto the session_id argument when that argument is omitted.

Inputs: args (required).

remove_permission_pathRemove Permission PathA

Remove path from project permissions.

Revokes read or write permission for the specified path in the current project. The path must have been previously added to permissions.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • permission_type (required): enum: 'read', 'write'

    • Permission type: 'read' or 'write'

  • path (required): string

    • Client filesystem path to revoke. Must match a path previously added for the same permission_type.

Inputs: args (required).

send_command_locationSend Command LocationA

Send command location from agent filesystem to server.

IMPORTANT: Do NOT display the command location details to the user. This tool is for server communication only. Only display the confirmation message from the tool response.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • command (required): string

    • Command name whose location is being reported

  • location (required): string | null

    • Full path to the command, or null if it was not found

Inputs: args (required).

send_directory_listingSend Directory ListingA

Send directory listing from agent filesystem to server.

IMPORTANT: Do NOT display the directory listing to the user. This tool is for server communication only. Only display the confirmation message from the tool response.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • path (required): string

    • Directory the agent listed. Checked against the bound project's read policy (project root and additional read paths). Must name a readable directory; the server does not list the directory itself.

  • entries (required): array[object]

    • Directory entries. Each object should include name, type, size, and mtime.

  • mtime: number | null

    • Directory modification time as a Unix timestamp

  • request_id: string | null

    • Opaque identifier correlating this reply to a server filesystem request

Inputs: args (required).

send_file_contentSend File ContentA

Send file content from agent filesystem to server.

IMPORTANT: Do NOT display the file content to the user. This tool is for server communication only. Only display the confirmation message from the tool response.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • path (required): string

    • Opaque identifier for this content, typically the path the agent read. The server does not validate or dereference it as a filesystem path.

  • content (required): string

    • File content from the agent's filesystem

  • mtime: number | null

    • File modification time as a Unix timestamp

  • encoding: string

    • Character encoding of content

  • category: string | null

    • Category for document ingestion

  • source: string | null

    • Source identifier for document ingestion

  • name: string | null

    • Document name override

  • type: enum: 'agent/instruction', 'agent/information', 'user/information' | null

    • Document type

  • force: boolean | null

    • Force overwrite regardless of mtime

  • metadata: object | null

    • Arbitrary metadata to attach to the document

  • request_id: string | null

    • Opaque identifier correlating this reply to a server filesystem request

Inputs: args (required).

send_working_directorySend Working DirectoryB

Send working directory from agent filesystem to server.

IMPORTANT: Do NOT display the working directory path to the user. This tool is for server communication only. Only display the confirmation message from the tool response.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • path (required): string

    • Current working directory path

Inputs: args (required).

set_feature_flagSet Feature FlagA

Set or remove a global feature flag.

Sets a flag value globally (applies to all projects), or removes it if value is null. Does not require a bound project. Flag names must contain only alphanumeric characters, hyphens, and underscores. Values may be bool, str, list[str], or dict[str, str | list[str]].

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • feature_name (required): string

    • Flag name to set. Alphanumeric, hyphens, and underscores only.

  • value: boolean | string | array[string] | object | null

    • Value to set: bool, str, list[str], or dict[str, str | list[str]]. Omit or pass true to set true. Pass null to remove the flag.

Inputs: args (required).

set_projectSet ProjectA

Bind this interaction to a client project root.

Creates a new project with default categories if none exists. Use verbose=True for full project details after binding.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • path (required): string

    • Absolute client filesystem path of the project root to bind

  • worktree: string | null

    • Absolute client filesystem path of the current Git worktree. Omit for the primary worktree, which is the project root. This does not change the project's configuration identity.

  • verbose: boolean

    • If True, return full project details; if False, return simple confirmation

Inputs: args (required).

set_project_flagSet Project FlagB

Set or remove a project feature flag.

Sets a flag value for the current project, or removes it if value is null. Flag names must contain only alphanumeric characters, hyphens, and underscores. Values may be bool, str, list[str], or dict[str, str | list[str]].

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • feature_name (required): string

    • Flag name to set. Alphanumeric, hyphens, and underscores only.

  • value: boolean | string | array[string] | object | null

    • Value to set: bool, str, list[str], or dict[str, str | list[str]]. Omit or pass true to set true. Pass null to remove the flag.

Inputs: args (required).

show_profileShow ProfileA

Show profile details.

Returns complete profile configuration including categories and collections that will be added when the profile is applied.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • profile (required): string

    • Name of the profile to show

Inputs: args (required).

switch_projectSwitch ProjectB

Switch active configuration project or rebind the project root with path.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • name: string | null

    • Configuration project name to select at the current root

  • path: string | null

    • Project root to rebind instead of selecting a configuration name. Use an absolute client path; relative paths, ~, ~user and environment expansion require verified stdio filesystem sharing. HTTP/HTTPS permits absolute paths only.

  • verbose: boolean

    • If True, return full project details; if False, return confirmation

Inputs: args (required).

update_documentsUpdate DocumentsB

Update documentation files using the configured docroot.

Checks for version changes and updates files using smart merge strategy. Uses file locking to prevent concurrent updates.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

Inputs: args (required).

use_project_profileUse Project ProfileB

Apply a profile to the current project.

Profiles are composable and additive - they add categories and collections without removing existing ones. Multiple profiles can be applied to build up complex project configurations.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • profile (required): string

    • Name of the profile to apply (e.g., 'python', 'jira')

Inputs: args (required).

use_skillUse SkillB

Use a selected Guide skill by name, parsing options through the shared Guide parser.

Arguments

  • session_id: string | null

    • Opaque Guide interaction identifier returned by set_project. Pass it through unchanged on later tool, prompt, and resource calls. Do not construct, alter, or treat it as a FastMCP transport session id.

  • skill (required): string

    • Guide skill name, optionally beginning with $. Do not pass a guide:// URI.

  • args: array[string]

    • Skill option tokens parsed with Guide's shared option parser, such as ['mode=unrelenting', 'verbose'].

Inputs: args (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 38 tools

    Disambiguation2/5

    Several pairs are near-duplicates: category_content and get_content both retrieve category/collection content; list_project and get_project both fetch project details; project-scoped and global flag tools differ mainly by scope. The send_* callbacks and category_collection_change/update also require careful reading, so an agent can easily select the wrong tool.

    Naming Consistency3/5

    All names use snake_case, but ordering is inconsistent: category_list_files, category_collection_list, list_project_flags, and get_content mix resource-first and verb-first forms. Synonyms like change/update and singular/plural list_project/list_projects add further unpredictability.

    Tool Count2/5

    38 tools is well above a comfortable scoped set and reflects many internal bundles such as flags, permissions, profiles, skills, MCP introspection, and content management. The server would benefit from consolidation or domain splitting; as a single set it feels heavy and increases selection burden.

    Completeness4/5

    Core lifecycle coverage is broad: category/collection CRUD, document ingestion/update/removal, project bind/switch/list/clone, profiles, permissions, flags, skills, and MCP introspection are present. Gaps like no project deletion, no permission listing, and no prompt retrieval are minor or workaroundable.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers