Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANON_DB_PATHNoPath to custom databaseBundled DB
CANON_LOG_JSONNoOutput logs in JSON formatfalse
CANON_LOG_LEVELNoLog level (DEBUG, INFO, WARNING, ERROR)INFO
CANON_EMBEDDING_DIMNoEmbedding vector dimensions (must match model)768
CANON_EMBEDDING_MODELNoFastembed model namenomic-ai/nomic-embed-text-v1.5-Q
CANON_FASTEMBED_THREADSNoONNX runtime threads for FastEmbed (lower = less RAM, slower)auto
CANON_FASTEMBED_PARALLELNoFastEmbed data-parallel workers (>1 increases RAM usage)disabled
CANON_FASTEMBED_BATCH_SIZENoEmbedding batch size during indexing (lower = less RAM, slower)256

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_best_practicesA

Semantic search for best practices across all guides or within a specific guide.

Use this tool when:

  • The user asks a conceptual question: "How to hash passwords?"

  • You need to find code patterns or recommendations

  • You want to deep dive into a specific guide (provide guide_id)

IMPORTANT: Always formulate queries in English for optimal search quality, even if the user's question is in another language.

Args: query: Natural language search query in English. Be specific and descriptive. guide_id: Optional guide ID to search within (e.g., 'python/django-security'). If provided, searches only within this guide (returns top 3 sections). If not provided, searches across all guides (returns top 5 results). namespace: Filter by technology (e.g., 'python', 'go'). Ignored if guide_id is set.

Returns: Relevant chunks with content and source information

search_suitable_guidesA

Find guides that match a task description.

Use this tool when:

  • You need to find the right guide for a specific task

  • The user describes a problem or goal

  • You want guide-level results, not chunk-level

IMPORTANT: Always formulate queries in English for optimal search quality, even if the user's question is in another language.

Args: query: Description of the task or goal in English namespace: Filter by technology

Returns: Top 3 matching guides with descriptions

read_full_guideA

Get the complete content of a guide.

Use this tool when:

  • You need the full context of a guide

  • The guide is short and you want everything

  • You're implementing a feature from scratch

Warning: Large guides (>20k chars) will be truncated. Use consult_guide_for_task for specific sections.

Args: guide_id: Guide ID (e.g., 'python/fastapi-production')

Returns: Full guide content or table of contents if truncated

Prompts

Interactive templates invoked by user choice

NameDescription
code_review Review code against Canon's best practices or a specific guide. Use this prompt when: - You want to review code for adherence to best practices - You have a specific guide to check against (provide guide_id) - You want to search for relevant patterns (leave guide_id empty)
implement_feature Get a step-by-step implementation plan following best practices. Use this prompt when: - You want to implement a feature correctly from the start - You have a specific guide to follow (provide guide_id) - You want to search for relevant guides (leave guide_id empty)
compare_approaches Compare two architectural approaches using Canon's knowledge base. Use this prompt when: - You need to choose between two approaches - You want an objective comparison based on best practices - You're evaluating trade-offs

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tripcher/canon'

If you have feedback or need assistance with the MCP directory API, please join our Discord server