mcpField
C
CrewAI MCP Adapter

CrewAI MCP Adapter

github.com/dshivendraFrameworks & SDKs14Updated 65w ago

About CrewAI MCP Adapter

Python library extending CrewAI's adapter ecosystem with MCP integration support and comprehensive tooling for custom agent and tool development. Features type-safe implementation with Pydantic and async/await support.

Key features

  1. 01Native CrewAI integration and adapter patterns
  2. 02MCP protocol support for tool integration
  3. 03Type-safe implementation with Pydantic
  4. 04Async/await support
  5. 05Detailed execution metadata

Use cases

  1. 01Integrate MCP services into CrewAI
  2. 02Add MCP tools to agents
  3. 03Create custom adapters to extend CrewAI

MCP support

CrewAI adapter library enabling agents to access and use tools from MCP services through MCP integration.

Details

From the project README

MseeP.ai Security Assessment Badge

CrewAI MCP Adapter

A Python library extending CrewAI's adapter ecosystem with Model Context Protocol (MCP) integration support and comprehensive tooling for custom agent and tool development.

Features

  • 🔌 Native CrewAI integration and adapter patterns
  • 🛠️ MCP protocol support for tool integration
  • 🧩 Easy-to-use interface for extending and creating new adapters
  • 📝 Type-safe implementation with Pydantic
  • 🔍 JSON Schema validation for tool parameters
  • 🚀 Async/await support
  • 📊 Detailed execution metadata

Installation

You can install the package directly from PyPI:

pip install crewai-adapters

Or install from source:

pip install git+https://github.com/dshivendra/crewai_mcp_adapter.git

Quick Start

from crewai import Agent, Task
from crewai_adapters import CrewAIAdapterClient
from crewai_adapters.types import AdapterConfig

async def main():
    async with CrewAIAdapterClient() as client:
        # Connect to MCP server
        await client.connect_to_mcp_server(
            "math",
            command="python",
            args=["math_server.py"]
        )

        # Create agent with tools
        agent = Agent(
            name="Calculator",
            goal="Perform calculations",
            tools=client.get_tools()
        )

        # Execute task
        task = Task(
            description="Calculate (3 + 5) × 12",
            agent=agent
        )
        result = await task.execute()
        print(f"Result: {result}")

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

Documentation

For detailed documentation, see:

Development

Prerequisites
  • Python 3.11 or higher
  • crewai package
  • pydantic package
  • mcp package
Install Development Dependencies
pip install -e ".[test,docs]"
Running Tests
pytest tests/ -v

Publishing

To publish a new version to PyPI:

  1. Update version in pyproject.toml
  2. Build the package:
    python -m build
    
  3. Upload to PyPI:
    python -m twine upload dist/*
    

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.