PactKit integrates with Model Context Protocol servers to extend agent capabilities. All MCP instructions are conditional — if a server isn't available, it's gracefully skipped.
Supported Servers
Context7
Fetch up-to-date library documentation and code examples.
- Tools:
resolve-library-id→get-library-docs - When: Implementing with an unfamiliar library API
- Phase: Act
shadcn
Search, browse, and install UI components from shadcn registries.
- Tools:
search_items_in_registries,view_items_in_registries,get_item_examples_from_registries,get_add_command_for_items - When: Project has a
components.jsonfile (shadcn is configured) - Phase: Design
Playwright MCP
Browser automation for testing — snapshots, clicks, screenshots, form filling.
- Tools:
browser_navigate,browser_snapshot,browser_click,browser_take_screenshot,browser_fill_form - When: Running browser-level QA checks
- Phase: Check
Chrome DevTools MCP
Performance tracing, console message inspection, network request analysis.
- Tools:
performance_start_trace,list_console_messages,list_network_requests,take_snapshot,take_screenshot - When: Performance or runtime diagnostics needed
- Phase: Check
Memory MCP
Persistent knowledge graph for cross-session context.
- Tools:
create_entities,create_relations,add_observations,search_nodes,read_graph - When: Storing or retrieving architectural decisions across sessions
- Phase: Plan, Act, Done
- Entity naming: Use
{STORY_ID}(e.g.,STORY-037) as entity name,entityType: "story"
Draw.io
Architecture diagram instant preview and interactive editing.
- Tools:
open_drawio_xml,open_drawio_csv,open_drawio_mermaid - When: Generating architecture diagrams with instant preview
- Phase: Plan, Design
Usage by PDCA Phase
| Phase | MCP Server | Purpose |
|---|---|---|
| Plan | Memory | Store architectural decisions and design rationale |
| Plan | Draw.io | Instant preview of architecture diagrams |
| Design | shadcn | Discover and install UI components |
| Design | Draw.io | Interactive architecture diagram editing |
| Act | Context7 | Verify library API signatures |
| Act | Memory | Load prior context from earlier sessions |
| Check | Playwright | Browser-level QA testing |
| Check | Chrome DevTools | Performance and runtime diagnostics |
| Done | Memory | Record lessons learned |
Conditional Behavior
Each MCP integration checks for tool availability at runtime:
IF mcp__memory__create_entities tool is available:
→ store design context
ELSE:
→ skip gracefully, continue workflowNo MCP server is required for PactKit to function. They enhance the workflow when present but are never a hard dependency.
OpenCode MCP Configuration
For OpenCode users, MCP servers are configured in 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 supports two MCP types:
- Remote:
type: "remote"with aurl— no local installation needed (e.g., Context7) - Local:
type: "local"with acommand— runs via npx (e.g., Memory, Playwright)
When deploying with the default pactkit init or pactkit init --format opencode, the project-level opencode.json is pre-configured with Context7 as a remote MCP. Add other servers manually as needed.
GitHub Copilot MCP Configuration
For Copilot users, MCP servers are configured in .vscode/mcp.json (VS Code workspace level). This is separate from PactKit's .github/ deployment — VS Code only discovers MCP servers from .vscode/.
{
"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"]
}
}
}Verified Packages
| Server | npm Package | Version | Status |
|---|---|---|---|
| Playwright | @playwright/mcp | 0.0.70+ | Official, actively maintained |
| Chrome DevTools | chrome-devtools-mcp | 0.21.0+ | Community, stable |
| Memory | @modelcontextprotocol/server-memory | 2026.1+ | Official MCP reference impl |
| Draw.io | @drawio/mcp | 1.2.0+ | Official |
| Context7 | @upstash/context7-mcp | 2.1+ | Official from Upstash |
shadcn MCP is not recommended for Copilot. The npm package shadcn-mcp exists but is a community single-maintainer project with no updates since its initial release. It was designed for Claude, not Copilot. If you need shadcn component references, use the Context7 server to look up shadcn documentation instead.
Setup Steps
- Create
.vscode/mcp.jsonwith the configuration above - Open Command Palette →
MCP: List Serversto verify servers appear - Accept the trust prompt when VS Code asks
- If servers don't appear, run
Developer: Reload Window
Important Notes
.vscode/is typically in.gitignore— the MCP config is local-only by default- To share with your team, add a
.gitignoreexception for.vscode/mcp.json - Memory data is stored locally and is project-scoped
- Context7 works without an API key, but with lower rate limits — add
CONTEXT7_API_KEYfor production use