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
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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