PactKit

PactKit 集成 Model Context Protocol 服务器以扩展 Agent 能力。所有 MCP 指令都是条件性的 — 如果服务器不可用,会被优雅地跳过。

支持的服务器

Context7

获取最新的库文档和代码示例。

  • 工具: resolve-library-idget-library-docs
  • 时机: 使用不熟悉的库 API 进行实现时
  • 阶段: Act

shadcn

搜索、浏览和安装来自 shadcn 注册表的 UI 组件。

  • 工具: search_items_in_registries, view_items_in_registries, get_item_examples_from_registries, get_add_command_for_items
  • 时机: 项目有 components.json 文件(已配置 shadcn)
  • 阶段: Design

Playwright MCP

用于测试的浏览器自动化 — 快照、点击、截图、表单填写。

  • 工具: browser_navigate, browser_snapshot, browser_click, browser_take_screenshot, browser_fill_form
  • 时机: 运行浏览器级别的 QA 检查
  • 阶段: Check

Chrome DevTools MCP

性能追踪、控制台消息检查、网络请求分析。

  • 工具: performance_start_trace, list_console_messages, list_network_requests, take_snapshot, take_screenshot
  • 时机: 需要性能或运行时诊断
  • 阶段: Check

Memory MCP

跨会话上下文的持久知识图谱。

  • 工具: create_entities, create_relations, add_observations, search_nodes, read_graph
  • 时机: 跨会话存储或检索架构决策
  • 阶段: Plan, Act, Done

Draw.io

架构图即时预览和交互式编辑。

  • 工具: open_drawio_xml, open_drawio_csv, open_drawio_mermaid
  • 时机: 生成带即时预览的架构图
  • 阶段: Plan, Design

按 PDCA 阶段使用

阶段MCP 服务器用途
PlanMemory存储架构决策和设计理由
PlanDraw.io架构图即时预览
Designshadcn发现和安装 UI 组件
DesignDraw.io交互式架构图编辑
ActContext7验证库 API 签名
ActMemory从之前的会话加载上下文
CheckPlaywright浏览器级别的 QA 测试
CheckChrome DevTools性能和运行时诊断
DoneMemory记录经验教训

条件行为

每个 MCP 集成在运行时检查工具可用性:

IF mcp__memory__create_entities tool is available:
  → store design context
ELSE:
  → skip gracefully, continue workflow

PactKit 运行不需要任何 MCP 服务器。它们在存在时增强工作流,但绝不是硬性依赖。

OpenCode MCP 配置

对于 OpenCode 用户,MCP 服务器在 opencode.json 中配置:

{
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    },
    "memory": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-memory"]
    },
    "playwright": {
      "type": "local",
      "command": ["npx", "-y", "@playwright/mcp"]
    }
  }
}

OpenCode 支持两种 MCP 类型:

  • Remote: type: "remote"url — 无需本地安装(如 Context7)
  • Local: type: "local"command — 通过 npx 运行(如 Memory、Playwright)

通过默认的 pactkit init 或指定 pactkit init --format opencode 部署时,项目级 opencode.json 预配置了 Context7 作为远程 MCP。根据需要手动添加其他服务器。

GitHub Copilot MCP 配置

Copilot 用户的 MCP 服务器配置在 .vscode/mcp.json(VS Code 工作区级别)。这与 PactKit 的 .github/ 部署目录是分开的 — VS Code 只从 .vscode/ 发现 MCP 服务器。

{
  "servers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest", "--headless", "--isolated"]
    },
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--headless=true", "--isolated=true", "--viewport=1440x900"]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "drawio": {
      "command": "npx",
      "args": ["-y", "@drawio/mcp@latest"]
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

已验证的包

服务器npm 包名版本状态
Playwright@playwright/mcp0.0.70+官方,活跃维护
Chrome DevToolschrome-devtools-mcp0.21.0+社区,稳定
Memory@modelcontextprotocol/server-memory2026.1+官方 MCP 参考实现
Draw.io@drawio/mcp1.2.0+官方
Context7@upstash/context7-mcp2.1+Upstash 官方

不建议在 Copilot 中使用 shadcn MCP。 npm 上的 shadcn-mcp 包存在,但它是一个社区个人维护项目,自首次发布以来没有更新。该包是为 Claude 设计的,而非 Copilot。如果需要 shadcn 组件参考,建议使用 Context7 服务器查询 shadcn 文档。

配置步骤

  1. 在项目根目录创建 .vscode/mcp.json,写入上述配置
  2. 打开命令面板 → MCP: List Servers 确认服务器列表
  3. VS Code 首次询问时接受信任提示
  4. 如果服务器未显示,运行 Developer: Reload Window

注意事项

  • .vscode/ 通常在 .gitignore 中 — MCP 配置默认仅本地可见
  • 如需团队共享,在 .gitignore 中为 .vscode/mcp.json 添加例外
  • Memory 数据存储在本地,按项目隔离
  • Context7 无需 API key 即可使用,但有速率限制 — 生产环境建议配置 CONTEXT7_API_KEY

目录