Goal: Decide when to use an MCP server vs a CLI, and wire up the recommended ones.
| Level | Beginner |
| Time | ~10 min |
| Prerequisites | An AI assistant (Claude Code); the CLI for the service when one exists (gh, acli, …) |
Prefer the CLI over MCP. It is more efficient.
An MCP server loads its full tool schema into every turn — that bloats the context window and is less optimised. A CLI call costs a few tokens and returns only what you ask for.
Reach for MCP only when no CLI covers the service.
| Service | Official MCP | CLI alternative | Recommended |
|---|---|---|---|
| GitHub | api.githubcopilot.com/mcp/ |
gh |
CLI — gh covers issues, PRs, releases, API at a fraction of the context |
| Atlassian (Jira / Confluence) | mcp.atlassian.com/v1/mcp |
acli (Jira only at GA) |
CLI for Jira · MCP for Confluence (no CLI yet) |
| Playwright | @playwright/mcp |
npx playwright + official skill |
CLI — drives a real browser (playwright open, codegen, --headed). The skill wraps it |
| Figma | mcp.figma.com/mcp |
none for design data | MCP |
| Notion | mcp.notion.com/mcp |
none official | MCP |
- 🔎 Check for a CLI first — if the service has one (GitHub →
gh, Jira →acli), install and authenticate it instead of an MCP server. - 🔌 If MCP is the only option, add the server to your
.mcp.json:{ "mcpServers": { "figma": { "url": "https://mcp.figma.com/mcp" } } } - 🛡️ Audit the server before connecting — read its docs and the permissions it requests.
- ✅ Restart your assistant so it picks up the new configuration.
- The MCP tools appear in your assistant (e.g.
/mcpin Claude Code lists connected servers). - For a CLI, run a read-only command (
gh auth status,acli jira me) and confirm it returns.
docs/ARCHITECTURE.md— how the framework is structured- Anthropic — discover plugins