Skip to content

feat(wiki): add private MCP writes and folder imports - #88

Merged
humandebri merged 24 commits into
mainfrom
feat/private-mcp-writes
Aug 12, 2026
Merged

feat(wiki): add private MCP writes and folder imports#88
humandebri merged 24 commits into
mainfrom
feat/private-mcp-writes

Conversation

@humandebri

@humandebri humandebri commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Purpose

  • Enable authenticated agents to safely update private Kinic Wiki content and let users import local folders and PDFs in bulk.

Changes

  • Add the writer-gated mutate_nodes_batch VFS API and expose only two batch mutation tools, write_nodes and mutate_nodes_batch, through the staging MCP worker.
  • Enforce etag checks, indexed conflict details, and transaction rollback so failed batches do not partially update a database.
  • Map OAuth mcp:write access to the Internet Identity Actions & questions grant while keeping Questions only sessions read-only, and add a fail-closed write policy with V3 auth state.
  • Add cancellable Wiki Browser folder import for Markdown, text, and locally extracted PDF content, with validation, deterministic explorer sorting, and bulk node writes.
  • Regenerate the Candid and TypeScript VFS bindings, expand staging smoke coverage and documentation, and update the related JavaScript dependencies.

Staging

Verification

  • GitHub Actions passed the canister build, Rust, Wiki MCP, Wiki Browser, extension, skill registry, wiki generator, regression-group, and macOS/Linux CLI artifact checks.
  • The iOS and IC SQLite canister probe jobs were skipped by their workflow conditions.

Impact

  • Production MCP remains public and read-only. Staging mutations require both the mcp:write scope and an Internet Identity Actions & questions grant.
  • Deploying the V3 auth-state migration invalidates existing staging OAuth clients and sessions, so connected clients must register and connect again.
  • The VFS Candid interface gains mutate_nodes_batch; existing single-node operations remain available.

@humandebri humandebri changed the title Add authenticated private MCP writes and folder import support feat(wiki): add private MCP writes and folder imports Aug 7, 2026
@humandebri
humandebri changed the base branch from main to feat/wikibrowser-explorer-sort August 7, 2026 02:06
Base automatically changed from feat/wikibrowser-explorer-sort to main August 7, 2026 05:36
@humandebri
humandebri marked this pull request as ready for review August 12, 2026 00:40
@humandebri
humandebri merged commit cc41c91 into main Aug 12, 2026
25 of 26 checks passed
@humandebri
humandebri deleted the feat/private-mcp-writes branch August 12, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant