io.github.wende/cicada
CICADA
mcp-name: io.github.wende/cicada
Code Intelligence: Contextual Analysis, Discovery, and Attribution
AI 코드 어시스턴트를 위한 컨텍스트 압축 – 구조화되고 토큰 효율적인 방식으로 Elixir, Python, TypeScript, JavaScript, Rust 등 17개 이상의 언어에 접근하세요.
최대 50% 대기 시간 감소 · 최대 70% 토큰 절약 · 최대 99% 설명 불필요 더 좁은 컨텍스트 = 더 나은 품질
빠른 설치 · 보안 · 개발자 · AI 어시스턴트 · 문서
CICADA를 사용하는 이유?
핵심 문제: AI 코드 어시스턴트는 맹목적인 검색에 컨텍스트를 낭비합니다. grep은 함수 시그니처만 필요할 때 전체 파일을 덤프하여 실제 추론에 사용할 공간을 줄입니다.
컨텍스트 압축 접근법
원시 텍스트 덤프 대신, CICADA는 AI에게 구조화되고 사전 인덱싱된 지식을 제공합니다:
전통적 검색 | CICADA |
grep이 전체 파일을 덤프함 | 시그니처 + 호출 위치만 반환 |
별칭이 있는 임포트를 놓침 | 모든 참조 유형을 추적 |
의미적 이해 없음 | 키워드 검색으로 "인증"을 요청하면 |
제공 기능
AST 수준 인덱싱 – 모듈/함수/클래스 정의 (시그니처, 스펙, 문서 포함)
17개 이상 언어 지원 – Elixir, Python, TypeScript, JavaScript, Rust, Go, Java, Kotlin, Scala, C/C++, Ruby, C#, Visual Basic, Dart, PHP, Erlang (베타)
완전한 호출 위치 추적 – 지원되는 모든 언어에서 별칭, 임포트, 동적 참조
의미적 검색 – 키워드 추출 또는 임베딩(Ollama 통합)으로 개념별 코드 검색
Git + PR 기여 추적 – 코드가 왜 존재하는지 표면화
의존성 분석 – 양방향 추적 (이것을 호출하는 것, 이것이 호출하는 것)
자동 언어 감지 – 다중 언어 코드베이스에서 원활하게 작동
Related MCP server: CodeGraph
설치
# 1. Install uv (if needed)
# curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install cicada-mcp
# In your repo
cicada claude # or: cicada cursor, cicada vs, cicada gemini, cicada codex, cicada opencode, cicada zeduvx cicada-mcp claude # or cursor, vs또는
claude mcp add cicada uvx cicada-mcpgemini mcp add cicada uvx cicada-mcpcodex mcp add cicada uvx cicada-mcpkimi mcp add --transport stdio cicada -- cicada-mcp편집기에 내장된 MCP 관리를 사용하여 CICADA를 설치합니다.
설치 후 사용 가능한 명령어:
cicada [claude|cursor|vs|gemini|codex|opencode|zed]- 프로젝트별 원클릭 대화형 설정cicada-mcp- MCP 서버 (편집기에 의해 자동 시작)cicada serve- 모든 MCP 도구에 HTTP 접근을 위한 REST API 서버 시작cicada status- 인덱스 상태, PR 인덱스, 링크 상태, 에이전트 파일, MCP 설정 표시cicada stats [repo]- 사용 통계 표시 (도구 호출, 토큰, 실행 시간)cicada watch- 파일 변경 감시 및 자동 재인덱싱cicada index- 사용자 정의 옵션으로 코드 재인덱싱 (-f/--force,--keywords,--embeddings,--watch)cicada index-pr- PR 기여 추적을 위한 풀 리퀘스트 인덱싱cicada run [tool]- CLI에서 직접 7가지 MCP 도구 중 하나 실행cicada agents install- Claude Code 에이전트를./.claude/디렉토리에 설치cicada link [parent_dir]- 현재 저장소를 기존 인덱스에 연결cicada clean- 폴더에서 cicada 통합 및 모든 설정을 완전히 제거
어시스턴트에게 물어보세요:
# Elixir
"Show me the functions in MyApp.User"
"Where is authenticate/2 called?"
# Python
"Show me the AuthService class methods"
"Where is login() used in the codebase?"
# Both languages
"Find code related to API authentication"개인정보 보호 및 보안
100% 로컬: 파싱 및 인덱싱이 사용자 기기에서 이루어집니다. 외부 접근 없음.
원격 측정 없음: CICADA는 사용 정보나 원격 측정 데이터를 수집하지 않습니다.
읽기 전용 도구: MCP 엔드포인트는 인덱스만 읽습니다. 저장소를 변경할 수 없습니다.
선택적 GitHub 접근: PR 기능은
gh와 기존 OAuth 토큰에 의존합니다.데이터 구조:
~/.cicada/projects/<repo_hash>/ ├─ index.json # modules, functions, call sites, metadata ├─ config.yaml # indexing options + mode ├─ hashes.json # incremental indexing cache └─ pr_index.json # optional PR metadata + reviews저장소에는 편집기 설정(
.mcp.json,.cursor/mcp.json,.vscode/settings.json,.gemini/settings.json,.codex/mcp.json, 또는.opencode.json)만 추가됩니다.
개발자용
CICADA를 편집기에 한 번 연결하면 모든 어시스턴트 세션이 컨텍스트를 상속받습니다.
설치 및 설정
cd /path/to/project
cicada claude # or cicada cursor / cicada vs / cicada gemini / cicada codex / cicada opencode / cicada zedPR 기여 추적 활성화 (선택 사항)
brew install gh # or apt install gh
gh auth login
cicada index-pr . # incremental
cicada index-pr . --clean # full rebuild"42번째 줄을 도입한 PR은?" 또는 "billing.ex에 대한 리뷰어 의견은?" 같은 질문을 할 수 있습니다.
감시 모드로 자동 재인덱싱
--watch 플래그로 MCP 서버를 시작하면 파일 변경 시 자동 재인덱싱을 활성화합니다:
.mcp.json
{
"mcpServers": {
"cicada": {
"command": "cicada-mcp",
"args": ["--watch"],
"env": {
"CICADA_CONFIG_DIR": "/home/user/.cicada/projects/<hash>"
}
}
}
}감시 모드가 활성화되면:
별도 프로세스가
.ex,.exs(Elixir) 및.py(Python) 파일의 변경을 감시합니다.변경 사항이 자동으로 재인덱싱됩니다 (증분, 빠름).
2초 디바운스로 빠른 편집 중 과도한 재인덱싱을 방지합니다.
MCP 서버가 중지되면 감시 프로세스도 자동으로 중지됩니다.
제외 디렉토리:
deps,_build,node_modules,.git,assets,priv,.venv,venv
CLI 치트 시트
참고: 언어 감지는 자동입니다. CICADA는 Elixir (mix.exs) 및 Python (pyproject.toml) 프로젝트를 자동으로 감지합니다.
명령어 | 목적 | 실행 시점 |
| MCP 설정 + 증분 재인덱싱 | 첫 설정 시, 로컬 변경 후 |
| 인덱스 상태, 링크 상태, 에이전트 파일 확인 | 설정 후, 문제 해결 시 |
| 사용 통계 및 토큰 메트릭 보기 | 월간 검토, 최적화 시 |
| 파일 감시 및 변경 시 자동 재인덱싱 | 활발한 개발 중 |
| 키워드 인덱싱으로 재구축 | 대규모 리팩토링 후 또는 키워드 모드 활성화 시 |
| 임베딩(의미적 검색)으로 재구축 | Ollama 기반 의미 분석을 원할 때 |
| PR 메타데이터/리뷰 동기화 | 새 PR이 병합된 후 |
문제 해결
먼저 인덱서를 실행하세요:
cicada index /path/to/project인덱싱이 성공적으로 완료되었는지 확인하세요. ~/.cicada/projects/<hash>/index.json 파일을 확인하세요.
코드에 나타난 정확한 모듈 이름을 사용하세요 (예: MyApp.User, User 아님).
모듈이 최근에 추가된 경우 재인덱싱하세요:
cicada index .문제 해결 체크리스트:
설정 파일이 존재하는지 확인:
# For Claude Code ls -la .mcp.json # For Cursor ls -la .cursor/mcp.json # For VS Code ls -la .vscode/settings.json경로가 절대 경로인지 확인:
cat .mcp.json # Should contain: /absolute/path/to/project # Not: ./project or ../project인덱스가 존재하는지 확인:
ls -la ~/.cicada/projects/ # Should show directory for your project편집기를 완전히 다시 시작 (창만 다시 로드하지 않음)
편집기 MCP 로그 확인:
Claude Code: --debug
Cursor: 설정 → MCP → 로그 보기
VS Code: 출력 패널 → MCP
GitHub CLI 설정:
# Install GitHub CLI
brew install gh # macOS
sudo apt install gh # Ubuntu
# or visit https://cli.github.com/
# Authenticate
gh auth login
# Index PRs
cicada index-pr일반적인 문제:
"PR 인덱스를 찾을 수 없음" →
cicada index-pr .실행"GitHub 저장소가 아님" → 저장소에 GitHub 원격이 있는지 확인
느린 인덱싱 → 첫 번째 인덱싱은 모든 PR을 가져오므로 느림; 이후 실행은 증분
속도 제한 → GitHub API에 속도 제한이 있음; 제한에 도달하면 잠시 기다렸다가 재시도
강제 재구축:
cicada index-pr --clean오류: "키워드 검색을 사용할 수 없음"
원인: 키워드 추출 없이 인덱스가 구축되었습니다.
해결 방법:
# Re-index with keyword extraction
cicada index . # or --keywords확인:
cat ~/.cicada/projects/<hash>/config.yaml
# Should show:
# indexing:
# mode: keywords요구 사항:
Node.js (scip-python 인덱서용)
pyproject.toml이 있는 Python 프로젝트
첫 설정: CICADA는 첫 인덱싱 시 npm을 통해 scip-python을 자동으로 설치합니다. 1분 정도 걸릴 수 있습니다.
알려진 제한 사항 (베타):
첫 인덱싱은 Elixir보다 느릴 수 있음 (SCIP 생성 단계)
대규모 가상 환경(.venv)은 자동으로 제외됨
일부 동적 Python 패턴은 캡처되지 않을 수 있음
성능 팁:
# Ensure .venv is excluded
echo "/.venv/" >> .gitignore
# Use keywords mode for quickest indexing
cicada index --keywords .문제 보고: GitHub Issues에 "Python" 레이블로 제출
AI 어시스턴트용
CICADA는 Elixir, Python, Erlang 코드베이스에서 효율적인 코드 탐색을 위해 설계된 7가지 집중 MCP 도구를 제공합니다.
🧭 어떤 도구를 사용해야 하나요?
필요 사항 | 도구 | 참고 사항 | |
탐색 시작 |
| 🚀 여기서 시작 - 키워드/패턴 + 필터(범위, 최근, 경로)를 사용한 스마트 검색 | |
모듈의 전체 API 보기 |
| 함수, 시그니처, 스펙, 문서. 양방향 분석을 위해 | |
함수가 사용된 위치 찾기 |
| 정의 + 모든 호출 위치. 와일드카드( | `) 패턴 지원 |
Git 기록 추적 |
| 통합 도구: blame, 커밋, PR, 함수 진화 (4가지 레거시 도구 대체) | |
결과 드릴다운 |
| 쿼리 결과에서 모듈 또는 함수 자동 확장 | |
고급 인덱스 쿼리 |
| 고급 사용자를 위한 사용자 정의 jq 쿼리 |
이 도구들을 실제로 보고 싶으신가요? 전체 워크플로 예제에서 전문가 팁과 실제 시나리오를 확인하세요.
핵심 도구
query - 스마트 코드 검색 (시작점)
키워드와 패턴을 자동으로 감지
필터:
scope(public/private),recent(최근 14일),filter_type(모듈/함수),match_source(문서/문자열)스마트 다음 단계 제안과 함께 스니펫 반환
path_pattern을 사용하여 위치별 필터링
search_module - 심층 모듈 분석
전체 API 보기: 함수, 시그니처, 사양, 문서
Python: 클래스와 메서드 개수 및 시그니처 표시
Elixir: 인자 표기법(arity notation)과 함께 함수 표시
양방향 분석:
what_calls_it=true→ 이 모듈을 사용하는 곳 확인 (영향 분석)what_it_calls=true→ 이 모듈이 의존하는 대상 확인
와일드카드 지원 (Elixir:
MyApp.*, Python:api.handlers.*) 및 OR 패턴 (MyApp.User|MyApp.Post)가시성별 필터링 (public/private/all)
search_function - 함수 사용 추적
정의 및 모든 호출 지점 찾기
what_calls_it=true(기본값) → 모든 호출자 확인what_it_calls=true→ 모든 의존성 확인include_usage_examples=true로 코드 예제 포함usage_type으로 필터링: source, tests, 또는 all
Git 히스토리 (통합 도구)
git_history - 하나의 도구로 모든 git 작업 수행
단일 라인:
git_history("file.ex", start_line=42)→ blame + PR라인 범위:
git_history("file.ex", start_line=40, end_line=60)→ 그룹화된 blame함수 추적:
git_history("file.ex", function_name="create_user")→ 진화 과정파일 히스토리:
git_history("file.ex")→ 모든 PR/커밋시간 필터링:
recent=true(14일),recent=false(>14일),recent=null(전체)작성자 필터링:
author="john"사용 가능 시 자동 PR 인덱스 통합
추가 도구
expand_result - 쿼리 결과에서 상세 탐색
모듈과 함수 자동 감지
사용 예제와 함께 전체 세부 정보 표시
포함할 항목 구성: 코드, 의존성, 호출자
search_module과 search_function을 편리하게 래핑
query_jq - 고급 인덱스 쿼리
인덱스에 대한 직접 jq 쿼리
| schema로 스키마 탐색간결(기본값) 또는 예쁜 출력
대용량 결과를 위한 샘플 모드
자세한 매개변수 + 출력 형식: MCP_TOOLS_REFERENCE.md.
토큰 친화적 응답
모든 도구는 전체 파일 대신 구조화된 Markdown/JSON 스니펫(시그니처, 호출 지점, PR 메타데이터)을 반환하여 프롬프트를 가볍게 유지합니다.
v0.5.1 신규: 모든 도구는 이제 기본적으로 간결한 출력을 사용하여 토큰 사용을 최소화합니다. 자세한 출력과 전체 문서 및 사양을 보려면 verbose=true를 사용하세요.
문서
Codebook – 전체 기능 참조 및 사용자 가이드
Workflows – 도구를 연결하는 실제 예제
설치 – 모든 편집기를 위한 단계별 설정
기여하기 – 개발 지침 및 아키텍처
CHANGELOG.md – 릴리스 노트
심층 탐구:
키워드 추출 분석 – 의미 검색 내부
PR 인덱싱 – GitHub 통합 세부 정보
MCP 도구 호출 벤치마킹 – 토큰/시간 벤치마크
도구 발견 가능성 – UX 개선 연구
로드맵
현재 상태
프로덕션 준비 완료:
✅ Elixir (tree-sitter)
✅ Python (SCIP)
✅ TypeScript (SCIP)
✅ JavaScript (SCIP)
✅ Rust (SCIP)
베타:
🚧 Erlang (tree-sitter)
🚧 Go (SCIP)
🚧 Java/Kotlin/Scala (SCIP)
🚧 C/C++ (SCIP)
🚧 Ruby (SCIP)
🚧 C#/Visual Basic (SCIP)
🚧 Dart (SCIP)
🚧 PHP (SCIP)
대안과의 비교
기능 | CICADA | Codicil (Elixir 전용) | |
분석 방법 | SCIP (정적 인덱스) | LSP (실시간 서버) | LLM 요약 + 임베딩 |
코드 편집 | ❌ | ✅ | ❌ |
Git 컨텍스트 | ✅ PR 히스토리, blame, 진화 | ❌ | ❌ |
리소스 사용량 | 낮음 (디스크에서 읽기) | 높음 (지속적인 서버 프로세스) | 중간 (API 호출) |
프라이버시 | 100% 로컬 | 100% 로컬 | 외부 LLM API 필요 |
의미 검색 | 로컬 Ollama 또는 키워드 | ❌ | OpenAI/Anthropic 임베딩 |
호출 그래프 | 별칭 해결이 포함된 양방향 | LSP 기반 | ❌ |
CICADA를 선택해야 하는 경우: 풍부한 git 컨텍스트(PR 귀속, blame, 함수 진화 추적)와 효율적인 토큰 사용을 갖춘 로컬 우선 작업을 원할 때.
Serena를 선택해야 하는 경우: LSP를 통한 코드 편집 기능이 필요하고 더 높은 리소스 사용을 감수할 수 있을 때.
Codicil을 선택해야 하는 경우: Elixir 프로젝트가 있고 LLM 기반 의미 요약을 선호할 때 (Elixir 전용).
기여하기
git clone https://github.com/wende/cicada.git
cd cicada
uv sync
pytestPR을 제출하기 전에:
black cicada tests실행테스트 + 커버리지 통과 확인 (
pytest --cov=cicada --cov-report=term-missing)동작이 변경되면 문서 업데이트
다음에 대한 이슈/PR을 환영합니다:
새로운 언어 문법
도구 출력 개선
더 나은 온보딩 문서 및 튜토리얼
라이선스
MIT – LICENSE 참조.
블라인드 검색에 컨텍스트를 낭비하지 마세요. AI에 CICADA를 제공하세요.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides intelligent code context and analysis through semantic compression, AST parsing, and multi-language support. Offers 60-80% token reduction while enabling AI assistants to understand codebases through local analysis, OpenAI-enhanced insights, and GitHub repository integration.6123MIT
- Alicense-qualityAmaintenanceSupercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.83,49166,716MIT
- Alicense-qualityBmaintenanceProvides AI coding assistants with deep, semantic understanding of local codebases via AST-aware chunking, cross-repo symbol graphs, and architectural memory, enabling context-aware code search and dependency tracing.10MIT
- Alicense-qualityDmaintenanceMake any LLM a codebase expert instantly. Provides deep code intelligence through semantic search, architecture mapping, security analysis, and smart context that fits perfectly in token windows.MIT
Related MCP Connectors
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wende/cicada'
If you have feedback or need assistance with the MCP directory API, please join our Discord server