This guide provides step-by-step instructions for installing Cicada in your preferred AI coding editor.
The fastest way to get started:
# Install Cicada
uv tool install cicada-mcp
# Navigate to your project and initialize
cd /path/to/your/project
cicada .This creates an index and configures the MCP server for your editor.
- Python 3.10+ (managed automatically by
uv) - uv package manager (installation guide)
- A supported project (Elixir, Python, or 13 other languages - see Language Support)
Choose your editor below for specific installation instructions:
| Editor | Setup Time | Complexity | Auto-Discovery | Best For |
|---|---|---|---|---|
| Claude Code | 2 min | ⭐ Easy | Automatic | CLI users, quick setup |
| Cursor | 2 min | ⭐ Easy | Automatic | Most users, fastest start |
| VS Code | 3 min | ⭐⭐ Medium | Manual config | VSCode ecosystem |
| Zed | 5 min | ⭐⭐⭐ Advanced | Extension required | Zed power users |
Recommended for: CLI users who want the fastest setup
cd /path/to/your/project
uvx cicada claudeThis single command:
- Indexes your project
- Creates
.mcp.jsonconfiguration - Stores index in
~/.cicada/projects/<hash>/ - Automatically configures the optimal command for your system
For better performance and access to all features:
# Install Cicada globally
uv tool install cicada-mcp
# Setup your project
cd /path/to/your/project
cicada claude
# Start Claude Code
claude-codeAsk Claude Code:
> Show me the User module
> Where is create_user/2 called?
> Who wrote this line of code?
Issue: "cicada-mcp: command not found"
Add ~/.local/bin to PATH:
# For bash/zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcIssue: "Config file not found"
Run setup in project directory:
cd /path/to/project
cicada claudeRecommended for: Most users who want one-click installation
Click this deep link to automatically install Cicada:
This automatically:
- Installs Cicada via uv
- Configures the MCP server
- Restarts Cursor
# Install Cicada
uv tool install cicada-mcp
# Initialize your project
cd /path/to/your/project
cicada .
# Restart Cursor- Open Cursor in your project
- Open Composer (Cmd+K or Ctrl+K)
- Try: "Show me the User module"
Cicada uses these default paths:
- Index Storage:
~/.cicada/projects/<repo_hash>/ - Project Config:
.mcp.json(in project root)
To customize indexing, edit ~/.cicada/projects/<repo_hash>/config.yaml:
exclude_patterns:
- "deps/*"
- "build/*"
- "_build/*"
file_extensions:
- ".ex"
- ".exs"Issue: Empty search results
Re-index your project:
cicada index
# Restart CursorIssue: Permission denied errors
Fix permissions:
chmod -R u+w ~/.cicada/Recommended for: VSCode users with Cline extension
# Install Cicada
uv tool install cicada-mcp
# Add to PATH (if needed)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Initialize project
cd /path/to/your/project
cicada .Cicada automatically creates .mcp.json in your project root. If using Cline, it will detect this file automatically.
Alternatively, manually configure in VSCode settings:
- Open VSCode Settings (Cmd+, or Ctrl+,)
- Search for "MCP Servers"
- Add Cicada configuration:
{
"cicada": {
"command": "cicada-mcp",
"env": {
"CICADA_REPO_PATH": "/absolute/path/to/your/project"
}
}
}Ask Cline:
Show me the User module
Issue: MCP server won't start
Check cicada-mcp is accessible:
which cicada-mcp
# Should output: /home/user/.local/bin/cicada-mcpCheck .mcp.json is valid:
cat .mcp.jsonRecommended for: Zed editor power users
- Zed editor installed
- Rust toolchain (for extension development)
# Install Cicada
uv tool install cicada-mcp
# Initialize project
cd /path/to/your/project
cicada .Zed requires a Rust-based extension wrapper. See the Zed Extensions section in PUBLISHING.md for detailed instructions on:
- Forking zed-industries/extensions
- Creating the Rust extension wrapper
- Submitting to Zed extension registry
Alternatively, manually configure in Zed settings (~/.config/zed/settings.json):
{
"context_servers": {
"cicada": {
"command": "cicada-mcp",
"env": {
"CICADA_REPO_PATH": "/absolute/path/to/project"
}
}
}
}By default, Cicada stores indexes in ~/.cicada/projects/<repo_hash>/. To use a custom location:
export CICADA_CONFIG_DIR=/custom/path/to/config
cicada indexCicada automatically manages multiple projects:
# Each project gets its own index
cd ~/project1 && cicada .
cd ~/project2 && cicada .
# Indexes are stored separately:
# ~/.cicada/projects/<project1_hash>/
# ~/.cicada/projects/<project2_hash>/Enable GitHub PR attribution (requires gh CLI):
# Install GitHub CLI
brew install gh # macOS
# or: sudo apt install gh # Linux
# Authenticate
gh auth login
# Index PRs
cicada index-prThis enables git_history to show PR descriptions and review comments.
Automatically reindex on file changes:
cicada watchPress Ctrl+C to stop.
To update to the latest version:
# Update installation
uv tool install --upgrade cicada-mcp
# Re-index your projects
cd /path/to/your/project
cicada index
# Restart your editorTo completely remove Cicada:
# Uninstall the tool
uv tool uninstall cicada-mcp
# Remove project configuration
rm .mcp.json
# Remove all index data (optional)
rm -rf ~/.cicada/- Operating Systems: macOS, Linux, Windows (WSL)
- Python: 3.10+ (managed by uv)
- Disk Space: 5-50 MB per indexed project
- Memory: ~100-200 MB peak during indexing
- Local Only: All indexing and storage is local to your machine
- No Telemetry: No data collection or transmission
- No API Keys: No external services required
- Offline: Works entirely with your local codebase
- GitHub Issues: https://github.com/wende/cicada/issues
- Documentation: Full feature reference
- Tag issues with editor name (e.g.,
[cursor],[vscode])
- See Workflows for usage examples
- Check MCP Tools Reference for available tools
- Read Performance Guide for optimization tips