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 different • 2. How Claude reads your codebase • 3. Writing tasks Claude can complete • 4. Plan mode workflow • 5. Real-world scenarios • 6. MCP and skills • 7. Optimizing for speed • 8. 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:
- Runs your test suite
- Checks test coverage
- Creates a summary of what broke
- 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:
- You repeatedly ask Claude to do the same type of task
- You need access to data Claude cannot reach (databases, internal APIs)
- Your workflow involves external tools that have APIs
- The time saved justifies the setup effort
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:
- Open your API docs
- Find the relevant endpoint
- Copy the schema into Claude
- Ask Claude to update your code
- Verify it matches the docs
The workflow with MCP:
- Ask Claude to update the endpoint
- Claude fetches the OpenAPI spec via MCP
- Claude proposes changes that match the current API
- 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 →