Token导航 LogoToken导航

MCP Server · 开发工具

codesurface (Codeturion)

一个通过索引代码库公共API并提供高效查询工具,以减少AI代理处理代码时所需令牌数的MCP服务器。适用于多种编程语言的项目。

stdio官方级别未说明来源级核验工具 5
代码索引开发工具PythonClaudeCursorWindsurfVS Code

快速开始

作者 / 组织
Codeturion
提供方
Codeturion

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

22

仓库热度

收录来源

1 个

MCP World

选型结论

codesurface (Codeturion) 属于开发工具类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude、Cursor、Windsurf,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install codesurface

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

代码表面

MCP服务器,在启动时为代码库的公共API编制索引,并通过紧凑的工具响应为其提供服务,保存令牌而不是读取源文件。

解析源文件,提取公共类/方法/属性/字段/事件,并通过5个MCP工具为其提供服务。适用于Claude Code、Cursor、Windsurf或任何兼容MCP的AI工具。

支持的语言: C.cs),C++头文件(.h, .hpp, .hxx, .h++)去吧(.goJava.javapython.py),Types/JavaScript(.ts, .tsx, .js, .jsx)

快速开始

添加到您的 .mcp.json:

{
  "mcpServers": {
    "codesurface": {
      "command": "uvx",
      "args": ["codesurface", "--project", "/path/to/your/src"]
    }
  }
}

点 --project 在包含支持的源文件的任何目录(Unity Assets/Scripts 文件夹,一个Spring Boot项目,一个。网 src/ 树、Node.js/RReact项目、Python包等)。语言是自动检测的。

重新启动AI工具并询问: *“MyService有哪些方法?”*

CLAUDE.md片段

将此添加到您的项目 CLAUDE.md (或等效的说明文件)。 这一步很重要。 没有它,人工智能有工具,但不知道什么时候可以使用它们。

## Codebase API Lookup (codesurface MCP)

Use codesurface MCP tools BEFORE Grep, Glob, Read, or Task (subagents) for any class/method/field lookup. This applies to you AND any subagents you spawn.

| Tool | Use when | Example |
|------|----------|---------|
| `search` | Find APIs by keyword | `search("MergeService")` |
| `get_signature` | Need exact signature | `get_signature("TryMerge")` |
| `get_class` | See all members on a class | `get_class("BlastBoardModel")` |
| `get_stats` | Codebase overview | `get_stats()` |

Every result includes file path + line numbers. Use them for targeted reads:
- `File: Service.cs:32` → `Read("Service.cs", offset=32, limit=15)`
- `File: Converter.java:504-506` → `Read("Converter.java", offset=504, limit=10)`

Never read a full file when you have a line number. Only fall back to Grep/Read for implementation details (method bodies, control flow).

工具

工具目的示例
search按关键字查找API“MergeService”、“BlastBoard”、“GridCoord”
get_signature按名称或FQN进行精确签名“TryMerge”,“CampGame.Services.IMergeService.TreeMerge”
get_class包含所有公共成员的完整班级参考卡“BlastBoardModel”→ 所有方法/字段/属性
get_stats索引代码库概述文件计数、记录计数、命名空间细分
reindex增量索引更新(基于mtime)仅重新解析更改/新建/删除的文件。查询未命中时也会自动运行

search, get_signature,以及 get_class 接受两个可选筛选器:

  • file_path:作用域结果为目录前缀或精确文件(例如。 "src/services/" 或 "src/services/MergeService.ts")
  • include_tests:在结果中包含测试文件(默认值 false).发现 __tests__/, tests/, test/, *.test.*, *.spec.*, *_test.*, test_*

已测试

项目语言文件记录时间
VS CodeTypeScript6611882939.3秒
纸张Java2909339732.3秒
客户去前进21927600.4秒
语言链Python1880124181.1秒
皮丹提克Python36596480.3秒
番石榴Java89183772.4秒
立即TypeScript91979570.6秒
FastAPIPython88157130.5秒
蚂蚁设计TypeScript294754520.9秒
迪菲TypeScript490350381.9秒
爬行pythonPython38624730.3秒
烧瓶Python63872\ from(Function forward, Function backward)

File: Converter.java:504-506 ← multi-line signature

[METHOD] server.AlbumController.createAlbum Signature: createAlbum(@Auth() auth: AuthDto, @Body() dto: CreateAlbumDto) File: album.controller.ts:46 ← single-line


这让AI代理可以做到 **定向阅读** 而不是读取完整文件:

Instead of reading the entire 600-line file:

Read("Converter.java") # 600 lines, ~12k tokens

Read just the method + context:

Read("Converter.java", offset=504, limit=10) # 10 lines, ~200 tokens


## 基准测试

在5种语言的5个真实世界项目中进行测量,每个项目使用10步跨领域研究工作流程。

|语言|项目|文件|记录|MCP|熟练|天真|MCP与熟练|
|----------|---------|------:|--------:|----:|--------:|------:|---------------:|
|C#|团结游戏| 129 | 1034| **1,021** |4453 | 11825 |减少77%|
|TypeScript | immich | 694 | 8344| **1,451** |4500 | 14550 |减少68%|
|爪哇|番石榴| 891 | 8377| **1,851** |4200 | 26700 |减少56%|
|围棋|杜松子酒|38|534| **1,791** |2770 | 15300 |减少35%|
|Python |代码表面|9|40| **753** |2000 | 10400 |减少62%|

即使有后续的实施细节读取,混合MCP+目标读取方法也使用 **代币减少44%** 比熟练的Grep+Read代理和 **减少87%** 比一个天真的代理人:

### 按问题细分

看 [工作流程基准.md](workflow-benchmark.md) 用于所有语言的完整分步分析。

## 过滤索引内容

默认情况下,codesurface跳过常见的供应商、构建和VCS目录: `node_modules`, `vendor`, `bin`, `obj`, `dist`, `build`, `target`, `.git`, `.venv`, `__pycache__`还有几十个人。Git工作树和子模块也被跳过。

要排除其他路径,请执行以下操作:

**项目级别(已承诺):** 创建一个 `.codesurfaceignore` 文件位于项目根目录,每行一个glob。

generated/ docs/ **/*.pb.go


**每个实例(CLI):** 通过 `--exclude` 用逗号分隔的球体。

{ "command": "uvx", "args": ["codesurface", "--project", "src", "--exclude", "generated/,vendor/"] }


其他索引标志:

- `--include-submodules`:索引git子模块(默认跳过)
- `--language `:固定到单个解析器(例如。 `--language cpp`)而不是自动检测

## 多个项目

每 `--project` 标志索引一个目录。要索引多个代码库,请运行具有不同服务器名称的单独实例:

{ "mcpServers": { "codesurface-backend": { "command": "uvx", "args": ["codesurface", "--project", "/path/to/backend/src"] }, "codesurface-frontend": { "command": "uvx", "args": ["codesurface", "--project", "/path/to/frontend/src"] } } }


每个实例都有自己的内存索引和工具。AI代理可以看到这两者,并可以跨项目查询。

## 安装详细信息

Alternative installation methods

**使用pip安装:**

pip install codesurface

{ "mcpServers": { "codesurface": { "command": "codesurface", "args": ["--project", "/path/to/your/src"] } } }


Project structure

codesurface/ ├── src/codesurface/ │ ├── server.py # MCP server with 5 tools │ ├── db.py # SQLite + FTS5 database layer │ ├── filters.py # PathFilter (default exclusions, .codesurfaceignore, --exclude) │ └── parsers/ │ ├── base.py # BaseParser ABC │ ├── cpp.py # C++ header parser │ ├── csharp.py # C# parser │ ├── go.py # Go parser │ ├── java.py # Java parser │ ├── python_parser.py # Python parser │ └── typescript.py # TypeScript/JavaScript parser ├── pyproject.toml └── README.md


Troubleshooting

**“没有索引代码库”**

- 确保 `--project` 指向包含受支持源文件的目录(`.cs`, `.h`, `.hpp`, `.go`, `.java`, `.py`, `.ts`, `.tsx`, `.js`, `.jsx`)
- 服务器在启动时索引。检查stderr `[codesurface] scanning N files...` 和 `[codesurface] done:` 线条

**服务器无法启动**

- 检查Python版本: `python --version` (需要3.10+)
- 检查 `mcp[cli]` 已安装: `pip install mcp[cli]`

**编辑源文件后结果过时**

- 索引在查询未命中时自动刷新。如果添加新类并查询它,服务器会自动重新索引并重试
- 您也可以致电 `reindex()` 手动强制增量更新

______________________________________________________________________

## 联系

fuatcankoseoglu@gmail.com

## 许可证

[麻省理工学院](LICENSE)

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

代码索引Python本地部署API查询多语言支持开发工具AI辅助

支持客户端

ClaudeCursorWindsurfVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor、Windsurf,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
codesurface (Codeturion)

MCP World · 本页

5stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

codesurface (Codeturion) 怎么安装?

公开资料给出的安装命令是 pip install codesurface,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

codesurface (Codeturion) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

codesurface (Codeturion) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

codesurface (Codeturion) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

codesurface (Codeturion) 支持哪些客户端?

公开资料标注支持 Claude、Cursor、Windsurf、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP