Token导航 LogoToken导航

MCP Server · 开发工具

dlang MCP

为D语言工具提供语义包搜索的模型上下文协议服务器,支持代码质量分析、构建测试运行、包依赖管理和语义搜索等功能。

未说明官方级别未说明来源级核验工具 20
包管理代码分析开发工具Claude搜索

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
burner
提供方
burner

工具数量

20

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

dlang MCP 属于开发工具类 MCP Server,公开资料标注 20 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

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

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

dlang_mcp-D语言mcp服务器

用于D语言工具的MCP(模型上下文协议)服务器,具有语义包搜索功能。

状态

  • 一天中主要是氛围编码
  • 仅在linux上测试
  • PR的欢迎
  • 实际上不确定LLM是否正确使用或是否真的有用
  • 如果你有更好的东西,请告诉我

功能(20个MCP工具)

代码质量与分析

  • 数字扫描仪 --对bug、样式问题和复杂性进行静态分析。支持多种模式:lint(默认)、语法验证、导入列表、行数、AST生成和ctags输出。可配置的检查预设(默认、严格、最小)。
  • 可维护性设计 --使用可配置的大括号样式(allman、otbs、stroustrup)、缩进和行长度格式化D源代码。粘贴代码,返回格式化代码。
  • compile_check --编译检查D代码,无需链接或运行。捕获类型错误、未定义的标识符和语法错误。接受内联代码或文件路径;集 dub_project 用于自动解析导入路径。支持dmd和ldc2。
  • 覆盖率分析 --从以下方面分析代码覆盖率 .lst 由以下人员生成的文件 dmd -cov 或 ldc2 --cov.按最多未覆盖行排序的每个功能覆盖率统计数据报告。将其指向单个文件或目录以扫描所有文件 .lst 文件夹。

构建、测试和运行

  • 建筑工程 --构建一个D/dub项目并获得结构化的结果:成功/失败、编译器错误(包含文件/行/消息)和警告。支持调试/发布版本、编译器选择(dmd/ldc2)和强制重建。
  • run_tests --为D/dub项目运行单元测试。如果构建失败,则返回通过/失败计数、测试输出和编译器错误。支持测试名称过滤和详细输出。
  • run_工程 --构建并执行一个D/dub项目,返回stdout、stderr和exit代码。将参数传递给构建的程序。

包和依赖关系管理

  • 食品包装 --从dub注册表下载一个D包到本地缓存。(可选)指定版本。
  • 升级依赖性 --将项目依赖项升级到允许的最新版本。支持 missing_only (无需升级即可获取)以及 verify (检查一致性,不进行修改)。
  • 分析工程 --分析D/dub项目的构建配置:项目名称、依赖版本、源文件、导入路径和构建设置。用途 dub describe 回退到直接文件解析。

代码导航和结构

  • ctags_search --在项目中按名称搜索符号定义(函数、类、结构、枚举)。支持精确、前缀和正则表达式匹配以及类型过滤。需要时自动生成标签文件。
  • get_module_outline --获取D源文件中每个符号的层次轮廓:名称、种类、行号、可见性、属性(@safe, @nogc, nothrow, pure),返回类型、参数和ddoc注释。接受文件路径或内联代码。
  • list_project_modules --列出项目中的所有模块及其公共API(函数、类、结构、带签名的枚举)的摘要。
  • ddoc_分析 --使用DMD的JSON输出分析整个项目的文档覆盖率和属性使用情况。按模块报告文档覆盖率百分比、功能/类型计数和模板统计。

语义搜索(需要索引数据库)

这些工具搜索索引D包的本地SQLite数据库。使用 --ingest 填充数据库,并可选择启用ONNX神经嵌入或sqlite-vec向量相似性以获得更好的结果(请参见 语义搜索设置).

  • 搜索包 --按名称、描述或标签搜索索引的D包。查找给定任务的库。
  • 搜索功能 --在所有索引包中按名称、签名或描述搜索函数定义。了解如何在D中做事。
  • 搜索类型 --按名称或描述搜索类型定义(类、结构、接口、枚举)。按种类过滤。
  • 搜索示例 --按描述或代码模式搜索可运行的D代码示例。返回包含所需导入的完整代码段。
  • get_imports --查找D符号所需的导入语句。传递符号名称,返回 import 线。

诊断

  • get_feature_status --检查哪些可选运行时功能可用:数据库、ONNX嵌入、sqlite-vec、外部工具(dscanner、dfmt)和活动搜索模式。有助于诊断问题。

快速开始

先决条件

  • DMD 2.100+或LDC
  • dub包管理器
  • dscanner和dfmt(用于代码分析工具)
  • SQLite 3.40+支持FTS5

构建

dub build

一个命令设置

chmod +x setup.sh && ./setup.sh

这将构建项目,安装可选组件(sqlite-vec、ONNX),并接收示例包。使用 --skip-onnx 对于仅限TF IDF的最小设置,或 --skip-packages 跳过包裹摄入。

最小手动设置

# 1. Build
dub build

# 2. Initialize database
./bin/dlang_mcp --init-db

# 3. Ingest some packages
./bin/dlang_mcp --ingest --package=phobos
./bin/dlang_mcp --ingest --package=intel-intrinsics

# 4. Train TF-IDF embeddings
./bin/dlang_mcp --train-embeddings

# 5. Run the MCP server
./bin/dlang_mcp

有关使用神经嵌入(ONNX)或向量相似性(sqlite-vec)的语义搜索,请参阅 语义搜索设置 在......下面

MCP客户端配置

克劳德桌面版

增添 ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "dlang": {
      "command": "/path/to/dlang_mcp/bin/dlang_mcp"
    }
  }
}

开源代码

增添 ~/.config/opencode/opencode.json:

{
  "mcp": {
    "dlang-mcp": {
      "type": "local",
      "command": ["/path/to/dlang_mcp/bin/dlang_mcp"],
      "enabled": true
    }
  }
}

GitHub副本(VS代码)

增添 .vscode/mcp.json 在您的工作空间中:

{
  "servers": {
    "dlang-mcp": {
      "type": "stdio",
      "command": "/path/to/dlang_mcp/bin/dlang_mcp"
    }
  }
}

GitHub Copilot命令行界面

增添 ~/.config/github-copilot/github-copilot-cli/mcp.json:

{
  "servers": {
    "dlang-mcp": {
      "type": "stdio",
      "command": "/path/to/dlang_mcp/bin/dlang_mcp"
    }
  }
}

OpenAI Codex命令行界面

增添 ~/.codex/config.json:

{
  "mcpServers": {
    "dlang-mcp": {
      "type": "stdio",
      "command": "/path/to/dlang_mcp/bin/dlang_mcp"
    }
  }
}

泽德

增添 ~/.config/zed/settings.json:

{
  "context_servers": {
    "dlang-mcp": {
      "command": {
        "path": "/path/to/dlang_mcp/bin/dlang_mcp",
        "args": []
      },
      "settings": {}
    }
  }
}

命令行参考

# Run as MCP server over stdio (default)
./bin/dlang_mcp

# Run as MCP server over HTTP (SSE + streamable endpoints)
./bin/dlang_mcp --http --port=3000 --host=127.0.0.1

# Initialize the search database
./bin/dlang_mcp --init-db

# Show database statistics
./bin/dlang_mcp --stats

# Show runtime feature status
./bin/dlang_mcp --feature-status

# Ingest a single package from code.dlang.org
./bin/dlang_mcp --ingest --package=silly

# Ingest all packages from code.dlang.org
./bin/dlang_mcp --ingest

# Ingest with limit and fresh start
./bin/dlang_mcp --ingest --limit=50 --fresh

# Show ingestion progress
./bin/dlang_mcp --ingest-status

# Build vector embeddings
./bin/dlang_mcp --train-embeddings

# Mine usage patterns from indexed data
./bin/dlang_mcp --mine-patterns

# Analyze a D project (standalone, no MCP)
./bin/dlang_mcp --analyze-project=/path/to/project
./bin/dlang_mcp --ddoc-analyze=/path/to/project

# Test search with a query
./bin/dlang_mcp --test-search="hash table lookup"

# Verbose logging (--verbose for info, --vverbose for trace)
./bin/dlang_mcp --verbose

# Set process execution timeout (default: 30s)
./bin/dlang_mcp --timeout=60

# Show help
./bin/dlang_mcp --help

直接运行MCP工具(不需要MCP客户端)

每个MCP工具都可以直接从命令行调用。传递一个JSON参数字符串并获取完整的 ToolResult 在stdout上返回JSON。

# Format D code
./bin/dlang_mcp --dfmt='{"code":"int x=1;"}'

# Static analysis
./bin/dlang_mcp --dscanner='{"code":"void main(){}", "mode":"sloc"}'

# Compile-check inline code
./bin/dlang_mcp --compile-check='{"code":"import std.stdio; void main(){writeln(42);}"}'

# Build a project
./bin/dlang_mcp --build-project='{"project_path":"."}'

# Run project tests
./bin/dlang_mcp --run-tests='{"project_path":".", "verbose":true}'

# Get module outline
./bin/dlang_mcp --module-outline='{"code":"module test; void foo() {}"}'

# Search symbol definitions
./bin/dlang_mcp --ctags-search='{"query":"main", "project_path":"."}'

# Fetch a dub package
./bin/dlang_mcp --fetch-package='{"package_name":"silly"}'

# Analyze coverage (just pass the .lst file)
./bin/dlang_mcp --coverage-analysis=source-app.lst

所有19个工具标志:

标志工具
--dscanner=JSON静态分析
--dfmt=JSON代码格式
--compile-check=JSON编译检查
--coverage-analysis=FILE覆盖率分析(通过a .lst 直接文件)
--build-project=JSON建设项目
--run-tests=JSON运行测试
--run-project=JSON运行项目
--fetch-package=JSON提取包裹
--upgrade-dependencies=JSON升级deps
--tool-analyze-project=JSON分析项目
--tool-ddoc-analyze=JSONDDoc分析
--module-outline=JSON模块大纲
--list-modules=JSON列出模块
--ctags-search=JSON符号搜索
--search-packages=JSON搜索套餐
--search-functions=JSON搜索功能
--search-types=JSON搜索类型
--search-examples=JSON搜索示例
--get-imports=JSON获取导入
--tool-analyze-project 和 --tool-ddoc-analyze 前缀为 tool- 避免与现有冲突 --analyze-project 和 --ddoc-analyze 标志(写入文件而不是打印JSON)。

语义搜索设置(可选)

搜索工具可以开箱即用TF-IDF关键字搜索。为了获得更好的结果,您可以选择启用向量相似性搜索和/或神经嵌入。

sqlite-vec(向量相似度)

启用基于向量的语义相似性搜索,而不仅仅是关键字匹配。

从源代码构建:

cd /tmp
git clone https://github.com/asg017/sqlite-vec
cd sqlite-vec
make loadable
cp dist/vec0.so /path/to/dlang_mcp/data/models/

或者使用环境变量:

export SQLITE_VEC_PATH=/path/to/vec0.so
./bin/dlang_mcp --init-db

自动检测路径:

  • data/models/vec0.so (Linux)/ vec0.dylib (macOS)/ vec0.dll (Windows)
  • /usr/local/lib/vec0.*
  • /usr/lib/vec0.*

证实 ./bin/dlang_mcp --init-db --应显示“矢量搜索已启用(sqlite-vec)”。

ONNX嵌入(神经搜索)

对于使用全MiniLM-L6-v2模型的语义嵌入:

# Download ONNX model and vocabulary
wget -O data/models/model.onnx \
  https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/onnx/model.onnx
wget -O data/models/vocab.txt \
  https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/raw/main/vocab.txt

# Install ONNX Runtime library
cd /tmp
wget https://github.com/microsoft/onnxruntime/releases/download/v1.18.0/onnxruntime-linux-x64-1.18.0.tgz
tar xzf onnxruntime-linux-x64-1.18.0.tgz
mkdir -p /path/to/dlang_mcp/lib
cp onnxruntime-linux-x64-1.18.0/lib/libonnxruntime.so.1.18.0 /path/to/dlang_mcp/lib/
cd /path/to/dlang_mcp/lib && ln -sf libonnxruntime.so.1.18.0 onnxruntime.so

二进制文件有一个嵌入的rpath($ORIGIN/../lib)因此,当放置在以下位置时,它会自动查找ONNX运行时库 lib/ 旁边 bin/ 目录。

当ONNX模型和库可用时,服务器使用神经嵌入进行更好的语义搜索。否则,TF-IDF将用作回退。

索引包

# Index a single package
./bin/dlang_mcp --ingest --package=silly

# Index all packages (takes a while)
./bin/dlang_mcp --ingest

# Resume interrupted ingestion (automatic)
./bin/dlang_mcp --ingest

# Start fresh
./bin/dlang_mcp --ingest --fresh

# Check ingestion progress
./bin/dlang_mcp --ingest-status

# Mine usage patterns after ingesting
./bin/dlang_mcp --mine-patterns

故障排除

“矢量搜索已禁用”

确保已安装sqlite-vec:

ls -la data/models/vec0.so

如果缺失,请构建它:

cd /tmp
git clone https://github.com/asg017/sqlite-vec
cd sqlite-vec
make loadable
cp dist/vec0.so /path/to/dlang_mcp/data/models/

“加载sqlite vec失败”

检查扩展是否与SQLite版本兼容:

sqlite3 --version

该扩展需要SQLite 3.40+。

包裹摄入失败

某些软件包可能具有不寻常的结构。检查错误消息并尝试:

# Clear cache and retry
rm -rf data/cache/sources/

./bin/dlang_mcp --ingest --package=

许可证

BOOST--参见 许可证 全文。

工具与能力

工具数量

20

资源数量

0

提示词数量

0

能力标签

D本地部署D语言工具代码分析包管理语义搜索开发工具

支持客户端

Claude

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

典型使用场景

让助手直接读代码

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

在对话里跑命令

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

接进开发流程

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

选择建议

值得选的地方

  • 工具数量 20 个,一次接入能覆盖的操作比单点工具更全。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

20未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

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

MCP World

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

MCP World

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

MCP World

0stdio有1 个2026-05-17

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

常见问题

5 条

dlang MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

dlang MCP 怎么在 Claude Desktop、Cursor 里配置?

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

dlang MCP 收费吗?

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

dlang MCP 需要 API Key 吗?

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

dlang MCP 支持哪些客户端?

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

来源信息

继续浏览同类 MCP