# @4da/mcp-server 中文文档

规范地址：https://npmcn.com/package/%404da/mcp-server/

版本：6\.2\.6
npm 元数据更新时间：2026-10-30T23:26:27.301Z
中文译文更新时间：2026-11-06T21:31:24.550Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%404da/mcp-server
原文对照：https://npmcn.com/package/%404da/mcp-server/?lang=original
项目主页：https://4da.ai/mcp/
源码仓库：https://github.com/4DA-Systems/4da-mcp-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2 MB，262 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：4 个
- 首次发布：2026-02-16T14:11:23.737Z
- 最新版本发布：2026-10-30T23:26:25.713Z
- 近 30 天下载量：2321（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 32 个）

## 中文简介

更新 AI 编码代理的智能: 您安装的版本和目标版本( 更改日志、 断开更改、 文件导入) 有何变化 , 对每次突起进行预安装判断, 以 osv- scanner 等值扫描到 npm/ pnpm

## 安装

```sh
npm install @4da/mcp-server
```

也可以使用：`pnpm add @4da/mcp-server`、`yarn add @4da/mcp-server`、`bun add @4da/mcp-server`

## README

# @ 4da/ mcp- 服务器

[![npm version](https://img.shields.io/npm/v/@4da/mcp-server?color=gold)](https://www.npmjs.com/package/@4da/mcp-server) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://npmcn.com/package/%404da/mcp-server/LICENSE) [![Node](https://img.shields.io/badge/Node-%3E%3D22-brightgreen)](https://nodejs.org/) [![CI](https://github.com/4DA-Systems/4da-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/4DA-Systems/4da-mcp-server/actions/workflows/ci.yml)

**升级AI编码代理的情报.** 在你的经纪人碰到一个依赖之前,它会学习你运行的版本和你想要的版本之间有什么变化,你的哪些文件会触碰,哪些文件会从你自己的锁文件中,在你的机器上,使移动修正变得脆弱. 加上Osv-scanner平分时的脆弱性扫描,排名升级计划和决策内存. 零相克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克.

```
You:     "Upgrade axum to 0.8"
Agent →  upgrade_impact { package: "axum", to_version: "0.8.4" }

         axum 0.7.9 -> 0.8.4: 5 releases (0.8.2 yanked), changelog from the 0.8.4 crate.
         12 breaking entries, 8 touch your code (Path, Query, Router, extract, serve):
           breaking  Remove OptionalFromRequestParts impl for `Query`        (you use Query)
           breaking  Require `Sync` for all handlers added to `Router`       (you use Router)
           ...
         Your code: 10 files import axum.
```

_(真正的输出,节选,运行在这个寄存器上,2026-10-02_

一个要安装的命令 。 没有 API 密钥 。 没有账户。 你的密码从不离开机器.

## 安装

要求节点.js 22或后.

服务器使用节点内置 `node:sqlite` (Node 22.13 and later)),因此它不需要安装脚本,并配合npm 12的默认屏蔽. 在节点22.0-22.12上,它使用可选的 `better-sqlite3`,其原生模块 npm 10 和 11 建立在安装上. `npx @4da/mcp-server --doctor` 显示在使用哪个.

```bash
claude mcp add 4da -- npx @4da/mcp-server
```

**作为克洛德代码插件** (MCP服务器加钩子):

```bash
claude plugin marketplace add 4DA-Systems/4da-mcp-server
claude plugin install 4da@4da
```

钩子:当您的代理编辑依赖的版本时 `package.json`, (中文(简体) ), `Cargo.toml`, (中文(简体) ), `pyproject.toml`, (中文(简体) ), `requirements.txt` 或者说 `go.mod`,它被告知哪个软件包移动,给出精确 `dependency_check` 财务报告和审定财务报表 `upgrade_impact` 在安装和建造之前发出呼吁。 钩子为平地节点,接触无所取出,为其他编辑都保持沉默.

**光标 / Windsurf / Devin 桌面**

添加为 `~/.cursor/mcp.json` (讲师), `~/.codeium/windsurf/mcp_config.json` (风浪),或 `~/.config/devin/mcp_config.json` (德文桌面和德文CLI; `%APPDATA%devinmcp_config.json` 视窗上 :

```json
{
  "mcpServers": {
    "4da": {
      "command": "npx",
      "args": ["@4da/mcp-server"]
    }
  }
}
```
**VS 代码( 副驾驶)**

运行 **MCP: 打开用户配置** 并添加条目,或直接编辑文件: `%APPDATA%CodeUsermcp.json` (窗户), `~/Library/Application Support/Code/User/mcp.json` (macOS), (英语:, `~/.config/Code/User/mcp.json` (Linux). VS 代码使用 `servers`没有 `mcpServers`数字 :

```json
{
  "servers": {
    "4da": {
      "type": "stdio",
      "command": "npx",
      "args": ["@4da/mcp-server"]
    }
  }
}
```
**克劳德桌面**

添加为 `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) 或 (中文(简体) ) `%APPDATA%\Claude\claude_desktop_config.json` (温道:

```json
{
  "mcpServers": {
    "4da": {
      "command": "npx",
      "args": ["@4da/mcp-server"]
    }
  }
}
```
**自动设置** (检测所有已安装的编辑器)

```bash
npx @4da/mcp-server --setup --dry-run   # show each file and entry, write nothing
npx @4da/mcp-server --setup
```

写 Cursor, VS 代码(和内线), Windsurf, Devin 桌面和 Claude 桌面配置, 合并到那里的东西: 其他服务器, 设置和评论被保存, 一个备份( )`.bak`)是先被写入的,无法解析的文件与要手工添加的条目一起被保留。 对于克洛德代码,它打印 `claude mcp add` 命令而不是编辑 `~/.claude.json`。 。 。 .

那就问你的AI: **"如果我把X升级到Y会有什么变化?"**, (中文(简体) ), **"寻找弱点"** 或者说 **"我该先升级什么?"**

## 如何运作

服务器读取其启动的工程的每个锁定文件, 包括根下的独立锁定的项目( 带有 `src-tauri/Cargo.lock` 在根边 `pnpm-lock.yaml` 并跳过什么 `.gitignore` 不包括: `package-lock.json` 编号 : `npm-shrinkwrap.json`, (中文(简体) ), `pnpm-lock.yaml` (v5-v9), (中文(简体) ), `yarn.lock` (v1和莓汁), `bun.lock`, (中文(简体) ), `Cargo.lock` (包括货物工作空间), `poetry.lock`, (中文(简体) ), `uv.lock`, (中文(简体) ), `pdm.lock`, (中文(简体) ), `Pipfile.lock`,要求标针`*requirements*.txt`, (中文(简体) ), `requirements/*.txt`,与 `-r` 财务报告和审定财务报表 `-c`, (中文(简体) ), `go.mod` 编号 : `go.sum` (Go's building list), (Go's building list,),(Go's building list),(Go's Building list,),(Go's Building sin't. (Go's build list),(Go's Building list),(Go's Build s, `Gemfile.lock` (RubyGems; git和路径宝石是本地代码,而不是发布)和 `composer.lock` (纸币学家). 文件夹中的每一个 Python 源被读取, 不仅仅是第一个. 每个已安装的拷贝都经过扫描,而不是每个名字的一个版本,带有锁文件自己的dev旗. 当锁文件更改时,它会重新读取它们,Npm也会检查什么 `node_modules` 实际持有。 走行部下行了4个关卡,最多达256个项目;不管它漏出什么,每个没有锁文件(它申报的范围没有安装也没有扫描)的表单都列在答案中 `coverage` 块,从不静地掉下。 其不读的生态系统表象也一样 `pom.xml`,"格拉德",".NET" `*.csproj` 编号 : `packages.lock.json`, Pub, Hex, SwiftPM, CocoaPods : (原始内容存档于2019-09-29) `coverage.not_covered`),已存在但无法读取的锁文件(相接冲突标记,无效的JSON: `coverage.unreadable_lockfiles`),和测试固定目录下的锁文件(`tests/`, (中文(简体) ), `test/`, (中文(简体) ), `fixtures/`, (中文(简体) ), `testdata/`, (中文(简体) ), `__fixtures__/`, (中文(简体) ), `conformance/` 除非您通过,否则不会扫描为项目本身 `include_test_fixtures: true` (单位:千美元)`coverage.not_scanned`) (中文(简体) ).

**一个不完整的答案从来不是干净的.** 当 OSV.dev 无法回答一些依赖性时(出局, HTTP 出错, 超时, 查询预算), `vulnerability_scan` 开始于 `summary: "NOT CHECKED: ... N of M dependencies have no vulnerability answer"`,计算它们 `coverage.unchecked_dependencies`设置 `total_vulnerable_packages` 财务报告和审定财务报表 `by_severity` 改为无效( 所检查的部分在 `found_in_checked_dependencies`(三); `dependency_health` 扣取它的分数和脆弱计数 `upgrade_planner` 套装 `vulnerabilityDataAvailable: false`在OSV的预算允许的情况下,大树会被分批询问1000个,因此一棵超过一万个依赖的树会被完整回答.

以19个公共存放处(npm,pnpm v5-v9,纱线v1和berry, bun, Cargo, Poetry, uv, Pipfile, requireds, Go; 2026-10-10)上Osv-scanner来衡量, OSV自己的API解决了每一个差异:精度为1.00比19,115的发现,在读取的锁文件上回顾了19,116中的19,115个(Maven/Gradle不读取). 还对照ip-audit检查了新读出的要求文件.

-   **OSV.dev (英语)** 与精确安装的版本相匹配
-   **npm 注册、 箱子. io、 PyPI、 Go 模块代理** (registry.npmjs.org, criticers.io and index.crates.io, pypi.org, 代理.golang.org)用于版本,去皮和扬克
-   **npm 下载数** (api.npmjs.org),用于: `dependency_health`每周下载数
-   **软件包自己的注册归档** (registry.npmjs.org, site.crates.io, files.python托管.org, 代理.golang.org)用于更改日志 `upgrade_impact` 读取; GitHub 仅当您选择使用 `FOURDA_GITHUB_CHANGELOG=true` (下关
-   **npm 完整组合**,则 **箱子.io 版本 API**,则 **派皮·杰森·阿普** 编辑 **访问代理服务器的版本列表** 页:1 `dependency_check` (平时,扬克和取出;npm上和箱子上.io上也发布,安装脚本,每版依赖. 这些请求只包含软件包名称;您安装的版本从未发送到一个注册,只是Go代理的列表没有日期,所以它被要求使用 `.info` (同一请求) `go get` 做起来。 OSV.dev 软件包的咨询列表允许 `dependency_check` 指定安全释放的限制。 包被缓存到磁盘上并重新验证 `If-None-Match`显示每秒一个空位.
-   **哈克新闻 Algolia API** (hn.algolia.com),只有在你打电话的时候 `ecosystem_pulse`
-   **GitHub 图像** (api.github.com, 生.githubusercontent.com),只使用 `FOURDA_GITHUB_CHANGELOG=true`
-   **您的嵌入提供者**,只有当您配置了一个用于语义回想(本地 Ollama URL, 或 api.openai.com; 见下文) 时,才会使用此语言

这些都是服务器联系人的主机.

结果被缓存(登记数据24小时,脆弱性1小时,新闻30分钟),每个来源的费率有限.

**网络上传来的信息:** 软件包名称和版本(在您的锁文件中可见的相同数据),以及 `ecosystem_pulse`,将您几个依赖的名称作为搜索条件。 没有源代码,没有文件路径,没有个人数据. 现场扫描 `upgrade_impact` 本地运行。 设定 `FOURDA_OFFLINE=true` 以禁用所有网络呼叫.

**GitHub 发布注释( opt- in, 默认关闭) .** 许多软件包在其注册档案(vite,zod,cobra,大多数Go模块)中没有更改日志. 与 `FOURDA_GITHUB_CHANGELOG=true` 在服务器环境中, `upgrade_impact` 读取寄存器的 GitHub 发布时, 存档中没有更改范围( 对于 PyPI, 首先是一个更改日志, 将 GitHub 上的工程链接从它的 `project_urls`). GitHub随后收到寄存器名称和版本,别无其他. 它使用未经认证的REST API(每小时60个请求)或 `GITHUB_TOKEN` 当设置(5,000个)时; 速率限制随重置时间报告, 永不重复循环, 结果被缓存 。 关闭它后,一个没有更改日志的答案会这样说,并命名设置;没有猜测.

**写到磁盘上的东西, 和在哪里:** 仅将服务器自有的文件保存在您的用户数据目录中的文件夹中( i)`%LOCALAPPDATA%\4da-mcp`, (中文(简体) ), `~/Library/Application Support/4da-mcp` 或者说 `~/.local/share/4da-mcp`· ; `FOURDA_MCP_HOME` 移动它: `cache.db` (登记、OSV和更改日志回复;安全删除)和 `standalone.db` (没有桌面应用程序:您的工程扫描以及您记录的决定、代理内存和反馈). 你仓库里没有东西.

安装了 4DA 桌面应用后,服务器会读取该应用的数据库(`4da.db`通过a **只读** 连接并永远不创建或修改其中的任何内容:没有表格、没有列、没有缓存。 唯一的写作是四个应用程序的表格中的行,这些工具是用来填充的,所以应用程序看到了它们:决定(`decision_memory` - > (中文) `developer_decisions`),代理内存(`agent_memory`)和反馈`record_feedback` - > (中文) `interactions` 财务报告和审定财务报表 `feedback`,该应用的校正读取。 这些通过一个单独的书写连接 等待应用程序的锁。 如果您的应用版本缺少表格或一栏的记录需要,则记录会转到 `standalone.db` 反之,反应是这样的 `_meta`.(在6.1之前,服务器还创建了 `live_cache` 应用程序数据库中的表格;它现在将缓存保存在 `cache.db`. ) (中文(简体) )

**配置和数据库的来源:** `FOURDA_DB_PATH` 如果设置( 相对路径解决了服务器的工作目录, 必须指定一个已有文件的名称; 当目录存在时, 没有命名文件的绝对路径会被创建为一个新的独立数据库, 第一个工具答案在 `_meta.database_note`; 否则被错误拒绝), 否则桌面应用程序的数据目录中的数据库, 否则服务器自己的 `standalone.db`。嵌入设置来自 `FOURDA_SETTINGS_PATH`,否则 `settings.json` 旁边 `FOURDA_DB_PATH`,否则桌面应用程序的数据目录。 从目录中找不到任何信息, 服务器启动时间为: 直到6. 2.5 a `data/settings.json` 或者说 `data/4da.db` 工作目录在内部(或旁边)被采纳,所以一个被克隆的寄存器可以将语义回想重定向到它所选择的一大批或者植入"决定".

> 一个例外,如果你 _明确_ 配置一个 OpenAI 嵌入提供者( O)`FOURDA_EMBED_PROVIDER=openai`) 对于语义回想,您存储的决定/记忆文本被发送到OpenAI被嵌入. 默认 —— 没有嵌入提供者, 或本地 Ollama 之一 —— 将所有东西保存在您的机器上,以及 `FOURDA_OFFLINE=true` 不管怎样,都会推翻它.

**生态系统得到支持:** npm, 箱子.io (Rust), PyPI (Python), Go; 互联网档案馆的存檔,存档日期2013-12-21; `vulnerability_scan` 也读取 RubyGems (`Gemfile.lock`)和包装剂(`composer.lock`. Maven、Gradle和.NET不读取,列为未覆盖. `upgrade_impact` 读取 npm, bartries.io, PyPI 和 Go. PyPI : 版本和日期来自 PyPI JSON API, 发行的 sdist 的更改日志, 并导入匹配到发行安装的模块上的站点: 读取您虚拟env 的元数据 (`.venv`, (中文(简体) ), `venv`, (中文(简体) ), `env`数字 : `top_level.txt` 或者说 `RECORD`),否则就是一个众所周知的差别表(e`PyYAML` - > (中文) `yaml`, (中文(简体) ), `Pillow` - > (中文) `PIL`),否则就是发行名称,答案就标出一个假设. 上:版本和代理日期. golang.org,模块zip的更改日志,以及一个主要版本2+作为模块路径的更改报告它(`github.com/jackc/pgx/v4` - > (中文) `/v5`),带有导入旧路径的文件. `dependency_check` 在PyPI和Go上, 注册处没有披露出版商身份或安装钩子.

**众所周知的限度,明确表明:** (单位:千美元) `requirements.txt` 没有锁文件名称, 只有您的直接指针, 因此它们的过渡依赖性没有扫描( 使用) `uv lock`, (中文(简体) ), `poetry lock` 或者说 `pip-compile`) (中文(简体) ). 许多邮包的登记档案中没有更改日志(快活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活; `upgrade_impact` 并给出发布符 URL 而不是猜测。 从更改日志的标题和措辞中标出中断条目,每个条目都标有其标题(`under`) (中文(简体) ). 在Npm、kitchers.io、PyPI和Go(1 618个条目,3个有逐字记录的盲度检测器取出黄金;面板和测量值在测试套间)的40个真正升级的面板上测量:在规则制定过程中进行的20个升级中,95%标出破损的条目(95%CI 89-98%)被标出,大约72%的破损条目被标出; 写作传教词的Go发行笔记最弱(约54%召回). 将旗子视为前作:读取每个重大升级的条目. 每个回答都这么说 `_meta.classification`。 。 。 .

## 你可以问什么

```
"What changes if I upgrade axum to 0.8?"      -> upgrade_impact
"Check my dependency health"                  -> dependency_health
"Scan for vulnerabilities"                    -> vulnerability_scan
"Which deps should I upgrade first?"          -> upgrade_planner
"Is it safe to bump axios to 1.14.1?"         -> dependency_check
"Pin ws to a 7.x version"                     -> dependency_check (to: "7.x")
"I'm about to bump fastembed 5 -> 7"          -> what_should_i_know
"What's happening in the ecosystem?"          -> ecosystem_pulse
"What's my tech stack?"                       -> get_context
"Record a decision: we chose Postgres"        -> decision_memory
"Does switching to MySQL align?"              -> check_decision_alignment
"Remember: never use ORM for batch inserts"   -> agent_memory
```

## 所有 16 个工具

### 依赖性

| 工具 | 它会做什么 |
| --- | --- |
| `upgrade_impact` | 已安装的版本和一个依赖对象的目标版本(npm, bartries.io, PyPI, Go)之间有什么变化 : 释放在两者之间, 更改日志条目分类为破解/ 破解/ 安全 , 触摸您代码的破解条目( 导入的符号, 以及字符串字表中的路由或模式语法, 如 oxum 0. 8's) `/:id` - > (中文) `/{id}`),导入它的文件,建议固定了. |
| `vulnerability_scan` | 每个锁定文件中的每个安装副本都与OSV.dev匹配. 范围调整后的严重程度,对照包的每一项咨询检查升级目标(每个咨询器最高的固定装置本身可受另一套),每个版本均被固定,以及 `coverage` 当扫描为局部时,块块。 默认简洁(每易发包版本一行,最重40个,290个咨询项目约4克; `package` (a) 一个受扶养人; `response_format: "detailed"` 每一个建议. |
| `dependency_health` | 版本新鲜度,贬值(您运行的版本)和脆弱性计数每个依赖. |
| `upgrade_planner` | 对于每个脆弱包件,没有咨询的最小版本是主要标注的(一个0.x小计为主要分数)。 直接步骤`upgrade_direct`携带 `upgradeCommands`,每个宣告项目目录的指令,保留如何宣布依赖性(`npm install x@v --save-exact` 为确切的钉子, `npm install "x@^v"`, (中文(简体) ), `pnpm up`, (中文(简体) ), `yarn upgrade` 编号 : `yarn up`, (中文(简体) ), `cargo add` 与 `--dev` 编号 : `--build` 编号 : `--target` 编号 : `--rename`, (中文(简体) ), `go get`; 无 `>=` / \` 编号 |
| `dependency_check` | 在将任何依赖性版本写入清单前先打电话:添加、针入、升级、起伏、降级. `to` 是准确的版本,还是给定的制约`"7.x"`, (中文(简体) ), `"^1.20"`, (中文(简体) ), `"~=3.1"`, (中文(简体) ), `"v1"`: 那么, 开始吧 : `range_check` 列出其中最小和最新的释放 没有已知的咨询影响, 判决是针对它选择的。 确切的版本 一个咨询 得到的安全释放 在其线上。 每个项目的判决(`proceed` 编号 : `wait` 编号 : `review` 编号 : `avoid` 编号 : `unknown`有证据的:关于目标的咨询意见,发布时间(持有3天以下的释放,除非他们确定了你已有的咨询),发布-信任投放,新安装脚本,全新的过渡依赖性,被扣取或贬值,以及断开的版本范围(主要或0.x小)是: `review` 带指针到 `upgrade_impact`. npm, carters.io, PyPI和Go(publisher trust, 安装脚本和新的中转依赖是 npm/crates.io信号并说"不适用"). |

### 情报

| 工具 | 它会做什么 |
| --- | --- |
| `what_should_i_know` | 根据任务构建的任务前简报:它命名的依赖性(和它命名的家族):"所有tauri插件"添加了项目的tauri-_塔里 - 插头_ 以及@touri-apps/\* 包; 对于"最晚",每个包是否已经登入了最新的主机",它们的版本和确认的弱点,大调交叉,你的记录决定,以及代表团的判决只能提出确认的证据. |
| `ecosystem_pulse` | Hacker News头条上标注了您的依赖, 然后是您的语言( 标签为此) 。 只在呼叫时才找到. |
| `get_context` | 您的技术堆栈, 解决的依赖性版本, 兴趣, 检测到的主题 . |
| `get_relevant_content`\* 联合国 | 通过了桌面应用相关判断的分数内容种子. |
| `get_actionable_signals`\* 联合国 | 法官接受的饲料项目分类(咨询、突破变化). |
| `knowledge_gaps`\* 联合国 | 法官接受的忠告或释放的依赖性 你没有看. |
| `record_feedback`\* 联合国 | 保存或删除项目;记录在应用程序自己的反馈表中,其校正读取. |

### 决定和内存

| 工具 | 它会做什么 |
| --- | --- |
| `decision_memory` | 记录、查询和管理各届的建筑决定. |
| `check_decision_alignment` | 核实拟议技术变动是否符合记录的决定. |
| `agent_memory` | 历经会议、代理和编辑. |

### 身份

| 工具 | 它会做什么 |
| --- | --- |
| `developer_dna`\* 联合国 | 你的技术身份:主堆栈,顶部依赖,盲点. |

_\* 要求 [4DA 桌面应用程序](https://4da.ai/) 用于完整数据._

### 提示 : `deps`

一个用户输入的工作流程(由显示 MCP 提示的主机显示为斜线命令). 它告诉特工逃跑 `upgrade_planner`,检查每一个提议与 `dependency_check`,仅应用 `proceed` 每次批次后,小批次中随项目本身测试的物项,停止并报告每批次 `review` 编号 : `avoid` 编号 : `wait` 编号 : `unknown` 及其证据,并重新运行 `vulnerability_scan` 在结尾。 可选参数 `scope` (例如:. `security only`) (中文(简体) ).

## 独立对全模式

MCP服务器在不使用桌面应用程序的情况下工作. 它在您的用户数据文件夹中保持一个小的本地数据库( Name`%LOCALAPPDATA%\4da-mcp`, (中文(简体) ), `~/Library/Application Support/4da-mcp` 或者说 `~/.local/share/4da-mcp`,从不在您的仓库中),并在每次启动时扫描您的项目:

| 能力 | 独立 | 带有 4DA 桌面 |
| --- | --- | --- |
| 更新影响( 更改日志、 断开更改、 您的呼叫站点) | 对 | 对 |
| 脆弱性扫描(OSV.dev) | 对 | 对 |
| 依赖性健康(4个登记册) | 对 | 对 |
| 升级规划员 | 对 | 对 |
| 安装前的依赖性检查 | 对 | 对 |
| 生态系统新闻(《黑客新闻》,应要求) | 对 | 对 |
| 任务前情报简报 | 对 | 对 |
| 技术堆栈检测 + 解析版本 | 对 | 对 |
| 决定内存 + 校正检查 | 对 | 对 |
| 代理内存( 跨会话) | 对 | 对 |
| 根据您的堆栈( app's feed) 判断开发者新闻 | \- 说吧 | 对 |
| 可操作信号+知识差距 | \- 说吧 | 对 |
| 分析层(信号链、知识差距、时间分析) | \- 说吧 | 对 |

> **[下载 4DA](https://github.com/4DA-Systems/4DA/releases/latest)** 完全经验.

## 运输

**静态** (默认) -- 与所有 MCP 主机合作 :

```bash
npx @4da/mcp-server
```

**可流取的 HTTP** --用于远程或多客户设置:

```bash
npx @4da/mcp-server --http --port 4840
```

HTTP 运输与 `127.0.0.1` 默认并应用 a `Host`\-头头 DNS对每一个请求都重新绑定了警卫. 暴露在机器之外需要 一个共同的秘密:

```bash
MCP_AUTH_SECRET=<same value as the relay's JWT_SECRET> \
MCP_ALLOWED_HOSTS=mcp.internal \
  npx @4da/mcp-server --http --host 0.0.0.0
```

无 `MCP_AUTH_SECRET` 启动时拒绝使用非离子绑定。 带着它, 每一份申请都必须带有一个熊熊标志,其HMAC-SHA256签名经过验证 反此秘诀,而符相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相`viewer` 实值 仅读; `member` 财务报告和审定财务报表 `admin` (可能写作). 把TLS放在它前面.

**HTTP模式为单租入.** 一个标志的 `team_id` 已核实,但未用于 独立数据:每个认证客户端共享一个数据库,一个代理内存 和一套决定,以及 `project_path` 允许任何认证客户端扫描 服务器可以读取的主机上的任何目录。 每个团队运行一个服务器(或 信任边界),只有客户后,你才会给予该权限.

## CLI 参考

```
npx @4da/mcp-server              # Start server (stdio)
npx @4da/mcp-server --http       # Start server (Streamable HTTP)
npx @4da/mcp-server --setup      # Auto-configure your editors
npx @4da/mcp-server --doctor     # Verify installation health
npx @4da/mcp-server --version    # Print version
```

## 环境变量

| 变量 | 说明 | 默认 |
| --- | --- | --- |
| `FOURDA_DB_PATH` | 4DA的 SQLite 数据库路径 。 使用了已有文件 。 相对路径( 已针对工作目录解决) 不拒绝命名文件 。 如果目录存在,则不命名文件的绝对路径将被创建为独立的数据库(一个 stderr 线条和 `_meta.database_note` 如果目录不存在,则拒绝. | 桌面应用程序的数据库, 或者服务器自己的 |
| `FOURDA_SETTINGS_PATH` | `settings.json` 持有可选 `embedding` 语义回想的块 | 还有 `FOURDA_DB_PATH`,否则桌面应用程序的数据目录 |
| `FOURDA_OFFLINE` | 禁用所有网络呼叫 | `false` |
| `FOURDA_GITHUB_CHANGELOG` | `upgrade_impact`: 读取 GitHub 当注册档案对范围没有更改日志时释放注释(`true` 编号 : `1` 编号 : `yes` 编号 : `on`(中文(简体) ) | 关闭 |
| `GITHUB_TOKEN` | 仅用于 `FOURDA_GITHUB_CHANGELOG`: 将 GitHub 的费率限制从每小时60个请求提高到5 000个请求 | 未设置 |
| `FOURDA_MCP_HOME` | 服务器所写文件的文件夹( F)`cache.db`, (中文(简体) ), `standalone.db`(中文(简体) ) | 您的用户数据文件夹 + `4da-mcp` |
| `MCP_AUTH_SECRET` | 用于校验熊鼠令牌的共享秘密 `--http` (HMAC-SHA256). 倒计时 `JWT_SECRET`。未设置表示不接受任何符号. | 未设置 |
| `MCP_AUTH_REQUIRED` | 要求对 a **循环** `--http` 捆绑。 总是在非后背束缚上要求. | `false` |
| `MCP_ALLOWED_HOSTS` | 接受额外的逗号分隔主机名 `Host`编号 :`Origin` (约束时需要) `0.0.0.0`) (中文(简体) ). | 仅本地主机 |

## 财务问题

**这能把我的密码传出去吗?** 没有。 服务器向公共API发送软件包名称和版本([OSV.dev (英语)](https://osv.dev/), npm 注册簿, barkers.io, PyPI, Go 代理服务器, 从软件包自己的注册簿下载目标版本的存档 `upgrade_impact` (并读取 GitHub 发布注释,前提是您设定 `FOURDA_GITHUB_CHANGELOG=true`)),并且,只有当你打电话 `ecosystem_pulse`,将一些依赖性名称作为搜索术语发送给 [阿尔戈利亚](https://hn.algolia.com/api)。没有源代码,没有文件路径,没有个人数据:呼叫站点扫描在本地运行. 设定 `FOURDA_OFFLINE=true` 以禁用所有网络呼叫。 (唯一的例外是OpenAI嵌入——见上文网络注释. )

**我需要4DA桌面应用程序吗?** 第11个工具独立工作:升级影响、安装前依赖性检查、脆弱性扫描、依赖性健康、升级规划、生态系统新闻、任务前简报、项目背景、决策记忆、调整检查和代理存储。 桌面应用程序是同一引擎每天运行的地方:机器上每个项目都有一个工作列表,一个你堆栈变化的晨报,以及一个升级计划. 安装后,你的代理商还得到了另外5个工具:信号,知识缺口,根据你的堆栈判断的开发者新闻,开发者DNA和反馈.

**人工智能能用到哪些工具?** 任何支持的工具 [MCP 磁共振](https://modelcontextprotocol.io/): Claude Code, Claude Desktop, Cursor, Windsurf, VS Code (Copilot),以及任何自定义的MCP客户端.

## 从源创建

```bash
git clone https://github.com/4DA-Systems/4da-mcp-server.git
cd 4da-mcp-server
pnpm install
pnpm build
pnpm test    # offline
```

## 许可证

Apache 许可证 2.0 (`Apache-2.0`) (中文(简体) ). 见 [自由主义](https://npmcn.com/package/%404da/mcp-server/LICENSE)。 。 。 .

* * *

由 [4DA 数据](https://4da.ai/)

## 常见问题

### @4da/mcp-server 是什么？

更新 AI 编码代理的智能: 您安装的版本和目标版本\( 更改日志、 断开更改、 文件导入\) 有何变化 , 对每次突起进行预安装判断, 以 osv- scanner 等值扫描到 npm/ pnpm

### 如何安装 @4da/mcp-server？

在项目目录运行 npm install @4da/mcp-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 4da-mcp、mcp-server、4da-mcp-setup，可以用 npx 4da-mcp 直接运行。

### @4da/mcp-server 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @4da/mcp-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @4da/mcp-server 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @4da/mcp-server 可以商用吗？

@4da/mcp-server 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @4da/mcp-server 的下载量有多少？

根据 npm 官方下载统计，@4da/mcp-server 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,321 次，日均约 77 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @4da/mcp-server 还在维护吗？

最新版本 6\.2\.6 发布于 2026/10/31（7 天前）；至今共发布 32 个版本，其中过去 12 个月发布了 32 个；首次发布于 2026/02/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

