Skip to main content

MCPAdapt

MCPAdapt Logo

PyPI version Python versions Tests License PyPI downloads GitHub Repo stars

For more context, guides and API references visit our new documentation.

Unlock 650+ MCP servers tools in your favorite agentic framework.

Model Context Protocol is an open-source protocol introduced by Anthropic which allows anyone to simply and quickly make tools and resources available as "MCP Servers".

Since its release more than 650 MCP servers have been created giving access to many data & tools to supported "MCP Client".

This project makes calling any MCP servers tools seemless from any agentic framework. Virtually providing your agentic worfklow access to 650+ MCP servers tools.

Look at glama.ai or smithery.ai to give you an idea of what your agent could access.

Installation Instructions

Smolagents

Smolagents 1.4.1 and above directly ships with mcpadapt integrated in their tool collections object. It means you can directly use it from smolagents:

uv add smolagents[mcp]

Other Frameworks

Each agent framework has its own set of optional dependencies to not clutter with useless dependencies. You choose the flavor you want by adding your framework in brackets in the installation command.

# with uv
uv add mcpadapt[langchain]

# or with pip
pip install mcpadapt[langchain]

Framework supported at the moment: smolagents, langchain, crewAI, google-genai.

You can also add multiple framework comma separated if needed.

Usage

⚠️ Security Warning: When using MCP servers, especially over SSE (Server-Sent Events), be extremely cautious and only connect to trusted and verified servers. Always verify the source and security of any MCP server before connecting.

Smolagents

Since mcpadapt is part of smolagents simple use tool collection from smolagents like:

from mcp import StdioServerParameters
from smolagents.tools import ToolCollection

serverparams = StdioServerParameters(command="uv", args=["run", "src/echo.py"])

with ToolCollection.from_mcp(serverparams) as tool_collection:
    ... # enjoy your tools!

Other Frameworks

MCPAdapt adapt any MCP servers into tools that you can use right in your agentic workflow:

from mcp import StdioServerParameters
from mcpadapt.core import MCPAdapt
from mcpadapt.smolagents_adapter import SmolAgentsAdapter

with MCPAdapt(
    # specify the command to run your favorite MCP server (support also smithery and co.)
    StdioServerParameters(command="uv", args=["run", "src/echo.py"]),
    # or a dict of sse server parameters e.g. {"url": http://localhost:8000, "headers": ...}

    # specify the adapter you want to use to adapt MCP into your tool in this case smolagents.
    SmolAgentsAdapter(),
) as tools:
    # enjoy your smolagents tools as if you wrote them yourself
    ...

MCP Adapt supports Smolagents, Langchain, CrewAI, google-genai [pydantic.dev, Llammaindex and more...]*. *coming soon.

Note: you can also specify multiple mcp servers as in:

from mcp import StdioServerParameters
from mcpadapt.core import MCPAdapt
from mcpadapt.smolagents_adapter import SmolAgentsAdapter

with MCPAdapt(
    [
        StdioServerParameters(command="uv", args=["run", "src/echo1.py"]),
        StdioServerParameters(command="uv", args=["run", "src/echo2.py"]),
    ],
    SmolAgentsAdapter(),
) as tools:
    # tools is now a flattened list of tools from the 2 MCP servers.
    ...

We also support async if the underlying agentic framework supports it.

See our examples for more details on how to use.

Contribute

If your favorite agentic framework is missing no problem add it yourself it's quite easy:

  1. create a new module in src/mcpadapt/{name_of_your_framework}_adapter.py:
class YourFrameworkAdapter(ToolAdapter):
    def adapt(
        self,
        func: Callable[[dict | None], mcp.types.CallToolResult],
        mcp_tool: mcp.types.Tool,
    ) -> YourFramework.Tool:
        # HERE implement how the adapter should convert a simple function and mcp_tool (JSON Schema)
        # into your framework tool. see smolagents_adapter.py for an example
    
    def async_adapt(
        self,
        afunc: Callable[[dict | None], Coroutine[Any, Any, mcp.types.CallToolResult]],
        mcp_tool: mcp.types.Tool,
    ) -> YourFramework.Tool:
        # if your framework supports async function even better use async_adapt.
  1. and that's it, test that your adapter is working and send us a PR to share it with the world.

Roadmap

  • initial framework for anyone to start creating adapters
  • support for smolagents
  • support for pydantic-ai
  • support for langchain
  • support for llamaindex
  • support for swarm
  • support for crewAI
  • support for google genai
  • support for remote MCP Servers via SSE
  • support for jupyter notebook
  • add tests

Contributors

We acknowledge the work and thanks every contributors and maintainers for their contributions.

Core Maintainers:

Contributors:

Metadata

Release files for mcpadapt 0.1.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcpadapt 0.1.20
File Size Uploaded
mcpadapt-0.1.20.tar.gz 4.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcpadapt 0.1.20
File Interpreter ABI Platform
mcpadapt-0.1.20-py3-none-any.whl Python 3 none any Details

Total release size: 4.2 MB

Release files / mcpadapt-0.1.20.tar.gz

Download URL mcpadapt-0.1.20.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
4047c0da61e481dd0673a48936a427da9e6547c6cf0d580ff4e4761dcf058ed1
BLAKE2b-256 checksum
How to use checksums
e3711bbbe157e55d30ab4a74fa878f6942cc0586e9820f03e03451a3d2297e9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2025.

Transparency log

Release files / mcpadapt-0.1.20-py3-none-any.whl

Download URL mcpadapt-0.1.20-py3-none-any.whl
Size 19.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
117a661eb536dfb0b2a73e5730c2f5ad4e611263e014fb1cebaaff9e78a18f78
BLAKE2b-256 checksum
How to use checksums
bad85b6c8cf2070d765904fcb9066f8d7956cb9d399807d86c7fb7f7503b80bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.20 This release

2 release files

0.1.19

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page