feat: add Trilium MCP over Nebula #69
No reviewers
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config!69
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/trilium-mcp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
perfectra1n/triliumnext-mcpv0.2.7 in Nix.10.10.0.3:8781.Validation
nix build .#nixosConfigurations.lyra.config.system.build.toplevel --no-linknix flake checkBoth passed. The service has not been deployed yet; live validation remains after merge.
Review follow-up: the initial implementation relied on Nebula membership as the sole trust boundary, while leaving
trilium/mcp-gateway-tokendormant. During review we decided the MCP server's read/write power justified application-layer defense in depth as well.Resolved in
df53e11:triliumnext-mcpwith bearer authentication enabled.Authorizationheader with OAuth auto-discovery disabled.Validation completed:
git diff --checkcodex mcp add/getround-trip confirmedbearer_token_env_var = TRILIUM_MCP_GATEWAY_TOKENnix flake checknix build .#nixosConfigurations.lyra.config.system.build.toplevel --no-linkLive endpoint validation remains deployment evidence: confirm a headerless
/mcprequest returns 401, then perform an authenticated MCP read/write smoke test.Pre-merge live canary completed on Lyra at
df53e1164fa9fe96c5ca5970d8c9b3349c52bfbeusingjust testunder an auto-update hold.Live evidence:
df53e11.trilium-mcp,trilium-mcp-proxy,paseo, andopencodeare active; Lyra has no failed systemd units.gateway_auth="bearer (1 token(s))"./healthreturns 200 both directly and through10.10.0.3:8781.unauthorized.unauthorized.tools/list: HTTP 200 with all 19 tools.search_notescall for a deliberately nonexistent canary title: HTTP 200,isError=false, empty result set.bearer_token_env_var=TRILIUM_MCP_GATEWAY_TOKEN.opencode mcp listreportstrilium connected.No Trilium data was created, changed, or deleted during validation. The Lyra auto-update hold remains active pending restoration/merge handling.