An adapter should make the shared Elastic Docs skills and MCP servers work in one additional coding-agent harness without changing unrelated user settings.
-
Add a host ID, label, and executable used for detection in
internal/hosts/hosts.go. Keep the ID stable: it is persisted in user state and accepted by--host. -
Add the host branch to
adapters.Syncininternal/adapters/adapters.go. Prefer the harness CLI when it has a supported user-scoped MCP command; otherwise merge its documented user configuration file atomically. -
Configure the public
elastic-docsserver and the optionalelastic-internal-docsserver usingservers(internal). Do not overwrite a different existing server unless the user supplied--force. -
Validate the result after writing it. Use the harness's native MCP-list command where available, and return a warning—not a rollback—when listing fails or does not show the configured server.
-
Record only files the adapter owns in
state.HostState. Refuse to replace an unmanaged file or extension. -
Add focused unit tests for conflict handling, config-path selection, and MCP-list output. Update the README’s supported-harness list and run:
go test ./... go vet ./...
If the harness has no supported MCP mechanism, do not add a partial adapter. Document what would be required and wait until it can meet the same safety and validation guarantees as the supported hosts.