feat(mcp): add simplified ingest uploads

Add a one-shot IngestManager upload path, an ingest_file_base64 MCP tool, and an authenticated /mcp-ingest/uploads multipart HTTP endpoint so remote agents can transfer files without manual chunk orchestration.

Keep uploaded files in runtime staging outside the vault and let wiki-ingest/OpenCode decide archival, registry updates, and index rebuilds.

Update service output, docs, and agent rules to make the preferred upload path discoverable while preserving chunked tools as a fallback.

Validation: python3 -m unittest discover -v; python3 -m py_compile obsidian_wiki/mcp_ingest.py obsidian_wiki/mcp_server.py scripts/manage_mcp_service.py tests/test_mcp_ingest.py tests/test_mcp_server_remote.py tests/test_mcp_service.py; git diff --check
This commit is contained in:
Codex
2026-07-05 16:32:33 +00:00
parent ef2e44656d
commit d7daf2f210
9 changed files with 493 additions and 15 deletions
+3
View File
@@ -56,6 +56,9 @@ OBSIDIAN_MCP_ENABLED_TOOLS=file-assets
# After enabling, call the MCP tool `check_ingest_opencode_readiness` before
# the first upload; set run_smoke_test=true to verify OpenCode can load the
# project wiki-ingest skill without editing files.
# Preferred remote file upload path: POST multipart/form-data to
# /mcp-ingest/uploads with the same Authorization bearer token as /mcp. Agents
# can also call `get_ingest_upload_instructions` for exact fields/examples.
# Keep this runtime root outside OBSIDIAN_VAULT_PATH; uploads are staging inputs,
# and wiki-ingest decides how sources are archived into the vault.
# Prefer OBSIDIAN_MCP_ENABLED_TOOLS=file-assets,ingest for new configs. This