Skip to main content

Model Context Protocol (MCP) To LangChain Tools Conversion Utility

Project description

MCP To LangChain Tools Conversion Utility License: MIT pypi version

This package is intended to simplify the use of Model Context Protocol (MCP) server tools with LangChain / Python.

Model Context Protocol (MCP), an open source technology announced by Anthropic, dramatically expands LLM’s scope by enabling external tool and resource integration, including Google Drive, Slack, Notion, Spotify, Docker, PostgreSQL, and more…

Over 1500 functional components available as MCP servers:

The goal of this utility is to make these 1500+ MCP servers readily accessible from LangChain.

It contains a utility function convert_mcp_to_langchain_tools().
This async function handles parallel initialization of specified multiple MCP servers and converts their available tools into a list of LangChain-compatible tools.

For detailed information on how to use this library, please refer to the following document:

A typescript equivalent of this utility is available here

Prerequisites

  • Python 3.11+

Installation

pip install langchain-mcp-tools

Quick Start

convert_mcp_to_langchain_tools() utility function accepts MCP server configurations that follow the same structure as Claude for Desktop, but only the contents of the mcpServers property, and is expressed as a dict, e.g.:

mcp_configs = {
    'filesystem': {
        'command': 'npx',
        'args': ['-y', '@modelcontextprotocol/server-filesystem', '.']
    },
    'fetch': {
        'command': 'uvx',
        'args': ['mcp-server-fetch']
    }
}

tools, cleanup = await convert_mcp_to_langchain_tools(
    mcp_configs
)

This utility function initializes all specified MCP servers in parallel, and returns LangChain Tools (tools: List[BaseTool]) by gathering available MCP tools from the servers, and by wrapping them into LangChain tools. It also returns an async callback function (cleanup: McpServerCleanupFn) to be invoked to close all MCP server sessions when finished.

The returned tools can be used with LangChain, e.g.:

# from langchain.chat_models import init_chat_model
llm = init_chat_model(
    model='claude-3-7-sonnet-latest',
    model_provider='anthropic'
)

# from langgraph.prebuilt import create_react_agent
agent = create_react_agent(
    llm,
    tools
)

Find complete, minimal working usage examples here

For hands-on experimentation with MCP server integration, try this LangChain application built with the utility

For detailed information on how to use this library, please refer to the following document:
"Supercharging LangChain: Integrating 1500+ MCP with ReAct"

Limitations

Currently, only text results of tool calls are supported.

Change Log

Can be found here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_mcp_tools-0.1.10.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_mcp_tools-0.1.10-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file langchain_mcp_tools-0.1.10.tar.gz.

File metadata

  • Download URL: langchain_mcp_tools-0.1.10.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for langchain_mcp_tools-0.1.10.tar.gz
Algorithm Hash digest
SHA256 10d2f3fbec25bcadd93faa7aecd7a33e79e6598713e7d7e8e3220331fb3029f6
MD5 c09f0832dd4d1a81157313386ecf1b3e
BLAKE2b-256 7e18a5b4481e2f8464d6b9838c2596371812403e951ad9c560040b0518c9daba

See more details on using hashes here.

File details

Details for the file langchain_mcp_tools-0.1.10-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_mcp_tools-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e85b458ceb6b709c430fdef3a2071eac8f7ff036922aebe5b05b6432c5443183
MD5 bd2e3acb465377610edccef0df574137
BLAKE2b-256 25055ad036839921984d12fa1782a39964ed1c46340fe3bcd3d3b53913b3e735

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page