fix(mcp): pass ingest flag through service CLI

Ensure mcp_service.sh start --enable-ingest actually writes OBSIDIAN_MCP_ENABLE_INGEST=1 by forwarding the parsed flag to start_service.

Also stop the new-token command from referencing the start-only flag, and cover both CLI paths with regression tests.

Validation: python3 -m unittest discover -v; git diff --check
This commit is contained in:
Codex
2026-07-05 14:58:03 +00:00
parent b174df642f
commit 691e5aa8ea
2 changed files with 25 additions and 1 deletions
+1 -1
View File
@@ -406,7 +406,6 @@ def main(argv: Sequence[str] | None = None) -> int:
port=args.port,
path=args.path,
token_bytes=args.token_bytes,
enable_ingest=args.enable_ingest,
),
end="",
)
@@ -420,6 +419,7 @@ def main(argv: Sequence[str] | None = None) -> int:
port=args.port,
path=args.path,
token_bytes=args.token_bytes,
enable_ingest=args.enable_ingest,
),
end="",
)
+24
View File
@@ -225,6 +225,30 @@ class McpServiceConfigTests(unittest.TestCase):
]
)
def test_main_start_passes_enable_ingest_to_start_service(self):
with (
patch.object(manage_mcp_service, "start_service", return_value="config\n") as start_service,
patch("builtins.print") as print_fn,
):
status = manage_mcp_service.main(["start", "--enable-ingest"])
self.assertEqual(status, 0)
start_service.assert_called_once()
self.assertTrue(start_service.call_args.kwargs["enable_ingest"])
print_fn.assert_called_once_with("config\n", end="")
def test_main_new_token_does_not_expect_enable_ingest_argument(self):
with (
patch.object(manage_mcp_service, "new_token", return_value="config\n") as new_token,
patch("builtins.print") as print_fn,
):
status = manage_mcp_service.main(["new-token"])
self.assertEqual(status, 0)
new_token.assert_called_once()
self.assertNotIn("enable_ingest", new_token.call_args.kwargs)
print_fn.assert_called_once_with("config\n", end="")
def test_uninstall_service_removes_only_managed_files(self):
with tempfile.TemporaryDirectory() as tmp:
project_root = Path(tmp) / "project"