nikondrat/cctx-mcp

GitHub: nikondrat/cctx-mcp

基于 MCP 协议和 tree-sitter AST 的代码上下文服务器,帮助 AI agent 以极低 token 开销获取项目结构、符号、依赖与语义信息。

Stars: 0 | Forks: 0

CCTX-MCP

将 AI agent 的 token 使用量减少 87%。
通过 Model Context Protocol 进行结构感知的代码分析 — 返回符号树、依赖项和文档,而不是原始文件内容。

PyPI Python Stars CI License Beta

## 概述 **CCTX-MCP** — 通过 Model Context Protocol 提供代码上下文。这是一个 MCP 服务器,可让 AI agent 在不读取整个文件的情况下获取源代码的结构化视图。 专为 **Claude**、**Cursor**、**OpenCode** 以及任何兼容 MCP 的 AI 编码工具构建。

uvx cctx-mcp  ·  工具  ·  节省  ·  安装

## 快速开始 ``` uvx cctx-mcp ``` 添加到你的 MCP 客户端配置中: ``` { "mcpServers": { "cctx-mcp": { "command": "uvx", "args": ["cctx-mcp"] } } } ``` ## 工具 ### 代码分析 | 工具 | 返回内容 | 替代操作 | 节省量 | |------|---------|----------|---------| | `smart_read` | 符号层级、依赖项、文档、行数统计 | `cat` + 手动解析 | ~87% | | `find_symbols` | 按名称或类型查找符号位置 | `grep -r` + 文件读取 | ~99% | | `get_dependencies` | 一次性获取文件的所有导入 | `grep ^import` | ~96% | | `trace_calls` | 包含文件和行号的每一个调用点 | 跨仓库的 `grep` | ~90% | | `get_symbol_summaries` | 每个符号的 AI 语义描述 | 阅读实现代码 | ~85% | ### 搜索与导航 | 工具 | 返回内容 | 替代操作 | 节省量 | |------|---------|----------|---------| | `analyze_project` | 语言分布、文件数量、目录树 | `find` + `wc` | ~98% | | `code_search` | 带上下文行的正则匹配结果 | `grep` + `cat` | ~90% | | `semantic_search` | 基于自然语言查询索引代码库 | 阅读所有内容 | ~96% | | `dir_summary` | 带大小的目录列表 | `ls -la` | ~80% | | `find_files` | 匹配名称、扩展名、路径的文件 | `find` | ~80% | ### Git 与提交 | 工具 | 返回内容 | 替代操作 | 节省量 | |------|---------|----------|---------| | `compact_change_intelligence` | 带意图提示的结构化 git diff | `git diff` + `git status` | ~75% | | `draft_commit` | AI 生成的 Conventional commit 提交信息 | 从头开始编写 | ~90% | | `approve_commit_draft` | 审查后执行提交 | `git add` + `git commit` | — | ### 可观测性 `get_config` · `get_health` · `get_metrics_report` · `get_metrics_events` · `get_metrics_daily_trend` · `get_metrics_slowest` · `get_version` ## Token 节省量 | 操作 | 原生方式 | 使用 CCTX-MCP | 节省量 | |-----------|-------:|--------------:|--------:| | 读取 500 行文件 | ~1,500 tokens | ~200 tokens | **87%** | | 在项目中查找函数 | ~5,000 tokens | ~50 tokens | **99%** | | 理解导入关系 | ~800 tokens | ~30 tokens | **96%** | | 跨代码库的语义查询 | ~8,000 tokens | ~300 tokens | **96%** | | 分析项目结构 | ~10,000 tokens | ~150 tokens | **98%** | | Git 变更摘要 | ~3,000 tokens | ~750 tokens | **75%** | 典型会话:**总计节省 80%+**。 ## 支持的语言

Swift Python TypeScript JavaScript Rust Go Dart

由 [tree-sitter](https://tree-sitter.github.io/) AST 提供支持 — 每种语言都有专属的解析器。 ## 安装 ### uvx(推荐) ``` { "mcpServers": { "cctx-mcp": { "command": "uvx", "args": ["cctx-mcp"] } } } ``` ### pip ``` pip install cctx-mcp ``` ``` { "mcpServers": { "cctx-mcp": { "command": "python", "args": ["-m", "code_context.server"] } } } ``` ### 源码 ``` git clone https://github.com/nikondrat/cctx-mcp.git cd cctx-mcp uv sync uv run python -m code_context.server --skip-index ``` ## 配置 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `CC_OLLAMA_URL` | `http://localhost:11434` | Ollama 服务器地址 | | `CC_OPENROUTER_API_KEY` | — | 远程推理密钥 | | `CC_LLM_ROUTER` | `local-first` | `local-first`、`local-only`、`remote-first`、`remote-only` | | `CC_COMMIT_MODEL` | `gemma4:latest` | 用于生成提交信息的本地模型 | | `CC_EMBED_MODEL` | `nomic-embed-text` | 用于 Embedding 的本地模型 | | `CC_SEMANTIC_SUMMARIES` | `1` | 启用 AI 符号摘要 | ## 开发 ``` uv sync uv run pytest tests/ -v ``` 欢迎提交 PR。[提出问题](https://github.com/nikondrat/cctx-mcp/issues)。 ## 许可证 MIT — 可免费用于任何用途。
标签:AI风险缓解, AST 解析, Dart, DLL 劫持, DNS解析, Go, IDE 插件, LLM 提示词工程, MCP, Model Context Protocol, Python, Ruby工具, Rust, SOC Prime, Swift, Token 优化, tree-sitter, TypeScript, WebSocket, 上下文提取, 云安全监控, 代码分析, 代码理解, 代码结构, 依赖分析, 凭证管理, 大语言模型, 安全插件, 开发工具, 开源项目, 无后门, 符号树, 网络流量审计, 逆向工具, 降本增效, 静态分析