Token导航 LogoToken导航TokenDH.com
Axon Go logo
数据服务未说明官方级别未说明来源级核验

Axon Go

MCP Server

Axon-Go是一个为AI代码代理构建知识图谱的MCP服务器,能够将任何代码库索引为结构化的知识图谱,并通过智能MCP工具暴露给AI代理。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
知识图谱代码分析GoClaudeClaudeCursor

安装说明

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

作者 / 组织

Benny93

提供方

Benny93

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

Axon Go是一个用于AI代码代理的MCP服务器知识图。

Axon的Go重写——为AI代码代理构建知识图。

⚠️ 这是对原版的Go重写 轴突 Harsh Kedia的项目。 原始概念、设计和Python实现的所有功劳都归功于原作者。此Go实现旨在提供单二进制部署、改进的并发性和100%的功能奇偶性。

将任何代码库索引到结构化知识图中——每个依赖关系、调用链、集群和执行流——然后通过智能MCP工具公开它,这样AI代理就不会错过代码。

$ axon-go analyze .

Walking files...               142 files found
Parsing code...                142/142
Tracing calls...               847 calls resolved
Analyzing types...             234 type relationships
Detecting communities...       8 clusters found
Detecting execution flows...   34 processes found
Finding dead code...           8 unreachable symbols
Analyzing git history...       18 coupled file pairs
Generating embeddings...       623 vectors stored

Done in 0.8s — 623 symbols, 1,847 edges, 8 clusters, 34 flows

demo

为什么去?

Go重写提供了对Python原始版本的几个改进:

  • 单二进制部署 --不需要Python运行时、pip或virtualenv
  • 100%特征奇偶校验 --所有12个流水线阶段,13个CLI命令,完整的MCP服务器
  • 多语言支持 --Go、Python和TypeScript解析器
  • 更好的并发性 --用于并行文件处理的Goroutines
  • 观看模式 --对文件更改进行实时重新索引

______________________________________________________________________

快速开始

安装

# Install from source
git clone https://github.com/Benny93/axon-go.git
cd axon-go
make build

# Or install via go install
go install github.com/Benny93/axon-go@latest

基本用法

# Index a repository
axon-go analyze .

# Start MCP server with watch mode (auto re-indexes on changes)
axon-go serve --watch

# Search the knowledge graph
axon-go query "authentication handler"

# Get 360° view of a symbol
axon-go context UserService

# Analyze blast radius
axon-go impact ValidateUser --depth 2

# Find dead code
axon-go dead-code

______________________________________________________________________

MCP工具

Axon Go为AI代码代理提供了7个MCP工具:

工具说明
axon_query混合搜索(FTS+矢量与RRF融合)
axon_context360°符号视图(调用者、被调用者、类型引用)
axon_impact带深度控制的爆破半径分析
axon_dead_code带豁免的死代码检测
axon_detect_changes变更检测和影响分析
axon_list_repos列出索引存储库
axon_cypher原始图形查询(存根,目前不支持)

MCP配置示例

重要!在将其用于项目之前,您需要运行 axon-go analyze . 在你的项目中。

~/.qwen/settings.json中qwen-cli的配置示例

...
 "mcp": {
    "allowed": ["axon-go"]
  },
  "mcpServers": {
    "axon-go": {
      "args": [
        "serve",
        "--watch"
      ],
      "command": "
/go/bin/axon-go",
      "timeout": 60000,
      "trust": true,
      "env": {},
      "includeTools": [
        "axon_query",
        "axon_context",
        "axon_impact",
        "axon_dead_code",
        "axon_list_repos",
        "axon_cypher"
      ]
    }
  }

______________________________________________________________________

命令行命令

命令描述
analyze [path]将知识库索引到知识图中
query 使用混合搜索(FTS+矢量)进行搜索
context 获得符号的360°视图
impact 分析爆破半径(可配置深度)
dead-code列出无法访问/死代码符号
watch带有实时重新索引的观看模式
diff 结构分支比较
setup为AI工具配置MCP
mcp启动MCP服务器
serve [--watch]具有可选监视模式的MCP服务器
list列出索引存储库
status显示索引状态
clean [-f]删除索引

______________________________________________________________________

管道阶段

Axon Go通过12个阶段处理代码:

flowchart TD
    A[Source Code
Go, Python, TS/JS] --> B[Phase 1: File Walking
Discover files, respect .gitignore]
    
    subgraph Structure[Structure Analysis]
        B --> C[Phase 2: Structure
File/Folder nodes]
        C --> D[Phase 3: Parsing
Extract symbols]
        D --> E[Phase 4: Imports
Resolve imports]
        E --> F[Phase 5: Calls
Trace call chains]
        F --> G[Phase 6: Heritage
Inheritance/interfaces]
        G --> H[Phase 7: Types
Type references]
    end
    
    subgraph Analysis[Global Analysis]
        H --> I[Phase 8: Communities
Louvain clustering]
        I --> J[Phase 9: Processes
Execution flows]
        J --> K[Phase 10: Dead Code
3-pass analysis]
        K --> L[Phase 11: Git Coupling
Co-change history]
    end
    
    subgraph Storage[Storage & Indexing]
        L --> M[Phase 12: Embeddings
TF-IDF vectors]
        M --> N[(BadgerDB
Key-Value Store)]
        M --> O[FTS Index
BM25]
        M --> P[Vector Index
Cosine Similarity]
    end
    
    subgraph Access[Access Layer]
        N --> Q[MCP Server
7 Tools]
        O --> Q
        P --> Q
        N --> R[CLI
13 Commands]
        O --> R
        P --> R
    end
    
    subgraph Consumers[Consumers]
        Q --> S[AI Agents
Claude Code, Cursor]
        R --> T[Developers
Terminal]
    end
    
    style Structure fill:#e1f5ff
    style Analysis fill:#fff4e1
    style Storage fill:#e8f5e9
    style Access fill:#f3e5f5
    style Consumers fill:#ffebee
阶段名称描述
1文件漫游发现文件,尊重.gitignore
2结构创建具有CONTAINS边的文件/文件夹节点
3解析提取符号(函数、类等)
4导入解析导入语句
5调用跟踪函数/方法调用
6遗产跟踪扩展/实施关系
7类型分析USES_TYPE关系
8社区检测代码簇(Louvain算法)
9进程检测来自入口点的执行流
10死代码3遍分析,有豁免
11Git耦合分析共同变更历史
12嵌入生成用于语义搜索的TF-IDF向量

______________________________________________________________________

支持的语言

语言分析器状态
去吧go/parser (AST)✅ 全力支持
Python基于正则表达式✅ 全力支持
Types/TSX基于正则表达式✅ 全力支持
JavaScript基于正则表达式✅ 全力支持

______________________________________________________________________

存储

  • 后端: BadgerDB(嵌入式键值存储)
  • 全文搜索: 自定义BM25实施
  • 矢量搜索: 具有余弦相似性的TF-IDF嵌入
  • 混合搜索: 互易秩融合(RRF)

______________________________________________________________________

例子

MCP工具使用

Axon Go的知识图谱(由BadgerDB提供支持)通过MCP工具公开。以下是AI代理如何与之交互:

启动MCP服务器:

axon-go serve --watch

工具调用示例:

// 1. Search for symbols related to "authentication"
{
  "tool": "axon_query",
  "arguments": {
    "query": "authentication handler",
    "limit": 10
  }
}

// 2. Get 360° view of a symbol (callers, callees, type refs)
{
  "tool": "axon_context",
  "arguments": {
    "symbol": "UserService.ValidateUser"
  }
}

// 3. Analyze blast radius before refactoring
{
  "tool": "axon_impact",
  "arguments": {
    "symbol": "Database.Connect",
    "depth": 2
  }
}

// 4. Find unreachable/dead code
{
  "tool": "axon_dead_code"
}

// 5. Detect changes and their impact
{
  "tool": "axon_detect_changes",
  "arguments": {
    "paths": ["src/auth.go", "src/user.go"]
  }
}

// 6. List all indexed repositories
{
  "tool": "axon_list_repos"
}

示例工作流:重构函数

  1. 找到符号: axon_query("user validation logic")
  2. 了解依赖关系: axon_context("UserService.ValidateUser")
  3. 检查冲击: axon_impact("UserService.ValidateUser", depth=2)
  4. 做出改变 (AI编辑代码)
  5. 确认无破损: axon_detect_changes(paths=["src/user.go"])

BadgerDB后端(内部)

MCP工具查询存储在BadgerDB中的知识图。密钥存储方法:

方法说明
Initialize(path, readOnly)在路径上打开BadgerDB
GetNode(ctx, id)检索图形节点
GetCallers(ctx, symbol)查找某个符号的所有调用者
GetCallees(ctx, symbol)查找此符号所调用的所有符号
HybridSearch(ctx, query, limit)组合关键字+矢量搜索
VectorSearch(ctx, vector, limit)通过嵌入进行语义搜索
GetDeadCode(ctx)查找无法访问的符号
GetNodesByLabel(ctx, label)按标签查询节点

______________________________________________________________________

项目结构

axon-go/
├── cmd/                    # CLI commands
├── internal/
│   ├── embeddings/         # TF-IDF embedding generation
│   ├── graph/              # Knowledge graph data model
│   ├── ingestion/          # 12-phase pipeline
│   ├── parsers/            # Language parsers
│   └── storage/            # BadgerDB backend
├── mcp/                    # MCP server
├── Makefile                # Build targets
└── go.mod                  # Go module definition

______________________________________________________________________

发展

# Build
make build

# Run tests
make test

# Run linter
make lint

# Run all checks
make check

# Clean build artifacts
make clean

______________________________________________________________________

从Python Axon迁移

# Uninstall Python version
pip uninstall axon

# Install Go version
go install github.com/Benny93/axon-go@latest

# Re-index (index format is different)
axon-go analyze .

保持不变的是:

  • 所有CLI命令的工作方式相同
  • MCP工具具有相同的名称和行为
  • 输出格式兼容

改进之处:

  • 单二进制部署
  • 通过goroutines提高并发性

______________________________________________________________________

致谢

这个项目是Go重写的 轴突 通过 严厉的凯迪亚.

  • 原始概念和设计: 严厉的凯迪亚
  • Python实现: 严厉的凯迪亚
  • Go实施: 本杰明·沃尔默

最初的愿景、架构和Python实现的所有功劳都属于原作者。这个Go实现旨在通过改进的部署特性来保留和扩展这项工作。

______________________________________________________________________

许可证

MIT许可证

______________________________________________________________________

贡献

欢迎投稿!

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 运行测试: make test
  5. 运行门楣: make lint
  6. 提交拉取请求

______________________________________________________________________

内置于❤️ 使用Go

目录标签

目录标签

知识图谱代码分析GoClaude本地部署AI代码代理多语言支持代码重构

支持客户端

ClaudeCursor

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP