mcp-canon
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-canonfind the guide for Python async patterns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-canon
Universal MCP knowledge server for LLM agents, powered by local RAG.
Use Canon to provide domain-specific best practices and playbooks across software engineering, marketing, video editing, and other knowledge areas.
Typical workflows:
Find the most suitable guide for a task
Retrieve concise best-practice snippets
Read full guides for deeper execution context
Quick Start
Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server
Pasting the following configuration into your Cursor ~/.cursor/mcp.json file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.
Cursor Local Connection
{
"mcpServers": {
"canon": {
"command": "uvx",
"args": ["mcp-canon"]
}
}
}
Cursor Local Connection With Custom Database
{
"mcpServers": {
"canon": {
"command": "uvx",
"args": ["mcp-canon"],
"env": {
"CANON_DB_PATH": "/path/to/my-db"
}
}
}
}Cursor Remote Server Connection
{
"mcpServers": {
"canon": {
"url": "http://localhost:8080/mcp"
}
}
}Run this command. See Claude Code MCP docs for more info.
Claude Code Local Connection
claude mcp add --scope user canon -- uvx mcp-canonCursor Local Connection With Custom Database
claude mcp add --scope user -e CANON_DB_PATH=/path/to/my-db canon -- uvx mcp-canonClaude Code Remote Server Connection
claude mcp add --scope user --transport http canon http://localhost:8080/mcpRemove
--scope userto install for the current project only.
Add this to your Opencode configuration file. See Opencode MCP docs for more info.
Opencode Local Connection
{
"mcp": {
"canon": {
"type": "local",
"command": ["uvx", "mcp-canon"],
"enabled": true
}
}
}Opencode Local Connection With Custom Database
{
"mcp": {
"canon": {
"type": "local",
"command": ["uvx", "mcp-canon"],
"enabled": true,
"environment": {
"CANON_DB_PATH": "/path/to/my-db"
}
}
}
}Opencode Remote Server Connection
"mcp": {
"context7": {
"type": "remote",
"url": "http://localhost:8080/mcp",
"enabled": true
}
}Run this command. See Gemini CLI MCP docs for more info.
Gemini CLI Local Connection
gemini mcp add --scope user canon uvx mcp-canonGemini CLI Local Connection With Custom Database
gemini mcp add --scope user -e CANON_DB_PATH=/path/to/my-db canon uvx mcp-canonGemini CLI Remote Server Connection
gemini mcp add --scope user --transport http canon http://localhost:8080/mcpRemove
--scope userto install for the current project only.
Go to the agent panel and open: ... -> MCP Servers -> Manage MCP Servers -> View raw config.
Add this to your mcp_config.json file. See Google Antigravity MCP docs for more info.
Google Antigravity Local Connection
{
"mcpServers": {
"canon": {
"command": "uvx",
"args": ["mcp-canon"]
}
}
}Google Antigravity Local Connection With Custom Database
{
"mcpServers": {
"canon": {
"command": "uvx",
"args": ["mcp-canon"],
"env": {
"CANON_DB_PATH": "/path/to/my-db"
}
}
}
}Related MCP server: CHARLIE
Create and index your own guides
Complete workflow from installation to running with your own domain guides.
Step 1: Install with indexing support
pip install "mcp-canon[indexing]"Step 2: Create library structure
my-library/
├── engineering/
│ └── python-fastapi-guide/
│ ├── INDEX.md # Required: metadata
│ └── GUIDE.md # Content
├── marketing/
│ └── launch-playbook/
│ ├── INDEX.md
│ └── GUIDE.md
└── video-editing/
└── shorts-workflow/
└── INDEX.md # Can reference external URLStep 3: Create guides
Step 4: Index your library
# Index to custom location
canon index --library ./my-library --output /path/to/my-db
# Validate frontmatter before indexing (optional)
canon validate --library ./my-libraryRunning as HTTP server
For remote access or multi-client scenarios, run Canon as an HTTP server. This is useful when multiple agents or teams share one cross-domain knowledge base.
Step 1: Install with HTTP support
pip install "mcp-canon[http]"Step 2: Start the server
# Default port 8080
canon serve
# Custom port and host
canon serve --port 3000 --host 0.0.0.0
# With custom database
CANON_DB_PATH=/path/to/db canon serve --port 8080Step 3: Configure MCP client
{
"mcpServers": {
"canon": {
"url": "http://localhost:8080/mcp"
}
}
}Environment Variables
Variable | Description | Default |
| Path to custom database | Bundled DB |
| Fastembed model name (supported models) |
|
| Embedding vector dimensions (must match model) |
|
| ONNX runtime threads for FastEmbed (lower = less RAM, slower) | auto |
| Embedding batch size during indexing (lower = less RAM, slower) |
|
| FastEmbed data-parallel workers ( | disabled |
| Log level (DEBUG, INFO, WARNING, ERROR) | INFO |
| Output logs in JSON format | false |
Note: Changing
CANON_EMBEDDING_MODELorCANON_EMBEDDING_DIMrequires a full reindex:canon index --library ./library
Change embedding model and dimensions
Internal constants EMBEDDING_MODEL_NAME and EMBEDDING_DIM are configured via:
CANON_EMBEDDING_MODELCANON_EMBEDDING_DIM
Example (using BAAI/bge-small-en-v1.5, 384 dims):
CANON_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5 \
CANON_EMBEDDING_DIM=384 \
canon index --library ./library --output ./my-dbWhere to find available models:
FastEmbed supported models: https://qdrant.github.io/fastembed/examples/Supported_Models/
FastEmbed model card and usage notes: https://qdrant.github.io/fastembed/
Important:
CANON_EMBEDDING_DIMmust match the selected model output size.After changing model or dimension, rebuild the index before running search/server commands.
MCP Tools
Tool | Description |
| Semantic search for best practices in any domain (optionally scoped by guide_id) |
| Find guides that match a task description across domains |
| Get complete guide content for full context |
CLI Commands
# Indexing
canon index --library ./library # Index guides from any domain (creates new DB)
canon index --library ./lib --append # Add to existing database
canon validate --library ./library # Validate frontmatter
# Server
canon serve --port 8080 # Start HTTP server (requires [http])
# Info
canon list # List indexed guides
canon info # Show database infoLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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