{"client":"Hermes Agent","server_name":"XMemo","surface":"hermes_native_plugin_plus_mcp","recommended_mode":"hermes_plugin_preferred","mcp_url":"https://xmemo.dev/mcp","discovery_url":"https://xmemo.dev/.well-known/agent-discovery.json","plugin":{"name":"hermes-xmemo","minimum_version":"1.1.1","repository_url":"https://github.com/yonro/hermes-xmemo-plugin","pypi_url":"https://pypi.org/project/hermes-xmemo/","role":"native Hermes memory provider for pre-turn recall, semantic search, memory mirroring, working state, and session snapshots","recommended":true,"install_commands":["npm install -g @xmemo/client","xmemo login","xmemo setup hermes"],"setup_modes":{"native":"xmemo setup hermes","native_with_mcp":"xmemo setup hermes --with-mcp","mcp_only":"xmemo setup hermes --mcp-only"},"manual_native_install":["pip install hermes-xmemo","hermes-xmemo install","hermes memory setup xmemo"],"manual_install":["clone https://github.com/yonro/hermes-xmemo-plugin","bash install.sh","hermes memory setup xmemo"],"config_files":{"provider_config":"$HERMES_HOME/xmemo.json","secret_env":"$HERMES_HOME/.env","plugin_dir":"$HERMES_HOME/plugins/xmemo"}},"automation_hint":{"if_user_provides_xmemo_dev":"read /.well-known/agent-discovery.json, then prefer the Hermes XMemo provider plugin when the active client is Hermes Agent","if_running_hermes":"run xmemo setup hermes; use --with-mcp only when an explicit MCP fallback should also be installed","if_mcp_only":"use the hosted MCP endpoint as a portable fallback, but explain that the native plugin gives Hermes pre-turn recall and memory mirroring","avoid_extra_user_burden":true},"requires_env":{},"optional_env":{"XMEMO_KEY":"Optional fallback for service deployments or raw MCP fallback. Shared credentials from xmemo login are supported.","MEMORY_OS_API_KEY":"Legacy XMemo token environment variable accepted by the Hermes plugin.","MEMORY_OS_MCP_TOKEN":"Legacy MCP token environment variable accepted by the Hermes plugin.","XMEMO_URL":"Optional XMemo base URL override. Defaults to https://xmemo.dev.","XMEMO_AGENT_INSTANCE_ID":"Optional non-secret stable local installation ID. The @xmemo/client setup helper auto-generates and persists this value for supported clients; manual snippets must set one unique value per local client/profile outside git.","XMEMO_BUCKET":"Optional default memory bucket for Hermes provider writes.","XMEMO_SCOPE":"Optional default memory scope for Hermes profile isolation."},"auth":{"preferred":"shared_xmemo_credential","shared_credential":{"supported":true,"source":"xmemo login / @xmemo/client credentials.json","fallback_env_vars":["XMEMO_KEY","MEMORY_OS_API_KEY","MEMORY_OS_MCP_TOKEN"]},"token_env_var":"XMEMO_KEY","token_in_config":false,"manual_fallback":{"type":"bearer","header":"Authorization","header_value_template":"Bearer <XMEMO_KEY>","token_env_var":"XMEMO_KEY","token_in_config":false}},"mcp_fallback":{"recommended_when":"Hermes plugin cannot be installed or a separate MCP-only tool surface is required","mcpServers":{"XMemo":{"url":"https://xmemo.dev/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${XMEMO_KEY}","X-Memory-OS-Agent-ID":"hermes","X-Memory-OS-Agent-Instance-ID":"${XMEMO_AGENT_INSTANCE_ID}"}}}},"mcpServers":{"XMemo":{"url":"https://xmemo.dev/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${XMEMO_KEY}","X-Memory-OS-Agent-ID":"hermes","X-Memory-OS-Agent-Instance-ID":"${XMEMO_AGENT_INSTANCE_ID}"}}},"agent_identity":{"agent_id":"hermes","agent_id_header":"X-Memory-OS-Agent-ID","agent_instance_id_header":"X-Memory-OS-Agent-Instance-ID","agent_instance_env_var":"XMEMO_AGENT_INSTANCE_ID","identity_headers_supported":true,"agent_instance_policy":"Generate one stable random value per local agent install/profile; Memory OS hashes it server-side and never treats it as a secret.","agent_instance_generation":{"automatic_cli_command":null,"manual_env_var":"XMEMO_AGENT_INSTANCE_ID","manual_value_format":"xmemo-hermes-<uuid>","persist_outside_git":true,"reuse_for_same_local_install":true},"note":"Hermes XMemo plugin uses agent_id=hermes by default and should persist one stable non-secret agent_instance_id per Hermes profile/install."},"plugin_mcp_relationship":{"plugin_layer":"native_memory_provider","mcp_layer":"portable_tool_fallback","best_user_path":"run xmemo login, then xmemo setup hermes; add --with-mcp only when Hermes also needs hosted MCP fallback"},"security":{"token_in_discovery":false,"token_in_url":false,"token_in_plugin_metadata":false,"plugin_secret_location":"$HERMES_HOME/.env or the user-scoped @xmemo/client credentials.json","mcp_fallback_uses_env_secret":true}}