{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hg9r4rsbffyw","handle":"canon-keeper-mcp","url":"https://wellknown.network/agents/canon-keeper-mcp","links":{"self":"https://wellknown.network/agents/canon-keeper-mcp/record.json","html":"https://wellknown.network/agents/canon-keeper-mcp","markdown":"https://wellknown.network/agents/canon-keeper-mcp/record.md","api":"https://wellknown.network/api/v1/agents/canon-keeper-mcp","status":"https://wellknown.network/api/v1/agents/canon-keeper-mcp/status","claim":"https://wellknown.network/agents/canon-keeper-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/canon-keeper-mcp/claim.json","badge":"https://wellknown.network/agents/canon-keeper-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:canon-keeper-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"canon-keeper-mcp","summary":"MCP server for persisting learnings from Copilot conversations - no API key required","description":"# Canon Keeper MCP Server\n\nAn MCP (Model Context Protocol) server that persists learnings from Copilot conversations to `copilot-instructions.md`.\n\n**No API key required!** Copilot extracts learnings using its own LLM, this tool handles deduplication and formatting.\n\n## Quick Install\n\n```bash\npip install canon-keeper-mcp\npython -m canon_keeper_mcp install\n\n# Or specify a workspace\npython -m canon_keeper_mcp install --workspace /path/to/project\n```\n\nThe installer will:\n\n1. ✅ Configure `.vscode/mcp.json` with the canon-keeper server\n2. ✅ Enable MCP in `.vscode/settings.json`\n3. ✅ Create/update `.github/copilot-instructions.md` with:\n   - Memory Persistence Protocol (`@History` directive)\n   - Best practices template\n   - Session Learnings Log table\n\n## Features\n\n- **Zero Configuration**: No API keys needed - uses Copilot's built-in LLM\n- **Smart Deduplication**: Uses Jaccard similarity to avoid duplicate entries\n- **Simple Integration**: Works with Copilot's existing capabilities\n- **Markdown Formatting**: Returns properly formatted table rows for the Session Learnings Log\n\n## Usage\n\nAfter installation, reload VS Code and use these trigger phrases in any Copilot chat:\n\n```\nUser: @History save what we learned\nUser: save this learning  \nUser: remember this\nUser: add to memory\n```\n\nCopilot will:\n\n1. Extract learnings from the conversation (using its own LLM)\n2. Call the MCP tool to deduplicate against existing entries\n3. Append new learnings to your `copilot-instructions.md`\n4. Report what was saved/skipped\n\n## Manual Installation\n\nIf you prefer to install manually:\n\n### 1. Install the package\n\n```bash\npip install canon-keeper-mcp\n```\n\n### 2. Configure MCP server\n\nAdd to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"canon-keeper\": {\n      \"type\": \"stdio\",\n      \"command\": \"/path/to/your/python\",\n      \"args\": [\"-m\", \"canon_keeper_mcp\"]\n    }\n  }\n}\n```\n\n> **Note:** Replace `/path/to/your/python` with the absolute path to your Python executable (e.g., `C:/Users/You/p…","publisher":null,"homepage":"https://github.com/phantom-man/canon_keeper_mcp/blob/main/README.md","repository":"https://github.com/phantom-man/canon_keeper_mcp/blob/main/README.md","version":"0.1.6","license":"MIT","protocols":["mcp"],"tags":["ai","copilot","github","mcp","memory","session"],"pricing":null,"endpoints":[{"url":"pypi:canon-keeper-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"declared"},{"slug":"knowledge.memory","name":"Agent Memory","confidence":1,"provenance":"declared"}],"categories":["dev","knowledge"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"canon-keeper-mcp","registry":"pypi","observedAt":"2026-09-09T11:32:12.775Z","publishedAt":"2026-01-18T16:19:13.227930Z","latestVersion":"0.1.6"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"canon-keeper-mcp","url":"https://pypi.org/project/canon-keeper-mcp/","firstSeenAt":"2026-09-09T11:29:32.403Z","fetchedAt":"2026-09-09T11:29:32.403Z","normalizedAt":"2026-09-09T11:29:32.403Z"}]},"firstSeenAt":"2026-09-09T11:29:32.403Z","updatedAt":"2026-09-09T11:32:12.775Z"}