Token导航 LogoToken导航TokenDH.com
Vb6 Lsp logo
开发工具未说明官方级别未说明来源级核验

Vb6 Lsp

MCP Server

VB6语言服务器是一个针对Visual Basic 6代码库的语言服务器和MCP服务器,提供代码分析、导航和编辑功能。

工具数

31

提示词数

0

GitHub Stars

2

资源数

0
代码导航TypeScriptClaude代码分析Claude

安装说明

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

作者 / 组织

Agwstin

提供方

Agwstin

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

VB6语言服务器

](./package.json) ![License](./LICENSE) ![Tests](./tests)

vb6-lsp 是一个Visual Basic 6语言服务器加上用于现实世界遗留VB6代码库的MCP服务器。

它了解多项目 .vbp 工作区,快速索引大型源代码树,并向编辑器和代理工具公开相同的VB6分析引擎。

概览

表面用例包括
LSP编辑器和IDE工作流定义、引用、悬停、完成、重命名、诊断、成员访问、折叠
MCP代理和工具驱动的工作流符号查找、捆绑分析、项目信息、调用图跟踪、状态突变、摘要

特性

  • .vbp-感知工作空间发现
  • 转到定义
  • 查找引用
  • 悬停
  • 文件符号
  • 工作区符号
  • 完成
  • 签名帮助
  • 重命名
  • 对类型化变量和UDT的成员访问
  • 内部会员访问权限 With
  • 多行VB6符号的折叠范围
  • 用于声明和符号使用的语义标记
  • 常见诊断的代码操作
  • 对缺失的块终止符、重复的公共符号和缺失的诊断 Option Explicit
  • 未解决例程的诊断
  • 未解决的诊断 With 接收者
  • 缺少外部项目引用的诊断
  • 常见赋值模式的基本类型推理
  • .vbp 项目元数据和外部引用解析
  • 基本 .frm 设计者/控制意识
  • 用于索引VB6工作流的内置stdio MCP服务器
  • 用于解释、呼叫流、突变和入口点的代理优先分析工具
  • 数据包处理程序和UI表单的专用工作流程
  • 用于单个调用符号/模块调查的捆绑分析工具

快速开始

git clone https://github.com/your-user/vb6-lsp.git
cd vb6-lsp
npm install
npm test

运行LSP服务器:

npm run lsp:stdio

运行MCP服务器:

npm run mcp:stdio

为什么选择LSP和MCP?

该项目有意同时运送以下两种货物:

  • 语言服务器协议 是给编辑的。它支持交互式编码功能,如定义、悬停、完成、重命名和诊断。
  • 主控程序 用于AI代理和其他结构化工具。它公开了索引操作,如符号查找、引用、代码搜索、函数读取和模块摘要。

它们不是两个独立的分析引擎。两者都由相同的VB6解析器、索引器和符号模型支持。

工作区发现

默认情况下, vb6-lsp:

  1. 使用活动工作区根。
  2. 发现 .vbp 递归文件。
  3. 从中提取源目录 Module=, Class=, Form= 以及相关条目。
  4. 合并任何额外的 vb6.sourcePaths 由用户配置。

示例设置:

{
  "vb6.workspaceRoot": "C:/path/to/workspace",
  "vb6.projectFiles": ["ProjectA/App.vbp", "Shared/Library.vbp"],
  "vb6.sourcePaths": ["src", "shared", "legacy/forms"],
  "vb6.preferProjectFiles": true
}

MCP工具

内置的MCP服务器公开了:

  • find_symbol
  • list_symbols
  • find_references
  • search_code
  • read_function
  • signature
  • module_info
  • project_info
  • list_projects
  • reference_info
  • type_members
  • explain_symbol
  • find_callers
  • find_callees
  • trace_flow
  • find_related_symbols
  • find_state_mutations
  • find_network_entrypoints
  • find_ui_entrypoints
  • summarize_module
  • analyze_packet_handler
  • analyze_ui_form
  • analyze_symbol
  • analyze_module
  • trace_inbound_flow
  • trace_outbound_flow
  • analyze_state_symbol
  • analyze_startup_flow
  • analyze_project_reference_impact
  • index_stats
  • reindex_vb6

stdio MCP传输已通过Codex和Claude Code验证。

遥测

MCP服务器支持 本地选择遥测 用于测量真实世界的工具使用情况。

使用环境变量启用它:

VB6_LSP_TELEMETRY_ENABLED=true
VB6_LSP_TELEMETRY_DIR=/path/to/telemetry

它将JSONL事件写入 mcp-usage.jsonl 使用非敏感元数据,例如:

  • 工具名称
  • 持续时间
  • 结果计数
  • 输出尺寸
  • 缓存命中状态
  • 错误存在

确实如此 日志提示、源文件内容或完整的MCP有效负载体。

基准

该存储库包括一个可复制的基准脚本:

npm run benchmark -- --root "C:/path/to/vb6-workspace" --source-dirs "src;forms;shared"

来自大型现实世界VB6工作区的示例快照:

基准vb6 lspgit grep获胜者
索引启动448.92毫秒n/agrep
精确符号查找0.00毫秒122.17毫秒lsp
参考搜索2.18毫秒116.36毫秒lsp
范围文本搜索0.54毫秒67.00毫秒lsp
无格式文本搜索36.20毫秒122.96毫秒lsp

完整的基准注释: docs/benchmark.md

与Codex一起使用

示例 ~/.codex/config.toml 条目:

[mcp_servers.vb6-lsp]
command = "node"
args = ["C:/path/to/vb6-lsp/out/mcp/mcp/server.js"]
env = { VB6_LSP_ROOT = "C:/path/to/your/vb6-workspace" }

如果要强制特定的项目文件或源目录:

[mcp_servers.vb6-lsp]
command = "node"
args = ["C:/path/to/vb6-lsp/out/mcp/mcp/server.js"]
env = { VB6_LSP_ROOT = "C:/path/to/workspace", VB6_LSP_PROJECT_FILES = "ProjectA/App.vbp;ProjectB/Tools.vbp", VB6_LSP_SOURCE_DIRS = "src;shared;forms" }

食品法典兼容性说明:

  • 根据内置的stdio MCP流进行验证
  • 除了工作外,不需要额外的包装 node 可在环境中执行

与Claude Code一起使用

示例 ~/.claude/mcpServers.json 条目:

{
  "mcpServers": {
    "vb6-lsp": {
      "command": "node",
      "args": ["C:/path/to/vb6-lsp/out/mcp/mcp/server.js"],
      "env": {
        "VB6_LSP_ROOT": "C:/path/to/your/vb6-workspace"
      }
    }
  }
}

克劳德代码注释:

  • 如果配置更改后MCP服务器未出现,请完全重新启动Claude Code
  • 在某些Windows设置中,将MCP配置指向显式 node.exe 路径

示例提示

  • Find where ProcessOrder is defined and summarize what it does.
  • List the public symbols in modInventory.bas.
  • Find references to ApplyDamage.
  • Read the full body of HandleConnection from clsSocketServer.cls.
  • Show me the signature of WriteInteger.
  • Summarize modCombat.bas before we change it.
  • Search the VB6 codebase for MagicEffect in the server-side modules only.

发展

常见工作流程:

npm install
npm run build:all
npm test

有用的脚本:

npm run build:all
npm run lsp:stdio
npm run mcp:stdio
npm run benchmark -- --root "C:/path/to/workspace" --source-dirs "src;forms;shared"
npm run package:vsix
npm test

有用的文件夹:

  • src/server/indexer/* 用于解析和索引
  • src/server/providers/* LSP功能
  • src/mcp/* 用于MCP工具
  • tests/* 用于自动验证

该仓库还包括一个VS代码启动配置,该配置在中的夹具工作区启动一个扩展主机 tests/fixtures/sample-workspace.

范围

3.3.0 位置 vb6-lsp 作为实用的VB6编辑器集成和稳定的代理优先MCP分析界面:

  • 通过以下方式发现便携式工作空间 .vbp
  • 项目范围内的符号搜索和导航
  • 主要创作功能的上下文局部/参数感知解析
  • 当接收器类型已知时,成员访问
  • 内部成员访问权限 With
  • 基本形式/控制意识 .frm 文件
  • 项目/参考意识 .vbp
  • 更丰富的MCP工作流程,用于项目和参考检查
  • 高级代理优先分析工作流
  • 用于常见遗留VB6调查任务的专用工作流程
  • 对符号和模块进行捆绑式单调用分析
  • 定向流追踪与面向状态的分析
  • 更智能的排序和修剪,用于重代理分析
  • 项目级启动/参考影响工作流
  • 编辑器中的语义标记和更丰富的快速修复
  • 存储库中包含的官方stdio MCP服务器

它不是一个完整的VB6编译器或完整的COM/类型推理引擎。

验证

自动化测试包括:

  • .vbp 配置发现
  • 模块符号、属性、局部变量和参数的索引器行为
  • 对类模块和UDT字段的成员访问
  • 多行VB6符号的折叠范围
  • 索引声明的语义标记
  • 常见诊断的代码操作
  • 项目元数据和外部引用解析
  • 从公共赋值中推断基本类型
  • 为项目、引用和类型成员提供更丰富的MCP工作流
  • 用于解释、追踪、突变和入口点发现的高级代理工作流
  • 用于数据包处理程序和UI繁重表单的专门分析工作流
  • .frm 设计器控制索引
  • 内部成员访问权限 With
  • 缺少外部项目参考诊断
  • 通过stdio的LSP端到端请求
  • MCP stdio工具公开、索引和更丰富的工具工作流程

目录标签

目录标签

代码导航TypeScriptClaude代码分析VisualBasic6本地部署语言服务器MCP服务器

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

31

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP