Token导航 LogoToken导航TokenDH.com
MCP Coderag Go logo
搜索检索未说明官方级别未说明来源级核验

MCP Coderag Go

MCP Server

一个基于RAG的Go语言代码搜索工具,支持语义和全文搜索,无需Docker即可在Termux上运行。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
代码搜索全文搜索GoClaude搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Faishalbhitex

提供方

Faishalbhitex

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mcp-coderag-go

CodeRAG MCP Server — RAG-based code search untuk project Go via Model Context Protocol.

Diintegrasikan dengan gemini-cli, qwen-code, claude-code, atau AI client lain yang support MCP. Dirancang untuk berjalan di Termux (Android) tanpa Docker.

Fitur

  • Hybrid Search — Semantic (pgvector) + Full-Text (tsvector) via algoritma RRF
  • 5 MCP Toolssearch_code, get_chunk, list_packages, search_by_file, reindex
  • Transportstdio (default) atau HTTP
  • Lightweight — Go binary tunggal, jalan di Termux tanpa Docker

Kebutuhan

  • Go 1.21+
  • PostgreSQL 14+ dengan ekstensi pgvector
  • Google API Key (Gemini embedding)

Platform Support

PlatformStatusCara Setup
Termux (Android)✅ NativeGunakan make setup
Linux / macOS✅ ManualLihat Quick Start Linux
Windows⚠️ Via WSLBelum ditest

Quick Start — Termux (Android)

Prasyarat: pkg install golang git make clang

# 1. Clone
git clone https://github.com/Faishalbhitex/mcp-coderag-go
cd mcp-coderag-go

# 2. Cek dependency
make setup-check

# 3. Setup PostgreSQL + pgvector (skip jika sudah ada)
make setup-postgres

# 4. Buat database + jalankan migration
make setup-db

# 5. Setup environment variables ke ~/.bashrc
make setup-env
source ~/.bashrc

# 6. Install binary global
make install

# 7. Index project Go kamu
indexer --path ./internal/...      # per subdirektori (lebih stabil)
indexer --path ./cmd/...
# atau sekaligus jika dependency lengkap:
# indexer --path ./...

# 8. Lihat konfigurasi AI client
make configure-mcp

Quick Start — Linux / macOS

Prasyarat: PostgreSQL + pgvector sudah terinstall dan running.

git clone https://github.com/Faishalbhitex/mcp-coderag-go
cd mcp-coderag-go
cp .env.example .env
# Edit .env: isi GOOGLE_API_KEY dan DB_URL

# Buat database
createdb coderag
psql coderag -c "CREATE EXTENSION vector;"
make db-migrate

# Install dan index
make install
indexer --path /path/to/your/project/...

# Lihat konfigurasi AI client
make configure-mcp

Konfigurasi AI Client

gemini-cli

Edit ~/.gemini/settings.json, tambahkan di dalam "mcpServers":

"gocoderag": {
  "command": "mcp-coderag",
  "args": ["serve"],
  "cwd": "/path/to/project-yang-diindex",
  "env": {
    "GOOGLE_API_KEY": "$GOOGLE_API_KEY",
    "DB_URL": "$DB_URL"
  },
  "trust": true
}

qwen-code

Edit ~/.qwen/settings.json, tambahkan di dalam "mcpServers":

"gocoderag": {
  "command": "mcp-coderag",
  "args": ["serve"],
  "cwd": "/path/to/project-yang-diindex",
  "env": {
    "GOOGLE_API_KEY": "$GOOGLE_API_KEY",
    "DB_URL": "$DB_URL"
  }
}

claude-code

claude mcp add gocoderag \
  --scope user \
  -e GOOGLE_API_KEY=$GOOGLE_API_KEY \
  -e DB_URL=$DB_URL \
  -- mcp-coderag serve
Catatan cwd: cwd menentukan working directory MCP server, yang digunakan tool reindex untuk resolve path relatif. Data yang bisa dicari ditentukan oleh apa yang sudah diindex via indexer — bukan oleh cwd.

MCP Tools

ToolKapan Digunakan
list_packagesSelalu mulai dari sini — lihat apa saja yang sudah terindex
search_codeCari berdasarkan konsep, nama fungsi, atau behavior
get_chunkBaca satu fungsi/struct lengkap via ID (package.Name)
search_by_fileBaca semua chunk dari satu file secara berurutan
reindexRe-index setelah menulis atau mengedit file Go

Workflow yang Disarankan untuk AI Agent

1. list_packages          → orientasi: package apa yang terindex?
2. search_code("query")   → temukan kode relevan
3. get_chunk("pkg.Name")  → baca detail lengkap satu fungsi/struct
4. search_by_file("path") → baca konteks satu file penuh
5. reindex (jika perlu)   → setelah edit file, sebelum lanjut coding

Tips Indexing

# Jika ./... gagal (dependency eksternal tidak lengkap),
# index per subdirektori:
indexer --path ./internal/...
indexer --path ./cmd/...
indexer --path ./config

# Exclude file noise (monolitik, generated):
indexer --path ./... --exclude main.go,vendor

# Cek apa yang sudah terindex:
psql $DB_URL -c "SELECT package, COUNT(*) FROM code_chunks GROUP BY package ORDER BY 2 DESC;"

Makefile Targets

make setup-check    # cek dependency
make setup-postgres # install PostgreSQL + pgvector (Termux)
make setup-db       # init database + migration
make setup-env      # setup ~/.bashrc
make setup          # semua setup sekaligus
make install        # build + install binary global
make index          # index project ini sendiri
make configure-mcp  # tampilkan konfigurasi AI client
make build          # build ke ./bin/ (tanpa install)
make dev            # jalankan MCP server stdio (development)
make dev-http       # jalankan MCP server HTTP di port 8082
make db-migrate     # jalankan migration SQL
make clean          # hapus ./bin/
make uninstall      # hapus binary dari GOPATH/bin

Environment Variables

VariableWajibDefaultKeterangan
GOOGLE_API_KEYGemini API key
DB_URLPostgreSQL connection string
GEMINI_EMBED_MODELgemini-embedding-001Model embedding
INDEX_PATH./...Path default untuk make index
INDEX_EXCLUDEComma-separated excludes
RAG_THRESHOLD0.01Minimum RRF score

Arsitektur

cmd/
  mcp-coderag/    ← MCP server binary (serve --transport stdio|http)
  indexer/        ← Indexer binary (--path, --exclude)
internal/
  chunker/        ← AST extractor: Go source → Chunks
  store/          ← PostgreSQL + pgvector upsert
  rag/            ← Hybrid RRF search (semantic + full-text)
migrations/
  000_create_table.sql   ← schema awal (vector(1536))
  001_update_schema.sql  ← update kolom + HNSW index
  002_add_hybrid_search.sql ← content_tsv + GIN index
scripts/termux/   ← setup scripts khusus Termux
example/rest_api/ ← demo project untuk testing indexer

Database menggunakan MRL (Matryoshka Representation Learning) dengan dimensi 1536 dari gemini-embedding-001 — sweet spot antara kualitas embedding dan kompatibilitas pgvector HNSW index (limit < 2000 dimensi).

目录标签

目录标签

代码搜索全文搜索GoClaude搜索本地部署语义搜索Go语言Termux

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP