Skip to main content
Glama
wende

io.github.wende/cicada

by wende

CICADA

mcp-name: io.github.wende/cicada

Code Intelligence: Contextual Analysis, Discovery, and Attribution

AI 코드 어시스턴트를 위한 컨텍스트 압축 – 구조화되고 토큰 효율적인 방식으로 Elixir, Python, TypeScript, JavaScript, Rust 등 17개 이상의 언어에 접근하세요.

최대 50% 대기 시간 감소 · 최대 70% 토큰 절약 · 최대 99% 설명 불필요 더 좁은 컨텍스트 = 더 나은 품질

Python Version License: MIT codecov MCP Compatible

Elixir Support Python Support TypeScript Support JavaScript Support Rust Support +12 More

Install MCP Server

빠른 설치 · 보안 · 개발자 · AI 어시스턴트 · 문서


CICADA를 사용하는 이유?

핵심 문제: AI 코드 어시스턴트는 맹목적인 검색에 컨텍스트를 낭비합니다. grep은 함수 시그니처만 필요할 때 전체 파일을 덤프하여 실제 추론에 사용할 공간을 줄입니다.

컨텍스트 압축 접근법

원시 텍스트 덤프 대신, CICADA는 AI에게 구조화되고 사전 인덱싱된 지식을 제공합니다:

전통적 검색

CICADA

grep이 전체 파일을 덤프함

시그니처 + 호출 위치만 반환

별칭이 있는 임포트를 놓침

모든 참조 유형을 추적

의미적 이해 없음

키워드 검색으로 "인증"을 요청하면 verify_credentials를 찾음

제공 기능

  • 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 zed
uvx cicada-mcp claude   # or cursor, vs

또는

claude mcp add cicada uvx cicada-mcp
gemini mcp add cicada uvx cicada-mcp
codex mcp add cicada uvx cicada-mcp
kimi 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 zed

PR 기여 추적 활성화 (선택 사항)

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) 프로젝트를 자동으로 감지합니다.

명령어

목적

실행 시점

cicada claude

MCP 설정 + 증분 재인덱싱

첫 설정 시, 로컬 변경 후

cicada status

인덱스 상태, 링크 상태, 에이전트 파일 확인

설정 후, 문제 해결 시

cicada stats

사용 통계 및 토큰 메트릭 보기

월간 검토, 최적화 시

cicada watch

파일 감시 및 변경 시 자동 재인덱싱

활발한 개발 중

cicada index --keywords .

키워드 인덱싱으로 재구축

대규모 리팩토링 후 또는 키워드 모드 활성화 시

cicada index --embeddings .

임베딩(의미적 검색)으로 재구축

Ollama 기반 의미 분석을 원할 때

cicada index-pr .

PR 메타데이터/리뷰 동기화

새 PR이 병합된 후

문제 해결

먼저 인덱서를 실행하세요:

cicada index /path/to/project

인덱싱이 성공적으로 완료되었는지 확인하세요. ~/.cicada/projects/<hash>/index.json 파일을 확인하세요.

코드에 나타난 정확한 모듈 이름을 사용하세요 (예: MyApp.User, User 아님).

모듈이 최근에 추가된 경우 재인덱싱하세요:

cicada index .

문제 해결 체크리스트:

  1. 설정 파일이 존재하는지 확인:

    # For Claude Code
    ls -la .mcp.json
    
    # For Cursor
    ls -la .cursor/mcp.json
    
    # For VS Code
    ls -la .vscode/settings.json
  2. 경로가 절대 경로인지 확인:

    cat .mcp.json
    # Should contain: /absolute/path/to/project
    # Not: ./project or ../project
  3. 인덱스가 존재하는지 확인:

    ls -la ~/.cicada/projects/
    # Should show directory for your project
  4. 편집기를 완전히 다시 시작 (창만 다시 로드하지 않음)

  5. 편집기 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

자세한 내용: PR 인덱싱, 증분 인덱싱.

요구 사항:

  • 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 도구를 제공합니다.

🧭 어떤 도구를 사용해야 하나요?

필요 사항

도구

참고 사항

탐색 시작

query

🚀 여기서 시작 - 키워드/패턴 + 필터(범위, 최근, 경로)를 사용한 스마트 검색

모듈의 전체 API 보기

search_module

함수, 시그니처, 스펙, 문서. 양방향 분석을 위해 what_calls_it/what_it_calls 사용

함수가 사용된 위치 찾기

search_function

정의 + 모든 호출 위치. 와일드카드(*) 및 OR(`

`) 패턴 지원

Git 기록 추적

git_history

통합 도구: blame, 커밋, PR, 함수 진화 (4가지 레거시 도구 대체)

결과 드릴다운

expand_result

쿼리 결과에서 모듈 또는 함수 자동 확장

고급 인덱스 쿼리

query_jq

고급 사용자를 위한 사용자 정의 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 – 릴리스 노트

심층 탐구:


로드맵

현재 상태

프로덕션 준비 완료:

  • ✅ 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

Serena

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
pytest

PR을 제출하기 전에:

  • black cicada tests 실행

  • 테스트 + 커버리지 통과 확인 (pytest --cov=cicada --cov-report=term-missing)

  • 동작이 변경되면 문서 업데이트

다음에 대한 이슈/PR을 환영합니다:

  • 새로운 언어 문법

  • 도구 출력 개선

  • 더 나은 온보딩 문서 및 튜토리얼


라이선스

MIT – LICENSE 참조.

블라인드 검색에 컨텍스트를 낭비하지 마세요. AI에 CICADA를 제공하세요.

시작하기 · 이슈 보고

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

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

  • A
    license
    A
    quality
    D
    maintenance
    Provides 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.
    6
    12
    3
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Supercharges AI coding agents with a pre-indexed semantic code graph, enabling instant symbol relationships, impact analysis, and context retrieval across 20+ languages.
    83,491
    66,716
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Provides 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.
    10
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Make 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

View all related MCP servers

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…

View all MCP Connectors

Latest Blog Posts

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