Agent Capabilities

no
Summary: Understand the five ways to extend CrewAI agents: Tools, MCPs, Apps, Skills, and Knowledge.

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.crewai.com/llms.txt Use this file to discover all available pages before exploring further.

Understand the five ways to extend CrewAI agents: Tools, MCPs, Apps, Skills, and Knowledge.

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.

Callable functions — give agents the ability to take action. Web searches, file operations, API calls, code execution.

Remote tool servers — connect agents to external tool servers via the Model Context Protocol. Same effect as tools, but hosted externally.

<span class=“card-start” data-card-raw=“title=“Apps” icon=“grid-2” color="#EC4899""> Platform integrations — connect agents to SaaS apps (Gmail, Slack, Jira, Salesforce) via CrewAI’s platform. Runs locally with a platform integration token.

Domain expertise — inject instructions, guidelines, and reference material into agent prompts. Skills tell agents how to think.

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.

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool

agent = Agent(
    role="Researcher",
    goal="Find and compile market data",
    backstory="Expert market analyst",
    tools=[SerperDevTool(), FileReadTool()],  # Local tools
    mcps=["https://mcp.example.com/sse"],     # Remote MCP server tools
    apps=["gmail", "google_sheets"],           # Platform integrations
)

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.

from crewai import Agent

agent = Agent(
    role="Security Auditor",
    goal="Audit cloud infrastructure for vulnerabilities",
    backstory="Expert in cloud security with 10 years of experience",
    skills=["./skills/security-audit"],        # Domain instructions
    knowledge_sources=[pdf_source, url_source], # Retrieved facts
)

When to Use What#

You need…UseExample
Agent to search the webToolstools=[SerperDevTool()]
Agent to call a remote API via MCPMCPsmcps=["https://api.example.com/sse"]
Agent to send emails via GmailAppsapps=["gmail"]
Agent to follow specific proceduresSkillsskills=["./skills/code-review"]
Agent to reference company docsKnowledgeknowledge_sources=[pdf_source]
Agent to search the web AND follow review guidelinesTools + SkillsUse both together

Combining Capabilities#

In practice, agents often use multiple capability types together. Here’s a realistic example:

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool, CodeInterpreterTool

# A fully-equipped research agent
researcher = Agent(
    role="Senior Research Analyst",
    goal="Produce comprehensive market analysis reports",
    backstory="Expert analyst with deep industry knowledge",

    # ACTION: What the agent can DO
    tools=[
        SerperDevTool(),         # Search the web
        FileReadTool(),          # Read local files
        CodeInterpreterTool(),   # Run Python code for analysis
    ],
    mcps=["https://data-api.example.com/sse"],  # Access remote data API
    apps=["google_sheets"],                      # Write to Google Sheets

    # CONTEXT: What the agent KNOWS
    skills=["./skills/research-methodology"],    # How to conduct research
    knowledge_sources=[company_docs],            # Company-specific data
)

Comparison Table#

FeatureToolsMCPsAppsSkillsKnowledge
Gives agent actions
Modifies prompt
Requires codeYesConfig onlyConfig onlyMarkdown onlyConfig only
Runs locallyYesDependsYes (with env var)N/AYes
Needs API keysPer toolPer serverIntegration tokenNoEmbedder only
Set on Agenttools=[]mcps=[]apps=[]skills=[]knowledge_sources=[]
Set on Crewskills=[]knowledge_sources=[]

Deep Dives#

Ready to learn more about each capability type?

Create custom tools, use the 75+ OSS catalog, configure caching and async execution.

Connect to MCP servers via stdio, SSE, or HTTP. Filter tools, configure auth.

Build skill packages with SKILL.md, inject domain expertise, use progressive disclosure.

Add knowledge from PDFs, CSVs, URLs, and more. Configure embedders and retrieval.

Built with Mintlify.

Link last verified June 7, 2026. View original ↗
Source: CrewAI Docs
Link last verified: 2026-04-05