feat(mcp): queue local OpenCode ingest jobs
Add optional write-capable MCP ingest tools for chunked uploads, SHA-verified completion, and asynchronous local OpenCode wiki-ingest jobs. The tools remain disabled by default and are gated by OBSIDIAN_MCP_ENABLE_INGEST or mcp_service.sh start --enable-ingest. Remote clients can upload files into the vault inbox, start a restricted fixed-prompt ingest job, poll job status/result, and cancel queued or running work. The implementation keeps arbitrary prompt and shell execution out of the MCP surface. 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:
@@ -49,6 +49,16 @@ OBSIDIAN_MCP_HOST=127.0.0.1
|
||||
OBSIDIAN_MCP_PORT=8765
|
||||
OBSIDIAN_MCP_PATH=/mcp
|
||||
|
||||
# Optional write-capable MCP ingest tools. Default is disabled.
|
||||
# When enabled, remote MCP clients sharing this token can upload files and
|
||||
# trigger a local `opencode run --auto` wiki-ingest job for those uploads.
|
||||
OBSIDIAN_MCP_ENABLE_INGEST=0
|
||||
OBSIDIAN_MCP_INGEST_MAX_FILE_BYTES=104857600
|
||||
OBSIDIAN_MCP_INGEST_MAX_CHUNK_BYTES=4194304
|
||||
OBSIDIAN_MCP_INGEST_MAX_FILES_PER_JOB=10
|
||||
OBSIDIAN_MCP_INGEST_OPENCODE_PATH=opencode
|
||||
OBSIDIAN_MCP_INGEST_RUNTIME_ROOT=.runtime/mcp-ingest
|
||||
|
||||
# Wiki categories (directories created in the vault)
|
||||
OBSIDIAN_CATEGORIES=concepts,entities,skills,references,synthesis,journal
|
||||
|
||||
|
||||
Reference in New Issue
Block a user