Token导航 LogoToken导航TokenDH.com
Codebase Tests View MCP logo
开发工具stdio官方级别未说明来源级核验

Codebase Tests View MCP

MCP Server

一款用于代码库的测试可视化应用,帮助开发者可视化测试覆盖率、测试数据及代码与测试之间的关系。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
Go代码分析开发工具

安装说明

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

作者 / 组织

rntk

提供方

rntk

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

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

命令预览

docker run --rm -v $(pwd):/workspace lint-golang

详细介绍

代码库测试查看器

一个用于代码库的测试查看器应用程序,有助于可视化测试覆盖率、测试数据以及代码和测试之间的关系。

特性

  • 文件浏览器:使用简单的文件资源管理器浏览和导航您的代码库
  • 文件查看器:查看包含相关测试元数据的文件内容
  • 测试可视化:思维导图可视化,显示代码和测试之间的关系
  • 测试详细信息:测试信息的详细视图,包括输入数据和预期输出
  • MCP集成:LLM代理提交测试元数据的模型上下文协议端点

建筑

后端(Go)

  • 纯净 net/http 处理程序(无外部框架)
  • 测试元数据的JSON文件持久性
  • LLM集成的MCP(模型上下文协议)端点
  • RESTful API端点

前端(React+TypeScript)

  • 具有文件资源管理器、文件预览和测试面板的三面板布局
  • 基于SVG的思维导图可视化
  • 无外部UI依赖关系

Docker 快速入门

运行应用程序最简单的方法是使用Docker Compose:

# Build and run
docker-compose up

# Access the application
open http://localhost:8080

该应用程序将:

  • 为前端提供服务 http://localhost:8080
  • 在提供API端点 http://localhost:8080/api/*
  • 将元数据存储在 ./metadata/metadata.json
  • 从当前目录浏览文件

路径合同

服务器处理 -dir 标记为规范代码库根。通过REST API或MCP工具发送的每条路径必须 相对于该根的repo.

  • 对的: internal/files/service.go
  • 不正确: /app/internal/files/service.go
  • 不正确: /workspace/internal/files/service.go

当您在不同的容器中运行代理和查看器时,这很重要。在今天的这个仓库中,代理容器在以下位置挂载仓库 /app,而Docker Compose服务器将其挂载在 /workspace相对路径在两个容器之间都是可移植的;绝对路径不是。

手动构建

先决条件

  • Go 1.22+(兼容Go 1.25.4)
  • Node.js 18+
  • npm

构建前端

cd frontend
npm install
npm run build

构建后端

go build -o server ./cmd/server

./server -port 8080 -dir . -metadata metadata.json

当在主机上运行时, -dir . 意味着所有API和MCP文件路径必须相对于当前存储库根。

API终点

文件操作

方法端点描述
得到`/api/files?path=
`列出文件/目录
得到`/api/files/
`获取文件内容+元数据
得到`/api/files/
/tests`获取文件的相关测试

MCP端点

方法端点描述
职位/api/mcpMCP JSON-RPC 2.0端点

支持的MCP方法

  • initialize -初始化MCP会话
  • tools/list -列出可用工具
  • tools/call -执行工具(例如。, submit-test-metadata)
  • prompts/list -列出可用提示
  • prompts/get -获取特定提示

使用MCP端点

提交测试元数据

使用 submit-test-metadata 注册测试信息的工具:

curl -X POST http://localhost:8080/api/mcp \\
  -H "Content-Type: application/json" \\
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "submit-test-metadata",
      "arguments": {
        "sourceFile": "internal/files/service.go",
        "tests": [
          {
            "testFile": "internal/files/service_test.go",
            "testName": "TestListFiles",
            "lineRange": {"start": 10, "end": 25},
            "inputLines": {"start": 12, "end": 15},
            "outputLines": {"start": 20, "end": 22}
          }
        ]
      }
    }
  }'

sourceFiletestFile 必须始终是相对于repo的路径。不要提交容器特定的绝对路径。

获得LLM提示

curl -X POST http://localhost:8080/api/mcp \\
  -H "Content-Type: application/json" \\
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "prompts/get",
    "params": {
      "name": "codebase-tests-review",
      "arguments": {
        "functionName": "ListFiles",
        "filePath": "internal/files/service.go"
      }
    }
  }'

filePathtestFilePath 对于MCP提示,遵循相同的规则:它们必须相对于服务器 -dir 根。

发展

前端开发

对于使用热重载的前端开发:

cd frontend
npm run dev

开发服务器将代理 /api/* 请求 http://localhost:8080.

仅运行后端

go run ./cmd/server -port 8080 -dir . -metadata metadata.json

排除路径错误

如果你看到一个错误,比如 path "/app/..." is outside configured codebase root "/workspace",元数据或MCP请求使用了绝对容器路径。

通过以下方式修复:

  1. 使用repo相对路径重新提交元数据,例如 internal/files/service.go
  2. 打开应用程序 Issues 选项卡,用于修复或删除仍然引用无效路径的过时元数据条目

代码检查

您可以使用提供的Dockerfiles对Go和TypeScript运行linting检查:

# Run Golang lint
docker build -f Dockerfile.lint.golang -t lint-golang .
docker run --rm -v $(pwd):/workspace lint-golang

# Run TypeScript lint
docker build -f Dockerfile.lint.typescript -t lint-typescript .
docker run --rm -v $(pwd):/workspace lint-typescript

项目结构

.
├── cmd/
│   └── server/           # Server entry point
├── internal/
│   ├── api/              # HTTP handlers and routing
│   ├── files/            # File operations and models
│   ├── mcp/              # MCP protocol implementation
│   └── metadata/         # Test metadata storage
├── frontend/             # React frontend
│   ├── src/
│   │   ├── components/   # React components
│   │   ├── hooks/        # Custom React hooks
│   │   ├── api/          # API client
│   │   └── types/        # TypeScript types
│   └── public/
├── Dockerfile            # Multi-stage Docker build
├── docker-compose.yml    # Docker Compose configuration
└── go.mod               # Go module definition

配置

命令行标志

  • -port -服务器端口(默认:8080)
  • -dir -用于提供文件的基本目录;这是所有API和MCP路径的规范根(默认值:当前目录)
  • -metadata -元数据JSON文件的路径(默认:metadata.JSON)

环境变量(Docker)

  • PORT -服务器端口
  • METADATA_PATH -元数据文件的路径

许可证

麻省理工学院

目录标签

目录标签

Go代码分析开发工具测试可视化本地部署测试覆盖率LLM集成

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP