Misc reconciliation and deployment — 2026-10-12

Parent: Misc MCP Server

Current working directory on kelp: /home/john/git/gdata-server/. Gravlax and pomelo source directories: /home/john/py/gdata-server/. All task artefacts have been moved out of /home/john/dbcerts/.

Investigation found SELECT-only code in kelp's original checkout, GitHub's two current branches, and gravlax's service source. Pomelo's working tree had uncommitted login-selection functionality. Gravlax's current source contradicts the September deployment record; an overwrite is possible but not established. Connector caching alone does not explain the observed old server source.

Committed and deployed: hello, pg_query, check, webdav, email_send, email_list, email_read, email_list_folders and plugin discovery. Existing external plugin modules were preserved on gravlax; all six Outlook tools were confirmed by authenticated MCP discovery.

Current deployed server version is 2.0.0. SQL login defaults to owntracks_ro and supports owntracks_rw and owntracks_adm through separate pools; PostgreSQL enforces permissions. Queries are not retried automatically. Monitoring uses the read-only pool. Unavailable pools are logged without preventing unrelated tools from starting. Removed the inaccurate 500-row-cap message.

Mail operations run in worker threads. IMAP connections have a 30-second connection timeout, reading selects folders read-only, nested plain-text MIME parts use their declared charset, list limits must be integers from 1 to 500, and list results provide stable UIDs for email_read(uid=...). Legacy seq_id remains supported. Sending uploads an RFC email to WebDAV; it is not SMTP.

Binding compatibility: --host and MISC_HOST retained, alongside --rest-host/--mcp-host and REST_HOST/MCP_HOST. Defaults remain 127.0.0.1.

Offline verification before deployment: 154 passed, 16 version-specific skips; syntax and git diff --check passed. Subsequent authenticated MCP transport checks verified initialization, discovery and database permissions using a disposable table, which was removed. No live mail or WebDAV mutation was performed.

cd /home/john/git/gdata-server
env PYTHONPATH="$PWD/tmp/misc-work/misc-test-deps" timeout 60 python3 -m pytest -q -p no:cacheprovider test_misc_versions.py test_misc_webdav.py test_misc_merged.py

No venv is used; the attempted partial venv was removed. asyncpg was installed only into tmp/misc-work/misc-test-deps for testing. Runtime dependencies include asyncpg, fastapi, mcp, uvicorn, httpx and webdav4. Local module dependencies are gdata_oauth.py, misc_webdav.py, imap_client.py and mcp_tool_plugins.py.

Task files: tmp/misc-work/CONTINUE.txt, frozen originals and comparison harness under tmp/misc-work/misc-comparison/, dependency directory above, and other investigation files under tmp/misc-work/. Test files at checkout root: test_misc_versions.py, test_misc_merged.py, existing test_misc_webdav.py. The original comparison reports describe the earlier snapshot run; the final 154/16 result belongs to the merged suite.

Deployment completed on gravlax on 2026-10-12. Misc 2.0.0 is committed and pushed to GitHub origin/m at c0b4fec; misc-mcp-server.service was restarted. Authenticated live MCP initialization advertises 2.0.0. Verified login schema, default/explicit owntracks_ro, owntracks_rw and owntracks_adm identities, default read-only write denial, rw CRUD, adm CREATE/DROP, RETURNING and empty row results. The disposable test table was removed.All known active checkouts and staging copies on kelp, gravlax and pomelo were synchronized from Git to c0b4fec, with matching misc_mcp_server.py SHA-256 533472ef4745a97140a8053777ba7ccc88fc837c16da0b8ca4866188ad3ad307. Pomelo was synchronized using a Git bundle because it could not resolve GitHub. Pomelo code synchronization does not imply a running or restarted service there. Existing local edits, external plugins and historical backups were preserved.Source restoration commit: 9732bc7; merge with newer origin/m: e1fca6e; explicit 2.0.0 version bump: c0b4fec. Gravlax rollback source: /home/john/py/gdata-server/.misc_mcp_server.py.backup-restore-20261012. Synchronization backups: /home/john/tmp/misc-git-sync-backup-20261012T131223Z/ on gravlax and /home/john/tmp/misc-git-sync-backup-20261012T131343Z/ on pomelo. Pomelo staging backup: /home/john/tmp/misc-deploy/misc_mcp_server.py.backup-20261012. Kelp browser edits remained separate. Connector refresh/reconnection has not been verified in the client; hello-to-version replacement remains an independent open request.

version 2  ·  created 2026-10-12  ·  updated 2026-10-12  ·  tags misc-server, handoff, testing