Getting More Out of Claude Code (2) — Plugins, MCP, and IDE Integration

Getting More Out of Claude Code (2) — Plugins, MCP, and IDE Integration


Introduction

In Part 1, we covered memory, skills, and hooks — ways to make Claude remember you and automate repetitive work.

In Part 2, we expand Claude Code’s reach outward:

  • Plugins: Bundle skills, agents, hooks, and MCP servers into shareable packages
  • MCP: Connect external tools like GitHub, Sentry, and databases to Claude
  • IDE Integration: Use Claude Code natively inside VS Code

1. Plugins — Bundle and Share Functionality

Plugins package skills, agents, hooks, and MCP servers into a single distributable unit. You can create your own or install from a marketplace.

1.1 Plugins vs standalone configuration

ApproachSkill namesBest for
Standalone (.claude/ directory)/helloPersonal workflows, project-specific customization
Plugins (.claude-plugin/plugin.json)/plugin-name:helloTeam sharing, community distribution, versioned releases

Use standalone config for personal use. Use plugins when sharing with teams or the community.

1.2 Creating a plugin

Directory structure

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # Manifest (required)
├── commands/                # Slash commands
├── skills/                  # Agent skills
│   └── code-review/
│       └── SKILL.md
├── agents/                  # Custom agents
├── hooks/
│   └── hooks.json           # Hook configuration
├── .mcp.json                # MCP server config
└── settings.json            # Default settings

Writing plugin.json

{
  "name": "my-plugin",
  "description": "Automated code review plugin",
  "version": "1.0.0",
  "author": {
    "name": "Your Name"
  }
}

The name becomes the skill namespace. Skills in this plugin are invoked as /my-plugin:code-review.

Adding a skill

skills/code-review/SKILL.md:

---
name: code-review
description: Reviews code for quality and security issues
---

When reviewing code, check for:
1. Code structure and readability
2. Error handling
3. Security vulnerabilities
4. Test coverage

Local testing

Before publishing to a marketplace or installing with claude plugin install, you can test by pointing directly at a local directory:

# Start Claude Code with ./my-plugin loaded as a temporary plugin
claude --plugin-dir ./my-plugin

# Test multiple plugins at once
claude --plugin-dir ./plugin-one --plugin-dir ./plugin-two

This starts a new Claude Code session with the directory recognized as a plugin. It’s only active for that session — once the session ends, the plugin is unloaded.

What to test:

  • Skills appear in the / command list (e.g., /my-plugin:code-review)
  • Agents show up in /agents
  • Hooks trigger on the correct events
  • MCP servers connect and appear in /mcp

When you modify plugin files during development, run /reload-plugins to apply changes without restarting. Note: LSP server configuration changes require a full restart.

1.3 Installing plugins & marketplaces

# Inside Claude Code
/plugins  # Opens plugin management UI

Installation scope options:

ScopeDescription
Install for youAvailable in all your projects (user)
Install for this projectShared with project collaborators (project)
Install locallyOnly for you, only in this repo (local)

Marketplaces can be added via GitHub repos, URLs, or local paths. There’s an official marketplace, and you can create team-specific ones.

1.4 Converting existing config to a plugin

If you already have skills or hooks in .claude/, simply move them to a plugin structure:

mkdir -p my-plugin/.claude-plugin
# Create plugin.json, then:
cp -r .claude/commands my-plugin/
cp -r .claude/skills my-plugin/
cp -r .claude/agents my-plugin/

2. MCP — Connecting External Tools

MCP (Model Context Protocol) is an open-source standard protocol for connecting Claude Code to external tools. You can connect hundreds of tools including GitHub, Sentry, databases, Slack, and more.

2.1 What you can do with MCP

With MCP servers connected, you can do things like:

Implement the feature described in JIRA ENG-4521 and create a PR on GitHub.
Check Sentry for errors in the last 24 hours and find which deployment caused them.
Query our PostgreSQL database for this month's revenue data.

Here are useful MCP servers organized by category. Most can be installed with a single command.

Development & Code Management

ServerDescriptionInstall command
GitHubPR reviews, issue management, code searchclaude mcp add --transport http github https://api.githubcopilot.com/mcp/
SentryError monitoring, stack trace analysisclaude mcp add --transport http sentry https://mcp.sentry.dev/mcp
VercelDeployment management, project analyticsclaude mcp add --transport http vercel https://mcp.vercel.com
Context7Up-to-date library documentationclaude mcp add --transport http context7 https://mcp.context7.com/mcp
StripePayment and financial infrastructureclaude mcp add --transport http stripe https://mcp.stripe.com
DatadogLogs, metrics, traces, incident monitoringclaude mcp add --transport http datadog https://mcp.datadoghq.com/mcp

Databases

ServerDescriptionInstall command
SupabasePostgreSQL + auth + storageclaude mcp add --transport http supabase https://mcp.supabase.com/mcp
DBHubUniversal PostgreSQL/MySQL/MariaDB/SQL Server/SQLite accessclaude mcp add --transport stdio db -- npx -y @bytebase/dbhub --dsn "connection-string"

DBHub connects to PostgreSQL, MySQL, MariaDB, SQL Server, and SQLite via a single DSN string. Using a read-only database account is strongly recommended.

DSN examples:

  • PostgreSQL: postgresql://user:pass@host:5432/db
  • MySQL: mysql://user:pass@host:3306/db
  • SQL Server: sqlserver://user:pass@host:1433/db
  • SQLite: sqlite:///path/to/db.sqlite

Project Management

ServerDescriptionInstall command
AtlassianJira issues + Confluence docsclaude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcp
LinearIssues, projects, workflow managementclaude mcp add --transport http linear https://mcp.linear.app/mcp
NotionCreate, edit, search documentsclaude mcp add --transport http notion https://mcp.notion.com/mcp
AsanaTasks, projects, goals managementclaude mcp add --transport http asana https://mcp.asana.com/v2/mcp

Communication & Design

ServerDescriptionInstall command
SlackSend messages, fetch dataclaude mcp add --transport http slack https://mcp.slack.com/mcp
FigmaGenerate code from design contextclaude mcp add --transport http figma https://mcp.figma.com/mcp
ExcalidrawCreate hand-drawn style diagramsclaude mcp add --transport http excalidraw https://mcp.excalidraw.com/mcp

Browse the full list at the MCP server registry. Third-party MCP servers are not verified by Anthropic — only install servers you trust.

2.3 Installing MCP servers

# Connect to GitHub
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# Connect to Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

# With authentication header
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

stdio servers (local processes)

# Connect to PostgreSQL
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

# Connect to Airtable
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server

Managing servers

claude mcp list              # List all servers
claude mcp get github        # View details
claude mcp remove github     # Remove a server
/mcp                         # Check status inside Claude Code

2.4 MCP installation scopes

ScopeStorage locationUse case
local (default)~/.claude.jsonThis project, personal only
project.mcp.jsonShared with team (Git commit)
user~/.claude.jsonAvailable across all projects
# Install for team sharing
claude mcp add --transport http github --scope project \
  https://api.githubcopilot.com/mcp/

Project scope creates a .mcp.json file — commit it to Git so your whole team gets the same MCP servers.

2.5 OAuth authentication

Many cloud MCP servers require OAuth authentication:

# Add the server
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# Authenticate inside Claude Code
/mcp
# Follow the browser login flow

Tokens are stored securely and refreshed automatically.

2.6 Sharing team config with .mcp.json

Create .mcp.json at your project root and commit to Git. Environment variable expansion is supported:

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

Use ${VAR:-default} syntax for defaults. Keep sensitive values like API keys in environment variables.

2.7 Using Claude Code as an MCP server

You can expose Claude Code itself as an MCP server:

claude mcp serve

Connect from Claude Desktop to use Claude Code’s tools (file reading, editing, etc.):

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"]
    }
  }
}

When you have many MCP servers, tool definitions can overwhelm the context window. Tool Search dynamically loads tools on demand instead of preloading them all.

It auto-activates when MCP tool descriptions exceed 10% of the context window. Adjust the threshold:

# Lower to 5%
ENABLE_TOOL_SEARCH=auto:5 claude

# Disable entirely
ENABLE_TOOL_SEARCH=false claude

3. IDE Integration — Using Claude in Your Editor

Claude Code isn’t just a terminal tool — it runs natively inside VS Code and JetBrains IDEs. Work with Claude without leaving your editor.

3.1 VS Code

Installation

Requires VS Code 1.98.0 or higher.

  1. Press Cmd+Shift+X to open Extensions
  2. Search for “Claude Code” and click Install
  3. The Spark icon (✱) appears in the editor toolbar

Or click the direct install link.

Key features

  • Code selection → Ask questions: Select code and Claude automatically sees it. Press Option+K (Mac) / Alt+K (Windows/Linux) to insert an @file.ts#5-10 reference.
  • Review changes: Claude shows side-by-side diffs. Accept, reject, or ask for modifications.
  • @-mentions for context: @auth.js Explain the authentication logic — fuzzy matching, no full paths needed.
  • Permission modes: Normal (asks each time), Plan (shows plan, waits for approval), Auto-accept (applies without asking).

Conversation history & multiple tabs

  • Use the top dropdown to search and resume past conversations
  • Press Cmd+Shift+Esc to open a new conversation tab
  • Work on different tasks in parallel across multiple tabs/windows

Chrome integration

Install the Chrome extension to automate browser tasks:

@browser go to localhost:3000 and check the console for errors

Shortcuts

CommandShortcut (Mac)Description
Focus InputCmd+EscToggle between editor and Claude
New TabCmd+Shift+EscOpen new conversation tab
New ConversationCmd+NStart new conversation (Claude focused)
@-MentionOption+KInsert current file/selection reference

3.2 JetBrains IDE

Claude Code works with most JetBrains IDEs: IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm, and Android Studio.

Installation

  1. Install the Claude Code plugin from the JetBrains Marketplace
  2. Restart the IDE

Usage

From the IDE’s integrated terminal:

claude

Running claude from the integrated terminal automatically connects to the IDE.

From an external terminal:

claude
/ide   # Connect to the IDE

Key features

FeatureDescription
Diff viewerCode changes displayed directly in the IDE’s diff viewer
Selection contextSelected code in the editor is automatically shared with Claude
File referencesCmd+Option+K (Mac) / Alt+Ctrl+K (Windows/Linux) inserts @File#L1-99 references
Diagnostic sharingIDE lint errors, syntax errors, etc. are automatically shared with Claude
Quick launchCmd+Esc (Mac) / Ctrl+Esc (Windows/Linux) to open Claude Code

Configuration

Go to Settings → Tools → Claude Code [Beta]:

  • Claude command: Specify the Claude executable path (e.g., claude, /usr/local/bin/claude)
  • ESC key setup: If ESC doesn’t interrupt Claude Code, go to Settings → Tools → Terminal and uncheck “Move focus to the editor with Escape”

Wrapping Up — Real Power Comes From External Connections

Part 1 was about strengthening Claude Code from within. Part 2 is about extending outward:

  1. Plugins package functionality and share it with your team
  2. MCP connects GitHub, Sentry, databases, and other external tools
  3. VS Code extension lets you use Claude without leaving your editor

In Part 3, we’ll cover sub-agents and agent teams — splitting complex tasks across multiple agents and processing them in parallel.


References

This post is part of the Coupang Partners program, and a commission is earned from qualifying purchases.