Class MCPClientRegistrar
Detects installed MCP hosts and registers a Codename One application's stdio MCP server with them, so an end user can point Claude Desktop, Claude Code, Codex and similar tools at the application without editing config by hand.
Two config shapes are written: the JSON mcpServers object the Claude hosts use, and
the [mcp_servers.<name>] tables Codex keeps in ~/.codex/config.toml (see
MCPToml). Either way the user's other servers and settings are preserved, and a
config that cannot be edited safely is reported and left alone.
This is a plain reusable API. It is meant to be driven by Codename One tooling (the certificate wizard, Game Builder, Settings, the simulator) and by applications themselves.
Registration is a desktop concern. File access goes through
FileSystemStorage so the class links on every target, but
isSupported() is false where the platform provides no reachable home
directory (mobile), and each detected host reports whether its config is writable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA detected MCP host and where its config lives. -
Method Summary
Modifier and TypeMethodDescriptionDetects installed MCP hosts by looking for their config file or its parent directory under the user home.static MCPClientRegistrarbooleanReturns true when this platform exposes a home directory the registrar can reach.register(MCPClientDescriptor descriptor) Registers the descriptor with every detected, writable host.register(MCPClientDescriptor descriptor, List<MCPClientRegistrar.MCPClient> clients) Registers the descriptor with the given hosts.unregister(String serverName) Removes the named server entry from every detected, writable host.
-
Method Details
-
getInstance
-
isSupported
public boolean isSupported()Returns true when this platform exposes a home directory the registrar can reach. -
detectClients
Detects installed MCP hosts by looking for their config file or its parent directory under the user home. -
register
Registers the descriptor with every detected, writable host. Returns the list of hosts that were updated. -
register
public List<MCPClientRegistrar.MCPClient> register(MCPClientDescriptor descriptor, List<MCPClientRegistrar.MCPClient> clients) Registers the descriptor with the given hosts. Non writable hosts are skipped. -
unregister
Removes the named server entry from every detected, writable host. Returns the list of hosts that were updated.
-