MCP and AI agents
Use LocalASO from the Gemini CLI as an MCP server
To use LocalASO from the Gemini CLI, register it with gemini mcp add or add a localaso block under mcpServers in settings.json. Gemini then exposes the five LocalASO tools to the model under longer names that begin with mcp_localaso_.
Updated
Option 1: gemini mcp add
The Gemini CLI documentation gives the form gemini mcp add [options] <name> <commandOrUrl> [args...], with the options --scope (short form -s; user or project, default project), --transport (short form -t; default stdio) and --env KEY=value (short form -e). For the installed app, at user scope:
gemini mcp add -s user -e ELECTRON_RUN_AS_NODE=1 localaso \
/Applications/LocalASO.app/Contents/MacOS/LocalASO \
/Applications/LocalASO.app/Contents/Resources/app.asar/out/main/mcp.js
Because the default scope is project, leaving out -s user writes .gemini/settings.json in the current folder, and the server would only exist there. Check that the options sit before the name; Gemini's syntax puts <name>, the command and its arguments last.
Option 2: settings.json
The same entry by hand in ~/.gemini/settings.json (user) or .gemini/settings.json (project):
{
"mcpServers": {
"localaso": {
"command": "/Applications/LocalASO.app/Contents/MacOS/LocalASO",
"args": ["/Applications/LocalASO.app/Contents/Resources/app.asar/out/main/mcp.js"],
"env": { "ELECTRON_RUN_AS_NODE": "1" }
}
}
}
Gemini's documentation also lists cwd, timeout (in milliseconds) and trust for each server. You do not need them for LocalASO. Leave trust off so Gemini keeps asking before it runs a tool. Use a server name without underscores; localaso is fine, and Gemini's documentation warns that underscores in server names can break its policy parsing.
Tool names
Gemini CLI gives every MCP tool a fully qualified name in the form mcp_{serverName}_{toolName}:
| LocalASO tool | Name in Gemini CLI |
|---|---|
board_get | mcp_localaso_board_get |
board_add_keywords | mcp_localaso_board_add_keywords |
keywords_check | mcp_localaso_keywords_check |
competitors_get | mcp_localaso_competitors_get |
listing_get | mcp_localaso_listing_get |
You rarely need to type these, but they matter when you write permission rules, and they show up in the tool-call lines Gemini prints.
Check the connection
gemini mcp list from your shell shows connection errors for configured servers, and /mcp list does the same inside a session. If the server errors, the usual causes are a wrong path, invalid JSON, or LocalASO not being licensed on this Mac: every tool refuses to run without a valid license.
Gemini in both roles
Gemini CLI can also be LocalASO's AI provider, where LocalASO runs gemini -p to localize or rewrite text; that is configured in the app and described in the AI providers docs. The two roles are independent. As an MCP client, Gemini reads data through the MCP server. The Codex page explains the same split in a table.
Next step
Ask Gemini to list your apps, then work through the example prompts. For other clients, use the generic client page.
Questions
- What are the tool names in Gemini CLI?
- Gemini CLI prefixes every MCP tool with mcp_ and the server name, so board_get becomes mcp_localaso_board_get.
- User or project scope?
- gemini mcp add defaults to project scope. Pass -s user to write ~/.gemini/settings.json so LocalASO is available in every folder.
Sources
- github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md (checked November 1, 2026)
Do this for every country, in minutes