GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Extracts decision intent from git history and protects intentional code from AI modification.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"wisegit": {
"command": "npx",
"args": [
"-y",
"@sandip124/wisegit"
]
}
}
}ターミナルでこれを実行します
claude mcp add wisegit -- npx -y @sandip124/wisegitプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"wisegit": {
"command": "npx",
"args": [
"-y",
"@sandip124/wisegit"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"wisegit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sandip124/wisegit"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Sandip124 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは7 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
*"Don't take a fence down until you know the reason it was put up."*
— G.K. Chesterton
wisegit is a local MCP server that extracts decision intent from git history and protects intentional code from AI modification.
When Claude Code (or any MCP-compatible agent) is about to edit a file, wisegit injects a decision manifest showing which functions are frozen, stable, or open — so the AI respects what was intentional, not just what compiles.
Zero config. Zero external services. Everything local.
# Set up any repo (one command)
npx @sandip124/wisegit setup
claude mcp add wisegit -- npx @sandip124/wisegit serve
LLMs have no concept of intentional code. A manually-tested fix and a broken stub look identical — both are just text. Real scenario:
sleep(350) — manually tested, committed.sleep(350) — looks like dead code.Root cause: git history contains proof of intention. Nobody extracts it.
Git History → Tree-sitter AST → Intent Extraction → SQLite Event Store → MCP Tools
fix:, feat:), DESCRIPTIVE (plain sentences), or NOISE (wip, x)get_file_decisions before editing any file[DECISION MANIFEST: payment.service.cs]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FROZEN: ProcessPayment() [score: 0.89] [Recovery: L1]
STABLE: ValidateOrder() [score: 0.55] [Recovery: L2]
OPEN: FormatReceipt() [score: 0.12] [Recovery: L3] ← safe to modify ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
That's it. No Docker, no PostgreSQL, no external services.
cd /path/to/your/repo
npx @sandip124/wisegit setup
This single command:
~/.wisegit/wisegit.db.mcp.json for Claude Code auto-discoveryCLAUDE.md rules that instruct AI to check before editing.mcp.json to .gitignore# Fetch issue/PR details from GitHub/GitLab
GITHUB_TOKEN=ghp_... npx @sandip124/wisegit enrich
This fetches referenced issues (e.g., #134 in commit messages), detects Won't Fix / By Design decisions, and boosts freeze scores for functions linked to those issues.
Open the repo in Claude Code. It will automatically:
.mcp.json)CLAUDE.md)get_file_decisions before editing any file| Tool | Description |
|---|---|
get_file_decisions | Decision manifest for a file — freeze scores, intent history, recovery levels, override status |
get_freeze_score | Score + signal breakdown for a specific function |
get_function_history | Full chronological decision timeline for a function |
get_theory_gaps | Functions with unrecoverable rationale (inactive authors, timeline gaps) |
get_branch_context | Branch merge history — what was migrated and why |
search_decisions | Search past decisions by keyword across the entire repo |
create_override | Override a frozen function (user approves in Claude Code UI) |
extract_intent | Extract intent for NOISE commits using the host LLM — no Ollama needed |
find_similar_functions | Search for existing functions that solve a similar problem before writing new code |
predict_impact | Predict what functions will break if a given function is modified |
get_codebase_conventions | Extract coding conventions for a file's neighborhood |
MCP Resource: wisegit://manifest/{filePath} — decision manifest as auto-discoverable resource
MCP Prompt: check_before_edit — mandatory workflow prompt that returns the decision manifest before editing any file
wisegit uses a smart fallback chain for extracting intent from NOISE commits:
| Context | LLM Used | How |
|---|---|---|
| Inside Claude Code | Host LLM (Claude) | MCP sampling — asks Claude to analyze the diff. Zero setup. |
| CLI with Ollama | Ollama (llama3) | wisegit init --ollama — uses local Ollama instance |
| CLI without Ollama | None | Rule-based extraction only, NOISE commits get no intent |
Inside Claude Code, call extract_intent to retroactively recover intent for NOISE commits — uses Claude itself, no Ollama installation needed.
wisegit setup [--path <dir>] [--global] # One-command repo setup
wisegit init [--full-history] [--path ] # Index git history wisegit enrich [--path ] # Fetch issue/PR context from GitHub/GitLab wisegit audit # Show decision manifest wisegit history [--file ] # Show decision timeline wisegit recompute [--path ] # Recompute scores with PageRank + theory gaps wisegit override --file --reason "..." # Override a frozen function wisegit overrides # List active overrides wisegit sync # Rebuild local cache from git + .wisegit/ wisegit config list # View team configuration wisegit config set # Modify team policy wisegit team-status # Team overview: enrichments, overrides, contributors wisegit team-health # Theory health: healthy/fragile/critical functions wisegit branch-capture # Capture branch context from last merge wisegit branch-list # List all captured branch snapshots wisegit branch-recover # Recover context from old merge commit wisegit calibrate # Show adaptive obsolescence weights vs defaults wisegit report [--output ] # Generate HTML report with scores + insights wisegit serve # Start MCP server (stdio) wisegit hook install|uninstall # Manage git hooks (post-commit + post-merge)
Run npx @sandip124/wisegit setup in any repo. It creates .mcp.json automatically.
claude mcp add wisegit -- npx @sandip124/wisegit serve
.mcp.jsonCreate .mcp.json in your repo root:
{
"wisegit": { "command": "npx", "args": ["@sandip124/wisegit", "serve"] } }
| Language | Extensions |
|---|---|
| C# | .cs |
| TypeScript | .ts, .tsx |
| JavaScript | .js, .jsx, .mjs, .cjs |
| Python | .py |
| Go | .go |
| Rust | .rs |
More languages can be added via Tree-sitter grammar configs in src/ast/languages/.
A commit saying fix: handle null token #134 points to an issue containing reproduction steps, root cause, and explicit decision rationale — everything the commit message never says.
# Fetch issue context from GitHub/GitLab
wisegit enrich --path /path/to/repo
GITHUB_TOKEN=ghp_... wisegit enrich
Supported platforms: GitHub, GitLab (Azure DevOps, Jira, Bitbucket planned)
Auth tokens: GITHUB_TOKEN / GH_TOKEN for GitHub, GITLAB_TOKEN for GitLab. Never stored by wisegit.
| Signal | Freeze Boost | When |
|---|---|---|
| Won't Fix / By Design | +0.35 | Issue closed as not_planned, or has wontfix/by-design label, or comment says "intentional" |
| Reproduction steps | +0.15 | Issue body contains "steps to reproduce" |
| Platform-specific label | +0.10 | Issue labeled ios, safari, windows, etc. |
| Issue unreachable | +0.10 | Issue ref exists but API returned 404 — absent context = protect more |
| PR review comments | +0.15 | Linked PR had reviewer discussion |
The freeze score is never stored directly — it's derived by replaying the event stream for each function. Signal categories:
| Category | Weight | Source |
|---|---|---|
| Git History | 0.20 | Reverts, verified keywords, incident refs, contributor count, Weibull age [18] |
| Issue Enrichment | 0.20 | Won't Fix/By Design, reproduction steps, platform labels |
| Code Structure | 0.15 | Inline comments, magic numbers, defensive patterns |
| Test Signals | 0.15 | Dedicated tests, edge case labels, co-committed tests |
| Structural Importance | 0.15 | Call count (PageRank), public API, DOE expertise model [19] |
| Naur Theory | 0.10 | Global patterns, intentional contradictions, removal cost |
| Aranda Signals | 0.05 | Forgotten patterns, timeline gaps, broken issue links |
| Obsolescence (8 signals) | adaptive | Dead code, stale subgraph, migration leftover, obsolete deps, superseded, SAAD, change burst absence, co-change divergence |
Freeze score formula:
freeze_score = base_score x (1 - obsolescence_penalty)
Protection signals produce the base score (weighted average of present signal categories, not additive sum); obsolescence signals produce the penalty. Obsolescence weights are adaptive — calibrated per-repository using Shannon entropy and Bayesian feedback. Falls back to hardcoded defaults when < 20 functions have signals. Age signal uses Weibull survival model [18] (k=0.7, lambda=2.4y); contributor expertise uses DOE model [19] (4 variables: contribution share, recency, duration, frequency).
Academic grounding: 24 published papers. See REFERENCE.md for full citations.
Tested on 3 real-world open-source codebases:
| Repo | Commits | Functions | FROZEN | STABLE | Max Score |
|---|---|---|---|---|---|
| pallets/flask | 5,565 | 4,355 | 72 | 2,272 | 0.927 |
| expressjs/express | 6,382 | 409 | 1 | 247 | 0.811 |
| zeeguu/api | 4,515 | 3,216 | 1 | 12 | 0.583 |
Flask's core APIs (__init__, run, wsgi_app, url_for) c
冒頭だけを表示しています。続きはリポジトリで読めます