# @critical-path/mcp 中文文档

规范地址：https://npmcn.com/package/%40critical-path/mcp/

版本：0\.26\.2
npm 元数据更新时间：2026-11-05T14:30:09.260Z
中文译文更新时间：2026-11-11T00:58:58.895Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40critical-path/mcp
原文对照：https://npmcn.com/package/%40critical-path/mcp/?lang=original
项目主页：https://github.com/Pixerate/critical-path#readme
源码仓库：https://github.com/Pixerate/critical-path

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

- 包体积（解压后）：432 kB，54 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：5 个
- 首次发布：2026-09-09T21:10:50.012Z
- 最新版本发布：2026-11-05T14:30:08.967Z
- 近 30 天下载量：4682（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：64（近 12 个月 64 个）

## 中文简介

模式上下文协议服务器、客户端WebMCP工具和关键路径代理技能

## 安装

```sh
npm install @critical-path/mcp
```

也可以使用：`pnpm add @critical-path/mcp`、`yarn add @critical-path/mcp`、`bun add @critical-path/mcp`

## README

# @ 关键路径/ mcp

> **模式背景协议(MCP)和客户端-Side WebMCP 关键路径整合**  
> 连接 AI 编码代理,背景工作者, 以及浏览器副驾驶直接与您的项目管理工作流程连接 .

> **升级?** 升级一次 `@critical-path/*` 组合在一起。 编码代理: 遵循 [更新(md)](https://github.com/Pixerate/critical-path/blob/main/UPGRADING.md); 已标记断开的更改 **刹车** 此软件包中 `CHANGELOG.md`。 。 。 .

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

* * *

## \* 概览

`@critical-path/mcp` 桥 **关键路径** 通过两个补充协议与AI代理商建立无头项目管理框架:

1.  **标准服务器 MCP (S)`@critical-path/mcp/server`(中文(简体) )**数字 : 标准 [示范背景协议(MCP)](https://modelcontextprotocol.io/) 使用 `@modelcontextprotocol/sdk`运行 **静态** 或者说 **可流式HTTP/SSE**,允许外部AI助手(如克洛德桌面,Cursor,和Antigravity)管理项目,任务,短跑,可交付品和评论.
2.  **客户端- Side WebMCP (`@critical-path/mcp/web`(中文(简体) )**数字 : 浏览器工具注册 **W3C 网络机器学习社区小组 WebMCP 规格**直接打开的登记册结构化工具 `document.modelContext` 编号 : `navigator.modelContext` 与环境项目范围界定,允许浏览器 AI 助手和页面副驾驶启动项目状态而无需脆弱的 DOM 刮取.

* * *

## \* 安装

```bash
pnpm add @critical-path/mcp
```

* * *

## QQ 标准服务器 MCP( Claude 桌面、 光标、 CLI)

### 通过 CLI 运行

您可以在 Stdio 上立即对一个本地的 SQLite 数据库、内存存储器或远程关键路径 REST API 旋转 MCP 服务器:

```bash
# Against a local SQLite database
npx @critical-path/mcp --db ./path/to/critical-path.db

# Against a remote Next.js or SvelteKit route handler
npx @critical-path/mcp --api http://localhost:3000/api/critical-path

# Temporary in-memory store (for testing)
npx @critical-path/mcp

# Expose only some tools: toolsets, exact names, read-only
npx @critical-path/mcp --db ./critical-path.db --toolsets scheduling,analytics,guidance --read-only

# Install the bundled agent skills for coding agents
npx @critical-path/mcp skills install
```

对于保护的 APIs `requireAuth`设置 `CRITICAL_PATH_API_TOKEN` (同意为 `Authorization: Bearer <token>`)或通过 `--header "Name: value"` (可重现. 偏好环境变量为机密,因为命令行旗帜在进程列表中可见. CLI警告什么时候会寄出证书 `http` 给非本地主机.

```json
{
  "mcpServers": {
    "critical-path": {
      "command": "npx",
      "args": ["-y", "@critical-path/mcp", "--api", "https://app.example.com/api/critical-path"],
      "env": { "CRITICAL_PATH_API_TOKEN": "<token>" }
    }
  }
}
```

### Claude 桌面配置

在您的 `claude_desktop_config.json`数字 :

```json
{
  "mcpServers": {
    "critical-path": {
      "command": "npx",
      "args": ["-y", "@critical-path/mcp", "--db", "/absolute/path/to/critical-path.db"]
    }
  }
}
```

### 程序服务器创建

```typescript
import { createCriticalPathMcpServer, startStdioServer } from '@critical-path/mcp/server';
import { CriticalPathEngine, SQLiteStore } from '@critical-path/core';

const engine = new CriticalPathEngine({
  store: new SQLiteStore({ filename: 'projects.db' })
});

const server = createCriticalPathMcpServer({
  engine,
  name: 'my-project-pm',
  toolsets: ['core', 'collaboration', 'guidance'] // optional; default: every tool
});

await startStdioServer(server);
```

* * *

## QQ 客户端- Side WebMCP (浏览器副驾驶)

WebMCP在浏览器的JavaScript环境中直接曝光客户端工具而无需刮去DOM元素.

### 反应整合( R)`useWebMCP`(中文(简体) )

```tsx
import { useWebMCP } from '@critical-path/react';

export function ProjectDashboard({ projectId }: { projectId: string }) {
  // Automatically registers tools scoped to the active project
  // and cleans up on unmount or project change via AbortController.
  // `instructions` briefs the agent; add it to your copilot's system prompt.
  const { registered, tools, instructions } = useWebMCP({
    projectId,
    tools: ['create_task', 'list_tasks', 'update_task', 'add_comment']
  });

  return (
    <div>
      <h1>Project View</h1>
      {registered && <p>AI Copilot Active ({tools.length} tools available)</p>}
    </div>
  );
}
```

### Svelte 5 集成( R)`WebMcpState` 编号 : `createWebMcpState`(中文(简体) )

```svelte
<script lang="ts">
  import { createCriticalPathClient, createWebMcpState } from '@critical-path/svelte';

  const client = createCriticalPathClient({ baseUrl: '/api/critical-path' });
  const mcp = createWebMcpState(client, { projectId: 'proj-123' });
</script>

<div>
  {#if mcp.registered}
    <span>🤖 In-browser AI assistant enabled for project {mcp.activeProjectId}</span>
  {/if}
</div>
```

### 香草/框架-不可知网络MCP

```typescript
import { registerWebMcpTools } from '@critical-path/mcp/web';
import { CriticalPathClient } from '@critical-path/client';

const client = new CriticalPathClient({ baseUrl: '/api/critical-path' });

const handle = registerWebMcpTools({
  client,
  projectId: 'proj-main',
  onToolExecuted: (name, input, result) => {
    console.log(`[WebMCP] Executed ${name}:`, input, result);
  }
});

// To clean up and unregister:
handle.unregister();
```

* * *

## QQ 支持的工具

| 工具 | 工具集 | 用它来 | 关键参数 |
| :-- | :-- | :-- | :-- |
| `list_projects` | 核心项目 | 查找工程 ID; 返回 `{ projects }` | `{}` |
| `get_project` | 核心项目 | 项目的工作流程状况、自定义字段和日历 | `{ id }` |
| `create_project` | 核心项目 | 一个新的空项目 | `{ name, description?, key? }` |
| `list_tasks` | 核心项目 | 查找任务; 返回 `{ tasks, nextCursor }` | `{ projectId?, status?, priority?, assigneeId?, iterationId?, deliverableId?, containerId?, parentId? ('none' = top-level), limit?, cursor? }` |
| `get_task` | 核心项目 | 一个任务是完整记录 `includeDependencies`,它等待着什么`dependsOn`和什么等待它(英语:`dependents`(中文(简体) ) | `{ id, includeDependencies? }` |
| `create_task` | 核心项目 | 添加工作( 在 WebMCP 中自动扫描) | `{ projectId?, title, description?, priority?, status?, estimatedHours?, allocation?, deadline?, isMilestone? }` |
| `update_task` | 核心项目 | 变化状况、优先权、受让人、估计数、最后期限 | `{ id, title?, status?, priority?, assigneeId?, allocation?, deadline?, isMilestone? }` |
| `log_time` | 核心项目 | 记录工作时间(增加记录时间的唯一途径) | `{ taskId, hours, description?, isBillable?, loggedAt? }` |
| `update_time_entry` | 核心项目 | 纠正记录的时间(任务时数按差额移动) | `{ id, hours?, description?, isBillable?, loggedAt? }` |
| `delete_time_entry` | 核心项目 | 删除错误记录的时间 | `{ id }` |
| `delete_task` | 核心项目 | 永久删除( E)`destructiveHint`(中文(简体) ) | `{ id }` |
| `add_dependency` | 核心项目 | 做一个任务等待另一个,所以关键路径命令他们;一能,拒绝循环 | `{ taskId, dependsOnTaskId, type? ('blocking' | 'relates_to') }` |
| `remove_dependency` | 核心项目 | 以相同的两个任务编号去除链接; 返回 `{ removed, dependencyIds }` | `{ taskId, dependsOnTaskId, type? }` |
| `list_deliverables` | 协作 | 项目的可交付成果(组任务的产出);返回 `{ deliverables }` | `{ projectId? }` |
| `create_deliverable` | 协作 | 若干任务产生的产出 | `{ projectId?, title, dueDate?, taskIds? }` |
| `list_comments` | 协作 | 任务讨论, 最早; 返回 `{ comments, nextCursor }` | `{ taskId, limit?, cursor? }` |
| `add_comment` | 协作 | 记录决定或注释(由服务器的演员编写) | `{ taskId, content }` |
| `calculate_critical_path` | 时间安排 | 完成预测,关键任务,松懈`calendars: 'assignee'` 使用每个受让人或团队的日历; `levelResources` 将每个受让人限制在一个任务上) | `{ projectId?, calendars?, levelResources?, levelingPriority?, effort?, defaultEstimateHours?, baselineId? }` |
| `calculate_portfolio_critical_path` | 时间安排 | 多个项目( 默认: 全部可读), 平分时共享人员和团队 | `{ projectIds?, projectOrder?, includeHiddenWork?, calendars?, levelResources?, levelingPriority?, effort? }` |
| `create_baseline` | 时间安排 | 节省商定的计划,以跟踪延误情况 | `{ projectId?, name, calendars?, levelResources? }` |
| `list_baselines` | 时间安排 | 寻找一个基准与(`baselineId` 打开 `calculate_critical_path`(中文(简体) ) | `{ projectId? }` |
| `get_workload_distribution` | 时间安排 | 时间、容量和使用情况 | `{ projectId?, startDate?, endDate?, interval?, groupBy?, metric? }` |
| `get_timeline_ladder` | 分析 | 项目状况:阶段保健(宏观)、时间表(标准)、证据(具体) | `{ projectId?, level?, containerId?, iterationId? }` |
| `get_task_ladder` | 分析 | 一项任务阶段、时间表位置和证据 | `{ taskId }` |
| `get_task_metrics` | 分析 | 进度、差异和所得价值(CPI、SPI) | `{ taskId }` |
| `get_task_progress_history` | 分析 | 时间和曲线形状的进展 | `{ taskId }` |
| `get_skill` | 指导 | 为多步任务装入游戏本 | `{ name? }` |

每个工具的JSON `inputSchema` 财务报告和审定财务报表 `outputSchema` 由它的zod计划产生 `defineTool`,所以模型所看到的总是与所执行的一致。 在标准服务器和WebMCP上,工具参数在执行前都会被验证. 无效或未声明的参数返回 `isError` 结果命名问题(例如, `projectId` 无法传递到 `update_task`) (中文(简体) ). 结果为 JSON 对象,返回为 `structuredContent` 作为文本; 查找一无所获即为错误, 并提示如何找到有效的 id .

**身份 :** 带有 `engine`,更改可归于服务器的 `actor` 选项(默认) `DEFAULT_MCP_ACTOR`, (中文(简体) ), `mcp-agent`;工具从不采纳作者或演员的参数. 如果引擎有一个 `authorize` 策略中,检查参与者时会像任何用户一样: 给予其项目成员(或 `roles: ['admin']`页:1 `tenantId` 在多租房的情况下, 与一个 `client`API的认证决定了打电话者是谁 工具在 `tools` 编号 : `toolsets` 选择既不列出也不可调用。 每个工具都会发送标准的 MCP 注释 `readOnlyHint`, (中文(简体) ), `destructiveHint`, (中文(简体) ), `idempotentHint` 财务报告和审定财务报表 `openWorldHint`。 。 。 .

* * *

## QQ代理发现: 工具、 指令和技能

特工从描述中选择工具. 此套件有助于他们很好地选择:

-   **工具集** 列表简短。 过 `toolsets` (单位:千美元)`core`, (中文(简体) ), `collaboration`, (中文(简体) ), `scheduling`, (中文(简体) ), `analytics`, (中文(简体) ), `guidance`, (中文(简体) ), `tools` (确切名称,结合工具)和 `readOnly` 改为 `createCriticalPathMcpServer`, (中文(简体) ), `registerWebMcpTools`, (中文(简体) ), `useWebMCP` 或者说 `createWebMcpState`,或 `--toolsets`, (中文(简体) ), `--tools` 财务报告和审定财务报表 `--read-only` 给CLI的 未知名称丢出 .
-   **服务器指令** 发送到连接上:数据模型, IDs来自何处, 哪个工具符合哪个请求, 以及技能索引。 WebMCP 返回与 `handle.instructions` (另见: `instructions` 从 `useWebMCP` 财务报告和审定财务报表 `WebMcpState`为了你的副驾驶系统迅速. `buildAgentInstructions(tools)` 为自定义主机构建它 .
-   **技能** 用于多步骤工作的游戏本,在代理技能中 `SKILL.md` 格式 :

| 技能 | 用它来 |
| :-- | :-- |
| `plan-project` | 将目标转化为一个具有可达到的目标、估计任务、优先事项及其依赖性的项目 |
| `triage-tasks` | 确定积压的优先事项、估计数、标签和封堵状态 |
| `analyze-schedule` | 查找最终日期和建议修正 |
| `report-status` | 撰写项目状况报告 |
| `plan-capacity` | 寻找超负荷或闲置人员并重新平衡工作 |
| `investigate-task` | 找出为什么一项任务迟到、停滞或超出预算 |

特工们装上 `get_skill` 工具,将其读作 `criticalpath://skills/{name}` 资源,或将其作为文件使用 :

```bash
# Writes .claude/skills/<name>/SKILL.md (edited files are kept unless you pass --force)
npx @critical-path/mcp skills install [--dir <path>]
```

包中的文件船 (`@critical-path/mcp/skills/<name>/SKILL.md`),以及 `SKILLS` 编号 : `getSkill()` 导出.

**测量工具选择 :** `pnpm --filter @critical-path/mcp eval:tools` (需要Anthropic 证书)请克洛德为每个请求选择一个工具 `evals/tool-selection.cases.json` 并报告得分。 单位测试没有 API 密钥的每个描述 .

* * *

## QQ 资源与提示( 标准 MCP 服务器)

### 资源

-   `criticalpath://projects`:所有项目的活JSON流.
-   `criticalpath://tasks`所有任务中的JSON流.
-   `criticalpath://tasks/{id}`具体任务的详细JSON载荷.
-   `criticalpath://skills/{name}`:被捆绑的代理技能(Markdown).

### 提示

-   `summarize_project`: 项目健康、完成率和阻塞器的执行摘要.
-   `triage_task`:AI指导分辨分析优先性,估计和接受标准.

* * *

## 许可证

麻省理工学院 [杰克・詹姆斯](https://github.com/Pixerate)

## 常见问题

### @critical-path/mcp 是什么？

模式上下文协议服务器、客户端WebMCP工具和关键路径代理技能

### 如何安装 @critical-path/mcp？

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

### @critical-path/mcp 支持 TypeScript 吗？

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

### @critical-path/mcp 支持 ESM 还是 CommonJS？

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

### @critical-path/mcp 需要什么版本的 Node\.js？

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

### @critical-path/mcp 可以商用吗？

@critical-path/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @critical-path/mcp 的下载量有多少？

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

### @critical-path/mcp 还在维护吗？

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

