When to extend AI tools: MCP and custom skills

December 1, 2025

Part of the Claude Code in Practice series

Series outline: 1. Why Claude Code is different2. How Claude reads your codebase3. Writing tasks Claude can complete4. Plan mode workflow5. Real-world scenarios6. MCP and skills7. Optimizing for speed8. Building your workflow


Out of the box, Claude Code is powerful. It can read your codebase, search for patterns, and make changes. But its real potential unlocks when you connect it to external tools and data through MCP servers and custom skills. The question is not whether you can extend Claude, but whether you should.

What is MCP and why it matters

MCP (Model Context Protocol) is a standard way for Claude to communicate with external tools and data sources. Think of it as plugins for Claude Code. An MCP server gives Claude access to something it could not reach otherwise: your database, your internal APIs, your documentation system, or even external services.

For a deeper dive into MCP concepts, check out the GenAI cheatsheet. The key insight is that MCP servers run locally and give Claude tools it can use during plan mode. When Claude builds a plan, it can query your database to understand the schema, fetch API documentation to verify endpoint usage, or read logs to debug production issues.

Common MCP use cases

The most valuable MCP servers solve specific friction points in your workflow.

Database access: Instead of copying schema definitions manually, Claude can query your database directly to understand table structures, relationships, and constraints. When you ask it to write a migration or update a query, it works with accurate, current data.

API documentation: If your internal APIs have documentation in Confluence or Notion, an MCP server can fetch that documentation on demand. Claude reads the docs, understands the API contracts, and writes code that matches your actual endpoints.

Log analysis: An MCP server that reads application logs lets Claude investigate production issues. You describe the problem, Claude searches the logs, identifies patterns, and proposes fixes based on what it finds. This is much faster than manually grepping through log files.

External services: MCP servers can integrate with GitHub, Linear, Slack, or any other tool your team uses. Claude can read issue descriptions, fetch context from previous conversations, or check deployment status without you switching windows.

Custom skills for repetitive workflows

While MCP servers add new capabilities, custom skills automate repetitive tasks. A skill is a reusable workflow you define once and invoke with a simple command.

For example, you might create a skill that:

  1. Runs your test suite
  2. Checks test coverage
  3. Creates a summary of what broke
  4. Opens the relevant files for fixing

Instead of asking Claude to do these steps every time, you invoke the skill and Claude follows the workflow automatically. Skills work within plan mode: Claude still creates a plan, but the plan follows your predefined workflow.

When extending adds value

Extending Claude makes sense when:

The last point is important. Setting up an MCP server or custom skill takes time. If you will save 5 minutes per day, the investment pays off quickly. If it is a one-time task, just do it manually.

When extending adds complexity

Not every problem needs an MCP server. Sometimes the simplest solution is to copy-paste the data Claude needs. If you need database schema information once a month, copying it into the conversation is faster than maintaining an MCP server.

Complexity compounds. Each MCP server is another thing to maintain, another dependency that can break, another concept new team members need to learn. Start simple and only add extensions when the value is clear.

A practical getting-started example

Let’s say you frequently ask Claude to update API endpoints, and you have OpenAPI documentation. A practical first MCP server would fetch that documentation.

The workflow without MCP:

  1. Open your API docs
  2. Find the relevant endpoint
  3. Copy the schema into Claude
  4. Ask Claude to update your code
  5. Verify it matches the docs

The workflow with MCP:

  1. Ask Claude to update the endpoint
  2. Claude fetches the OpenAPI spec via MCP
  3. Claude proposes changes that match the current API
  4. You review the plan and approve

You cut out the manual copy-paste step, and Claude always works with current documentation. This is the kind of friction that MCP solves well.

Integration with plan mode

MCP servers and skills work within the plan mode workflow you already learned. When Claude creates a plan, it uses MCP tools to gather information. When you review the plan, you see what data Claude fetched and how it used that data. The approval step still happens. You still verify before execution.

This means extending Claude does not bypass the safety of plan mode. It just makes the planning phase more powerful.

The practical takeaway

Extensions multiply Claude’s usefulness, but only when the value justifies the complexity. Start with the core workflow. Master plan mode. Identify friction points where you repeatedly give Claude the same type of data or ask it to do the same workflow.

Then add one extension at a time. Test it, verify it saves time, and only then consider adding more. Treat extensions like you treat dependencies: add them intentionally, not automatically.

Now that you understand what Claude can do, let’s talk about making it faster. Speed matters, and there are specific strategies that help.


Previous: ← Real-world scenarios | Next: Optimizing for speed →