Skip to content

MCP Server: Configuration

The server is configured by command line flags. There is no config file because the server runs once per session and is spawned by the MCP client.

Flags

android-skills-mcp [options]

Options:
  --skills-dir <path>   Re-parse skills from a directory of SKILL.md files
                        instead of the bundled snapshot.
  --bundle <path>       Use a specific skills.json snapshot.
  --version, -v         Print version and exit.
  --help, -h            Show this help.

Default behavior

With no flags, the server uses the snapshot bundled at publish time inside dist/skills.json. This snapshot is generated by walking the upstream android/skills repository at the moment the npm package was built. Six skills today, more as upstream grows.

--skills-dir <path>

Re-parse from a fresh checkout of android/skills (or any directory containing **/SKILL.md files following the same layout):

git clone https://github.com/android/skills.git /tmp/skills
npx android-skills-mcp --skills-dir /tmp/skills

Use this when you want the latest upstream changes without waiting for a new release of android-skills-mcp, or when you maintain an internal fork with company specific skills.

In MCP client config, append the flag to the args array:

{
  "mcpServers": {
    "android-skills": {
      "command": "npx",
      "args": ["-y", "android-skills-mcp", "--skills-dir", "/path/to/skills"]
    }
  }
}

--bundle <path>

Use a specific pre-parsed skills.json file. Useful in CI or air gapped environments where you bundle the parsed JSON ahead of time:

npx android-skills-mcp --bundle ./vendored/skills.json

The JSON shape is the array produced by loadSkills() from @android-skills/core, with reference contents inlined.

Capabilities

The server advertises two capabilities in its initialize response:

{
  "tools": { "listChanged": true },
  "resources": { "listChanged": true }
}

Both listChanged flags are present, so any client that subscribes to list change notifications will see updates if the catalog changes (for example after a hot reload during development).

Cold start

Average cold start (initialize round trip) is around 100 ms on Apple Silicon. The breakdown:

Step Time
Node startup ~50 ms
Bundle JSON parse (6 skills, 515 KB) ~5 ms
MiniSearch index build ~10 ms
MCP transport handshake ~30 ms

This is well under the typical client timeout, so the server can be spawned per session without latency complaints.