Overview
CrewAI agents can be extended with five distinct capability types, each serving a different purpose. Understanding when to use each one — and how they work together — is key to building effective agents.Tools
Callable functions — give agents the ability to take action. Web searches, file operations, API calls, code execution.
MCP Servers
Remote tool servers — connect agents to external tool servers via the Model Context Protocol. Same effect as tools, but hosted externally.
Apps
Platform integrations — connect agents to SaaS apps (Gmail, Slack, Jira, Salesforce) via CrewAI’s platform. Runs locally with a platform integration token.
Skills
Domain expertise — inject instructions, guidelines, and reference material into agent prompts. Skills tell agents how to think.
Knowledge
Retrieved facts — provide agents with data from documents, files, and URLs via semantic search (RAG). Knowledge gives agents what to know.
The Key Distinction
The most important thing to understand: these capabilities fall into two categories.Action Capabilities (Tools, MCPs, Apps)
These give agents the ability to do things — call APIs, read files, search the web, send emails. At execution time, all three resolve into the same internal format (BaseTool instances) and appear in a unified tool list the agent can call.
Context Capabilities (Skills, Knowledge)
These modify the agent’s prompt — injecting expertise, instructions, or retrieved data before the agent starts reasoning. They don’t give agents new actions; they shape how agents think and what information they have access to.When to Use What
| You need… | Use | Example |
|---|---|---|
| Agent to search the web | Tools | tools=[SerperDevTool()] |
| Agent to call a remote API via MCP | MCPs | mcps=["https://api.example.com/sse"] |
| Agent to send emails via Gmail | Apps | apps=["gmail"] |
| Agent to follow specific procedures | Skills | skills=["./skills/code-review"] |
| Agent to reference company docs | Knowledge | knowledge_sources=[pdf_source] |
| Agent to search the web AND follow review guidelines | Tools + Skills | Use both together |
Combining Capabilities
In practice, agents often use multiple capability types together. Here’s a realistic example:Comparison Table
| Feature | Tools | MCPs | Apps | Skills | Knowledge |
|---|---|---|---|---|---|
| Gives agent actions | ✅ | ✅ | ✅ | ❌ | ❌ |
| Modifies prompt | ❌ | ❌ | ❌ | ✅ | ✅ |
| Requires code | Yes | Config only | Config only | Markdown only | Config only |
| Runs locally | Yes | Depends | Yes (with env var) | N/A | Yes |
| Needs API keys | Per tool | Per server | Integration token | No | Embedder only |
| Set on Agent | tools=[] | mcps=[] | apps=[] | skills=[] | knowledge_sources=[] |
| Set on Crew | ❌ | ❌ | ❌ | skills=[] | knowledge_sources=[] |
Deep Dives
Ready to learn more about each capability type?Tools
Create custom tools, use the 75+ OSS catalog, configure caching and async execution.
MCP Integration
Connect to MCP servers via stdio, SSE, or HTTP. Filter tools, configure auth.
Skills
Build skill packages with SKILL.md, inject domain expertise, use progressive disclosure.
Knowledge
Add knowledge from PDFs, CSVs, URLs, and more. Configure embedders and retrieval.
