Agent Plugins Marketplace
← All plugins

canon-local

v0.6.0

Search and read project context from a local database you choose, scoped to one project.

Claude Code1 MCP serverstdio

By Zain Dana HarperLicense: FSL-1.1-MIT1 GitHub starsUpdated 6 days ago

Directory evidence

Runtimes
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 Claude Code

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install canon-local@agent-plugin-marketplace

Paste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.

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/canon

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.

Plugin files

canon-local/
├── .claude-plugin/plugin.json
└── .mcp.json

MCP servers1

canonstdio
command
python3
args
-I -S -B ${CLAUDE_PLUGIN_ROOT}/client-plugin/server/serve.py --context-db ${user_config.context_db} --workspace-id ${user_config.workspace_id} --project-id ${user_config.project_id} --context-write=${user_config.context_write}

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 manifests1

.claude-plugin/plugin.json
{
  "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": "./client-plugin/.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",
  "skills": "./client-plugin/skills/",
  "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"
}

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)