feat/mcp-resources-and-tool-coverage #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/mcp-resources-and-tool-coverage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the first cut from docs/extensions/mcp-resources-and-tool-coverage.md. ApplicationServices (the one place the aggregation lives): - repo_inventory() -> [RepoInfo]: every registry entry plus local facts (accessible, indexed_commit, note_count, shared checkout). Inaccessible repos are listed, marked accessible=False. - tags_taxonomy() -> TaxonomyInfo: the resolved tags taxonomy; never raises, reports configured/loaded/error instead. - backlinks(note_id) -> [Backlink]: reverse of follow_links, wrapping BacklinkStore, re-resolving each source through get_note and surfacing the per-link link_type. - new optional `registry_path` field so tags_taxonomy() can resolve the taxonomy file; the CLI passes it from _build_services(). MCP (mcp/resources.py holds the shared JSON projection): - resources zettel://registry, zettel://tags, zettel://repo/{shortname} - tools list_resources / read_resource (generic; read_resource rejects any URI outside the enumerated set), list_repos, get_tags_taxonomy, backlinks - registered both ways on purpose: client support for resources is uneven, tools are driven reliably. CLI: `zettel repos` and `zettel taxonomy` (both with --json). Docs: fixed the follow_links row in mcp-server.md (it does not return backlinks) and listed the new surface; AGENTS.md updated. +22 tests; full suite green (506). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CZQjS377gLWp3E4anrN2Yq