Systemdox

io.github.puglieseweb由 GitHub 账号 puglieseweb 发布v0.1.59更新于 Nov 8, 2026

Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.

概览

AI 生成的概览

把团队的 SystemDox 架构上下文(检查规则、规格、ADR、项目规则与文档)带入编码助手,并支持回写决策。

可以做什么
  • 按语言、仓库、状态或关键词检索检查规则、规格、文档、技术栈、项目规则与提示词模板
  • 在 token 预算内获取一份按相关性排序的聚合上下文
  • 读取规划上下文、GitHub Projects 看板,以及某个变更的简报与拉取请求
  • 查看文档之间的链接、最短关联路径与图谱统计
  • 创建检查规则、项目规则与提示词模板,更新草稿规格,记录草稿 ADR
  • 发布、列出并安装 Claude Code 技能与团队设置部件,同步团队记忆
适用场景
适合已在使用 SystemDox 的团队,让编码助手从受治理的规格、ADR 与检查规则出发而不是靠猜测,并在开发过程中顺带记录架构决策。也适合把统一的 Claude Code 设置与技能分发到多台电脑。
运行要求
以 stdio 本地进程方式通过 npx 运行(需 Node.js),或使用每个工作区专属的托管 HTTP 端点。需要一个处于私有预览阶段的 SystemDox 工作区、一个已连接的 GitHub 仓库,以及通过 SYSTEMDOX_API_KEY 或 setup 命令保存的 SystemDox API 密钥。写入类工具需要 editor 及以上角色;发布 hooks、MCP 服务器、agents 或 commands 需要 admin 角色。需要能访问 SystemDox API 的网络。
安装前请注意
API 密钥是长期有效的读写凭据,且限定在其租户范围内,切勿写入提交的配置文件,应从环境变量或密钥管理服务传入。写入类工具会创建检查规则、项目规则、模板与 ADR,并修改草稿规格。发布设置部件与技能会上传本机文件,安装技能会写入 Claude 技能目录。团队记忆同步会把记忆文件发送到 SystemDox,并可能在会话中读回个人联系方式。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Systemdox,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@systemdox/mcp-server

Your architecture, in your agents' context window.

SystemDox is the document plane for AI-assisted engineering: your standards — specs, architecture decision records, checks, project rules, docs — versioned in git and delivered into your coding agents' context at write time. This MCP server is how Claude Code, Cursor, and any MCP-compatible tool read that context — and write decisions back.

Why teams use it

  • Write-time context — get_context ranks the checks, specs, and docs relevant to the task at hand and fetches their bodies within a token budget, so the agent starts from your architecture instead of guessing it.
  • Both directions — agents call report_decision and update_spec as they work, so decision records exist as a by-product of shipping, not as archaeology afterwards.
  • One source for every agent — no per-developer rules-file forks; every session in every repository starts from the same governed, versioned context.
  • Scoped by key — the API key is the boundary: a department-scoped key sees only its own space's checks, specs, and docs.

Get started in about a minute

  1. SystemDox is in private preview. Request early access to get a workspace.
  2. Connect a GitHub repository.
  3. Paste https://<your-workspace>.mcp.systemdox.com/connect into Claude and sign in, or generate an API key (workspace settings) and add the server to your tool — hosted (Option A) or local (Option B) below.

Docs: MCP setup guide · Documentation standard · Why write-time context


Connect by signing in

Your workspace has its own address. Paste it into Claude's Settings → Connectors, or run:

bash
claude mcp add --transport http systemdox https://<your-workspace>.mcp.systemdox.com/connect

Your browser opens SystemDox. Sign in with your second factor and approve. It only reads unless you choose to allow writes. Claude holds a token for an hour, renewed for you, and the API key behind the connection stays with SystemDox. Only an owner or admin of the workspace can connect this way for now, and an account that signs in only with Google or Apple cannot.

With an API key

There are two more ways to run it, for scripts, CI and other tools. Both authenticate with a SystemDox API key (generate one on your SystemDox settings page) and act strictly as the caller — every tool call is scoped to that key's tenant.

Option A — Hosted endpoint (no install)

SystemDox hosts the server at a per-tenant subdomain, speaking MCP Streamable HTTP. Point any HTTP-capable MCP client at it — nothing to install or update.

jsonc
{  "mcpServers": {    "systemdox": {      "type": "http",      "url": "https://<your-workspace>.mcp.systemdox.com/mcp",      "headers": {        // Reference the key via an env var — never commit the literal key.        "Authorization": "Bearer ${SYSTEMDOX_API_KEY}"      }    }  }}

Never commit the literal key. The pweb_ prefix is deliberately scanner-friendly, and a key in a committed .mcp.json is a long-lived read/write credential retained in git history across every clone, fork, and CI log. MCP clients that expand environment variables in .mcp.json (e.g. Claude Code) resolve ${SYSTEMDOX_API_KEY} at load time; deliver the value from your shell, a secret manager, or your CI secret store. For clients that don't expand variables, inject the key at deploy time and keep the file untracked.

  • URL — https://<your-workspace>.mcp.systemdox.com/mcp. <your-workspace> is your tenant's slug; it must match the tenant that owns the API key, or the request is rejected 403. Set a slug on the workspace first (owner/admin → workspace settings) if you don't have one.
  • Auth — the key must be sent as Authorization: Bearer <key>. (An X-API-Key-only request is rejected at the gateway.)
  • Transport — stateless request/response (JSON); each call is independent, which suits serverless hosting. There is no long-lived SSE stream.
  • Scope — the key is the boundary. A key bound to a single space (a "department" key) sees only that space's context; org-wide planner endpoints (get_planning_context, get_plan_board) are barred to it and answer 403. Give each department's repo its own key via ${SYSTEMDOX_API_KEY}, and an agent in one department never sees another's checks, specs, or docs.

Option B — Local (stdio) via npx

Run the server locally as a stdio subprocess of your MCP client. Useful offline, or when you'd rather not depend on the hosted endpoint.

bash
npx @systemdox/mcp-server setup

…or configure it directly:

jsonc
{  "mcpServers": {    "systemdox": {      "command": "npx",      "args": ["@systemdox/mcp-server"],      "env": {        // Provided by your shell / secret store — not committed in the file.        "SYSTEMDOX_API_KEY": "${SYSTEMDOX_API_KEY}"      }    }  }}

The package is published to the public npm registry — npx resolves it with no registry configuration and no credentials.

Environment variables (stdio mode)

VariableRequiredDefaultPurpose
SYSTEMDOX_API_KEYnothe key in ~/.claude/systemdox/credentials.jsonYour SystemDox API key. setup stores it in ~/.claude/systemdox/credentials.json and nowhere else, so the server reads it there when this is not set
SYSTEMDOX_WORKSPACEno—The workspace whose key to read when credentials.json holds several
SYSTEMDOX_API_URLnohttps://api.puglieseweb.com/systemdoxREST API base URL
SYSTEMDOX_CACHE_TTLno300Response cache TTL (seconds)

Tools

Read: get_checks, get_specs, get_docs, get_tech_stack, get_planning_context, get_plan_board, get_change, get_context, get_project_rules, get_prompt_templates, get_team_setup, get_document_links, trace_document_path, get_graph_stats. Write: create_check, update_spec, report_decision, create_project_rule, create_prompt_template. Write tools require an API key with editor+ role.

Skills (ADR-216): publish_skill, list_skills, install_skill. A Claude Code skill folder (SKILL.md plus its references and scripts) is published whole; publishing a name again makes a new version. In stdio mode the server reads and writes the folder itself (publish_skill { directory }, install_skill { name } into ~/.claude/skills/<name>/), refusing to replace a file edited since it was installed unless overwrite is set. In hosted mode the agent passes and writes the files. Without an agent:

bash
npx -y @systemdox/mcp-server install-skill <name> [--version n] [--target dir] [--overwrite]

Exit codes: 0 installed, 1 usage / no key / API error, 2 refused because files there were edited.

What every session is told (ADR-223)

Installing this server is enough for a computer to know what its team uses. When a session connects, the server answers with instructions, which Claude Code puts in the session's system prompt with no tool call:

  • the workspace, and to call get_context before writing code;
  • each skill your team put in the team setup, with when to use it;
  • what this computer lacks. A missing or older skill is installed with install_skill, which writes files and runs nothing. A file you edited is never replaced, and a folder that did not come from SystemDox is left alone.

Hooks, MCP servers, team instructions and memory run or load by themselves, so they still wait for you: setup, in your own terminal, below. An agent never answers its prompts. So does a team skill that is not plain (anything in its frontmatter beyond a name and a description, files outside its own folders, or a !-command) or that sits outside the default space: a session is told its name and not to install it. A skill may not hold .claude-plugin/, which would make it a plugin. The hosted server cannot see your disk, so it says how to check.

get_team_setup (both servers, read-only) answers the same question in full: every skill, hook command and MCP server, and on your own computer what is missing and what to do. Use it with a client that does not surface instructions.

If this computer has no key, or SystemDox refuses it, the server still connects and tells the session what to do. See the words a session gets in the console, under Docs › Team setup › What every session is told.

Team setup (ADR-217)

Your workspace's Claude Code setup (hooks, MCP servers, agents, commands, the skills your team chose, and one team CLAUDE.md) is published to SystemDox and reaches every member's computer as one plugin, <workspace>-setup.

  • publish_setup_part (both servers) publishes one part: hooks (hooks/hooks.json and the scripts/ it calls), mcp (.mcp.json), agents (agents/*.md), commands (commands/*.md) or instructions (CLAUDE.md). On your own computer pass directory: only the files the part accepts are read, and a link, a binary file or a file over the limits stops it before anything is sent. Every part but instructions makes a new plugin version, which each member accepts at their next update. For mcp, every env and headers value is replaced by a ${NAME} reference to each member's own environment variable. Publishing hooks, mcp, agents or commands needs the admin role (SYD-A003 otherwise).
  • resolve_person (both servers) reads back a person a team memory names by identifier (`con_…` (reseller, sales)): their label, name, phone number and email address. The details are for that session only; the memory keeps the identifier. It writes nothing.
  • sync_memory (your own computer only) syncs a project's team memory, as sync-memory below does with no one at the terminal: it never answers a question about a person and never rewrites a file for one. A file that still holds a phone number, an email address or a home-folder path is skipped and listed with the command to run yourself. Inputs: project, dryRun.

One command sets up your computer, and the same command updates it:

bash
npx -y @systemdox/mcp-server setup [--project <name>] [--dir <checkout>] [--yes] [--overwrite]
  • It first writes the SystemDox MCP server into your AI tool's config, without your key: the key is stored once, in ~/.claude/systemdox/credentials.json (readable by you alone), and a key an earlier setup wrote into that config is removed from it. Then, when your workspace has anything published, it checks that Claude Code is 2.1.316 or later (claude update otherwise) and shows you everything it will add: the marketplace entry for ~/.claude/settings.json, the plugin with every hook command and every MCP server's command or URL verbatim, the import block for ~/.claude/CLAUDE.md, each team memory with its file count and folder, and the autoMemoryDirectory it will set. On an update it shows only what changed, with a line diff for hooks and instructions. Nothing changes until you answer y.
  • Then, in this order: the team instructions into ~/.claude/systemdox/<workspace>/CLAUDE.md (if you edited that file, it stops unless --overwrite); one marked import block into ~/.claude/CLAUDE.md; one extraKnownMarketplaces entry, systemdox-<workspace>, into ~/.claude/settings.json (nothing else in either file is touched); and, for the project (--project, or the only one), autoMemoryDirectory in <checkout>/.claude/settings.local.json (--dir, or the current folder), followed by its first sync.
  • Two steps are left for you, because Claude Code registers a marketplace only once a session has started: open Claude Code once in any folder and close it, then run claude plugin install <workspace>-setup@systemdox-<workspace> in your own terminal and accept the command it shows. setup never adds the marketplace through claude and never enables the plugin for you.
  • --yes answers for you only without a terminal, and only for what you have accepted before; anything new or changed is listed and stops the run.
  • Exit codes: 0 done, 1 usage / no key / API error, 2 your edited team CLAUDE.md would be replaced (named), 3 Claude Code missing or too old, 4 not confirmed (you answered N, or --yes met something new).

Each project's team memory is synced file by file with one command, which you run in your own terminal:

bash
npx -y @systemdox/mcp-server sync-memory [--project <name>] [--dir <folder>] [--import <folder>] [--dry-run]
  • The folder is --dir, or ~/.claude/systemdox/<workspace>/memory/<project>/. Only feedback, project and reference memories and MEMORY.md are shared; a user memory, a file with share: false and a <name>.local-<date>.md conflict copy never leave your computer, and the sync never touches them.
  • A file changed only here goes up, one changed only by the team comes down, and one changed on both sides keeps the team's text under its name and yours beside it as <name>.local-<date>.md. MEMORY.md is merged line by line.
  • Each phone number or email address is asked about once for the whole workspace: m a member's contact, p someone else (with a role label, never a name), o ours, not a person, x leave these files out (share: false), s skip for now. After one y/N over the whole diff, each person becomes their identifier (`con_…` (reseller, sales)) and a home folder ~.
  • --import <folder> merges a second copy of the same memory in (your first sync), keeping every difference as a pair; that folder is not changed. --dry-run shows what would be pulled, pushed, deleted, conflicted and skipped, and how many values are still to answer; it asks, writes and sends nothing.
  • Exit codes: 0 synced (conflict copies and skipped files are listed, not errors), 1 usage / no key / API error, 2 the team memory moved on twice while syncing (your folder holds the merge; run it again).

Claude Code runs two commands itself; you never type them:

bash
npx -y @systemdox/mcp-server marketplace-authnpx -y @systemdox/mcp-server plugin-path <workspace> --version <n> --sha256 <hash>
  • marketplace-auth gives Claude Code the header for your team's marketplace. It gives your key only for a SystemDox team marketplace on the API's own host (SYSTEMDOX_API_URL, https), and only for that workspace; anything else gets nothing and exit 1. No network call, nothing written.
  • plugin-path prints the folder of your team's plugin version. A version already on your computer is printed with no network call. Otherwise it downloads the zip, refuses it unless its SHA-256 is the one Claude Code named, refuses an entry that is absolute, contains .., is a link or takes the plugin past 20 MB, and only then unpacks it into ~/.claude/systemdox/<workspace>/plugin/<n>/. Exit codes: 0 the folder is printed, 1 usage / no key / API error, 2 the SHA-256 differs or an entry was refused.

Both read your key from SYSTEMDOX_API_KEY, then from ~/.claude/systemdox/credentials.json for the workspace (readable by you alone). A key is never written into a settings file, a plugin entry or a command line.

get_change (ADR-218)

get_change { repo, slug } reads one change, a specs/changes/<slug>/ folder of a connected repository, as SystemDox last synced it from GitHub: each part of its brief (decision, contract, behaviour, plan) and its release with its state and pull request, the contract files, every scenario as id · state · title, the plan and the release pull requests, then the change as JSON. The last line is The brief is passed or The brief is not passed: <part> is <state>: a build session calls it first and stops on the second. A change the key may not read answers No such change <repo>/<slug>, as one that does not exist.

get_context

The aggregator. It ranks checks, specs and docs against the task, then spends the token budget fetching the bodies of the highest-ranked specs and docs (/v1/specs/{id}, /v1/docs/{id}/content) — concurrently, clipped to a fair share of what's left. Every item carries the draft_id / doc_id needed to fetch it in full, so nothing is a dead end: items whose body did not fit, or whose fetch failed, still appear as a title + ID. Tech stack and project rules are always included; the budget is spent on bodies, never on truncating the list. Retrieval quality is measured by eval/ — see eval/README.md.

Deprecated tool names

get_guardrails and create_guardrail were renamed to get_checks and create_check. The old names still work. They are registered as aliases of the same handlers and accept the same arguments, so an .mcp.json or agent permission allowlist that pins them keeps working unchanged.

Old nameNew nameRemoved no earlier than
get_guardrailsget_checks2027-01-31
create_guardrailcreate_check2027-01-31

Removal also requires usage telemetry showing no calls against the old name. The /guardrails/* REST routes are not deprecated and are not changing.

Source and licence

The source is public at puglieseweb/systemdox-mcp-server, a read-only mirror of this package. It is developed in the SystemDox monorepo, and every change that reaches its main branch is copied to the mirror as one commit. Issues are welcome on the mirror; a pull request there is read, and any change it proposes is made in the monorepo. In the mirror, npm ci and npm run build build the package on its own, and npm test runs its tests; three of them read shared examples from the monorepo's specs/ and pass only there. ISC licence, © 2026 PuglieseWeb LTD.

Development

bash
pnpm install         # from the monorepo root (pnpm workspace)pnpm --filter @systemdox/mcp-server build       # tsup + tscpnpm --filter @systemdox/mcp-server test        # unit tests (node:test)pnpm --filter @systemdox/mcp-server test:http   # offline handler smoke testpnpm --filter @systemdox/mcp-server eval        # get_context retrieval evalnode scripts/mcp-release-gate.mjs               # from the monorepo root

Entry points: src/index.ts (stdio), src/http.ts (hosted HTTP handler), src/cli.ts (setup command: src/setup-mcp.ts, then src/setup-team.ts). Tool registration is shared via src/server.ts (createServer). The hosted handler is deployed as a Lambda by the product-systemdox backend stack (systemdox-backend-prod), reached through the *.mcp.systemdox.com custom domain.

Publishing

.github/workflows/mcp-server-publish.yml publishes to registry.npmjs.org under the public @systemdox scope, authenticating with the NPM_TOKEN repo secret. The publish step uses a throwaway npmrc containing only the public registry: the repo-root .npmrc maps @puglieseweb to GitHub Packages (needed for installing the org's private packages) and must never leak into a publish of this package — that is how it previously landed in a private registry that npx 404s for every customer.

scripts/mcp-release-gate.mjs is the standing guard: it reads the install command out of the product source and runs it against the public registry with no org credentials.

来源:README.md,提交 fa2264a

工具

27

get_checks

Get Checks

Retrieve SystemDox checks (banned patterns, required patterns, coding rules). Filter by language, category, or file path to get only relevant checks.

输入参数categorylanguagefile_path

get_guardrails

Get Checks (legacy name)

DEPRECATED — use `get_checks` instead. This name still works and will not be removed before 2027-01-31. Retrieve SystemDox checks (banned patterns, required patterns, coding rules). Filter by language, category, or file path to get only relevant checks.

输入参数categorylanguagefile_path

get_specs

Get Specs

Retrieve SystemDox specifications (proposal, requirements with RFC 2119 keywords, Given/When/Then scenarios). Get a specific spec by ID, filter by status, or search by keyword.

输入参数searchstatusdraft_id

get_docs

Get Docs

Retrieve synced documentation from connected GitHub repositories. Filter by repo, file path pattern, or keyword search. Pass doc_id with section (a heading anchor) or chunk_id to retrieve just that section instead of the whole document.

输入参数pathrepodoc_idsearchsectionchunk_id

get_tech_stack

Get Tech Stack

Retrieve the configured technology stack (languages, frameworks, databases, infrastructure) with versions and notes.

无需输入参数。

get_planning_context

Get Planning Context

Retrieve org-wide planning context: connected repos with summaries, cross-repo dependencies, ADRs, and active specs. Optionally focus on a target repo.

输入参数target_repo

get_plan_board

Get Plan Board

Read the GitHub Projects boards connected to this workspace. With no arguments, lists the open boards with their item counts by status. With project_number, lists that board's issues grouped by status (In Progress / Todo / Done), each with issue number, title, repo, labels, assignees and URL — so you can see what is planned or in flight and pick up the right issue. Read-only: this tool cannot create, move, or close board items.

输入参数limitstatusproject_number

get_change

Get Change

Read one change (a specs/changes/<slug>/ folder of a connected repository) as SystemDox last synced it from GitHub: the state of each part of its brief (decision, contract, behaviour, plan) and of its release, each with its pull request; the decision's ADR and status; the contract files; every feature file that names the change, with its scenarios as id · state · title; the plan (plan.md, the draft, the board); the release pull requests; and the Change object as JSON. The last line says "The brief is passed" or "The brief is not passed: <part> is <state>". Call it before building a story, and stop if the brief is not passed or the story's scenarios are not proposed. Read-only.

输入参数repo必填slug必填

get_context

Get Context

Intelligent context aggregator: fetches checks, specs, docs, and tech stack, ranks them by relevance to your current task, and returns the full text of the highest-ranked items within a token budget — each with the ID needed to fetch the rest. Use this instead of calling individual tools when you want curated, relevant context.

输入参数file_pathsmax_tokenstask_description必填

get_project_rules

Get Project Rules

Retrieve project rules defined in SystemDox Standards. These are team-defined principles covering deployment, architecture, security, testing, and process. Filter by category to get only relevant rules.

输入参数category

get_prompt_templates

Get Prompt Templates

Retrieve reusable prompt templates from SystemDox Standards. These are preconfigured prompts that Gen AI should use when generating content — e.g. code review checklists, documentation templates, or analysis frameworks.

无需输入参数。

get_team_setup

Get Team Setup

What this workspace's team setup holds (skills, plugin, hooks, MCP servers, memory) and what this computer lacks, with what to do about it. Call it to check whether this computer is set up. Reads only.

无需输入参数。

trace_document_path

The shortest way two documents connect, walking links in either direction. Each step says how it is known, and the path is only as strong as its weakest step. Read-only.

输入参数to必填from必填max_hops

get_graph_stats

The state of the graph: links counted by how they are known, each repository's freshness (marked BEHIND when a push has not finished indexing), and how repositories depend on each other, from the files that declare it. Read-only.

无需输入参数。

create_check

Create Check

Create a new check in SystemDox. Use this when you discover a pattern that should be enforced (banned pattern, required pattern, coding rule).

输入参数fixtitle必填patterncategoryseverity必填description必填fitness_test

create_guardrail

Create Check (legacy name)

DEPRECATED — use `create_check` instead. This name still works and will not be removed before 2027-01-31. Create a new check in SystemDox. Use this when you discover a pattern that should be enforced (banned pattern, required pattern, coding rule).

输入参数fixtitle必填patterncategoryseverity必填description必填fitness_test

update_spec

Update Spec

Update an existing SystemDox spec's proposal, tasks, or requirements. Only draft specs can be modified — published specs must be versioned first.

输入参数content必填section必填draft_id必填requirement_name

report_decision

Report Decision

Record an architecture decision made during development. Creates a draft ADR in SystemDox for human review.

输入参数title必填context必填decision必填consequences必填related_files

create_project_rule

Create Project Rule

Create a new project rule in SystemDox Standards. Use this when you discover a team principle or convention that should be enforced across the project.

输入参数text必填category必填

create_prompt_template

Create Prompt Template

Create a new reusable prompt template in SystemDox Standards. Use this to store preconfigured prompts for common AI tasks like code reviews, documentation generation, or analysis frameworks.

输入参数name必填prompt必填description

publish_skill

Publish Skill

Publish a Claude Code skill folder (SKILL.md plus its references and scripts) to SystemDox so it can be installed on any computer. Pass `directory` (e.g. ~/.claude/skills/<name>): the server reads the files itself, byte for byte. Publishing a name again makes a new version. Never retype the files into `files` when the folder is on this computer.

输入参数namenotefilesspaceIddirectorybaseVersion

list_skills

List Skills

List the Claude Code skills published to SystemDox that you can install: name, description, latest version. Use install_skill to install one.

无需输入参数。

install_skill

Install Skill

Install a skill published to SystemDox onto this computer (default ~/.claude/skills/<name>/). Refuses, naming the files, when a file there was edited since it was installed, unless overwrite is true. Never runs anything.

输入参数name必填targetversionoverwrite

publish_setup_part

Publish Setup Part

Publish one part of your team's Claude Code setup to SystemDox: `hooks` (hooks/hooks.json and the scripts/ it calls), `mcp` (.mcp.json), `agents` (agents/*.md), `commands` (commands/*.md) or `instructions` (CLAUDE.md). Every part but instructions makes a new version of the team plugin, which each member accepts at their next update. Publishing hooks, mcp, agents or commands needs the admin role. Pass `directory`: the server reads only the files the part accepts, byte for byte, and refuses a link, a binary file or a file too large before anything is sent. Never retype the files into `files` when the folder is on this computer.

输入参数part必填filesdirectory

resolve_person

Resolve Person

Read back a person that a team memory names by identifier, written as `con_…` (label), `ctc_…` or `usr_…`: their label, name, phone number and email address, from the vault that holds them. The details are for this session only: never write them into a memory file; the memory keeps the identifier. Writes nothing.

输入参数id必填

sync_memory

Sync Memory

Sync one project's team memory on this computer with SystemDox: pull the files the team changed, push the ones changed here, keep both texts of a file changed on both sides. It never answers for a person: a file that still holds a phone number, an email address or a home-folder path is skipped and listed, with the command for the member to run in their own terminal (`npx -y @systemdox/mcp-server sync-memory`). Pass dryRun to see what it would do without writing or sending anything.

输入参数dryRunproject

版本历史

12
  1. v0.1.56Nov 7, 2026
  2. v0.1.54Nov 6, 2026
  3. v0.1.53Nov 5, 2026
  4. v0.1.51Nov 4, 2026
  5. v0.1.50Nov 4, 2026
  6. v0.1.49Nov 3, 2026
  7. v0.1.45Nov 1, 2026
  8. v0.1.44Nov 1, 2026
  9. v0.1.43Nov 1, 2026
  10. v0.1.42Oct 29, 2026
  11. v0.1.38Oct 9, 2026
  12. v0.1.35Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分