uv is a fast Python package manager. Install it with your platform's package manager:
| Platform | Command |
|---|---|
| macOS | brew install uv |
| Arch Linux | pacman -S uv |
| Fedora | dnf install uv |
| Windows | winget install astral-sh.uv |
uv is not in the default Debian/Ubuntu apt repos. For Ubuntu, use snap install uv or brew install uv (Homebrew on Linux). See the uv installation docs for all options.
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the following to your config file:
{
"mcpServers": {
"ask-another": {
"command": "uvx",
"args": ["--from", "git+https://github.com/matthewgjohnson/ask-another", "ask-another"],
"env": {
"PROVIDER_OPENAI": "openai;sk-your-openai-key",
"PROVIDER_GEMINI": "gemini;your-google-key",
"PROVIDER_OPENROUTER": "openrouter;sk-or-your-openrouter-key"
}
}
}
}At least one provider is required. Remove any you don't have keys for.
Restart Claude Desktop after saving.
claude mcp add ask-another \
-e PROVIDER_OPENAI="openai;sk-your-key" \
-e PROVIDER_GEMINI="gemini;your-key" \
-e PROVIDER_OPENROUTER="openrouter;sk-or-your-key" \
-- uvx --from git+https://github.com/matthewgjohnson/ask-another ask-anotherCursor
Go to Settings > Features > MCP > Add New MCP Server. Set:
- Command:
uvx - Args:
--from git+https://github.com/matthewgjohnson/ask-another ask-another
Add provider environment variables in the server's env section.
See Cursor MCP docs for details.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ask-another": {
"command": "uvx",
"args": ["--from", "git+https://github.com/matthewgjohnson/ask-another", "ask-another"],
"env": {
"PROVIDER_OPENAI": "openai;sk-your-key"
}
}
}
}Cline / Roo Code (VS Code)
Open the MCP tab in the extension sidebar and add a server with the same JSON structure as the Claude Desktop config above.
Zed
Add to your Zed settings.json under context_servers:
{
"context_servers": {
"ask-another": {
"command": {
"path": "uvx",
"args": ["--from", "git+https://github.com/matthewgjohnson/ask-another", "ask-another"],
"env": {
"PROVIDER_OPENAI": "openai;sk-your-key"
}
}
}
}
}All options go in the env block of your MCP client config.
Format: PROVIDER_<NAME>="provider-name;api-key"
At least one provider is required. Models are discovered dynamically from each provider's API — no need to list individual models.
| Variable | Example |
|---|---|
PROVIDER_OPENAI |
openai;sk-your-key |
PROVIDER_GEMINI |
gemini;your-key |
PROVIDER_OPENROUTER |
openrouter;sk-or-your-key |
| Option | Default | Description |
|---|---|---|
CACHE_TTL_MINUTES |
360 |
How often to re-scan providers and re-fetch enrichment (minutes) |
ZERO_DATA_RETENTION |
enabled | Filter OpenRouter to ZDR-compatible models only. Set to false to disable |
LOG_LEVEL |
(disabled) | Enable file logging: DEBUG, INFO, WARNING, ERROR |
LOG_FILE |
~/.ask-another.log |
Log file path |
LOG_FILE_SIZE |
5 |
Max log file size in MB |
LOG_FILE_COUNT |
2 |
Number of rotation backups |
IMAGE_OUTPUT_DIR |
~/Pictures/ask-another |
Where generated images are saved |
ANNOTATIONS_FILE |
~/.ask-another-annotations.json |
Model metadata, usage, and notes |
FEEDBACK_LOG |
~/.ask-another-feedback.jsonl |
Feedback log path |