canon-local
v0.6.0Search and read project context from a local database you choose, scoped to one project.
By Zain Dana HarperLicense: FSL-1.1-MIT1 GitHub starsUpdated 6 days ago
Directory evidence
- Runtimes
- Codex and Claude Code
- Parsed components
- 1 skill or MCP entry
- Source updated
- Oct 15, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install canon-local for Codex and Claude Code
codex plugin marketplace add IchenDEV/agent-plugin-mkt
codex plugin marketplace upgrade agent-plugin-marketplace
codex plugin add canon-local@agent-plugin-marketplacePaste and run these commands in a terminal with Codex. They add and refresh the PluginsMP catalog, then install this plugin.
Compatibility: the page URL and API slug “canon-local-2” remain stable.
- Codex:
canon-local-2@agent-plugin-marketplace→canon-local@agent-plugin-marketplace
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/HarperZ9/canonClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is client-plugin/.
Plugin files
├── .codex-plugin/plugin.json├── .claude-plugin/plugin.json└── .mcp.json
MCP servers1
- command
- python3
- args
- -I -S -B ${PLUGIN_ROOT}/server/serve.py --context-db ${CANON_CONTEXT_DB} --workspace-id ${CANON_WORKSPACE_ID} --project-id ${CANON_PROJECT_ID}
MCP configuration uses runtime-provided plugin path placeholders such as ${PLUGIN_ROOT} or ${CLAUDE_PLUGIN_ROOT}. Review the manifest for the runtime-specific expansion rules.
Plugin manifests2
{
"author": {
"name": "Zain Dana Harper"
},
"description": "Search and read project context from a local database you choose, scoped to one project.",
"license": "FSL-1.1-MIT",
"mcpServers": "./mcp.json",
"name": "canon-local",
"skills": "./skills/",
"version": "0.6.0"
}{
"author": {
"name": "Zain Dana Harper"
},
"description": "Search and read project context from a local database you choose, scoped to one project.",
"displayName": "Canon",
"documentationUrl": "https://github.com/HarperZ9/canon/blob/main/docs/client-packages.md",
"homepage": "https://harperz9.github.io/canon.html",
"icon": "./.claude-plugin/icon.png",
"keywords": [
"context",
"project-memory",
"sqlite",
"search",
"local-first",
"retrieval"
],
"license": "FSL-1.1-MIT",
"name": "canon-local",
"privacyPolicyUrl": "https://harperz9.github.io/plugins/canon/privacy.html",
"repository": "https://github.com/HarperZ9/canon",
"supportUrl": "https://harperz9.github.io/plugins/canon/support.html",
"termsOfServiceUrl": "https://harperz9.github.io/plugins/canon/terms.html",
"userConfig": {
"context_db": {
"description": "Absolute path of the SQLite context database. Its parent folder must exist.",
"required": true,
"title": "Canon context database",
"type": "string"
},
"context_write": {
"default": false,
"description": "Allow storing context in the selected database and scope. Turn on for the first launch to create a new database.",
"title": "Allow context writes",
"type": "boolean"
},
"project_id": {
"description": "Every request stays bound to this project ID.",
"required": true,
"title": "Project ID",
"type": "string"
},
"workspace_id": {
"description": "Every request stays bound to this workspace ID.",
"required": true,
"title": "Workspace ID",
"type": "string"
}
},
"version": "0.6.0"
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[canon-local on Agent Plugins Marketplace](https://pluginsmp.com/plugins/canon-local-2)