Skip to main content

Model context protocol connector for LangChain

Project description

Langchain Model Context Protocol Connector

Introduction

This project introduces tools to easily integrate Anthropic Model Context Protocol(MCP) with langchain. It provides a simple way to connect to MCP servers and access tools that can be made available to LangChain.

MCP integrations with langchain expands the capabilities of LLM by providing access to an ecosystem of community build servers and additional resources. This means that we do not need to create custom tools for each LLM, but rather use the same tools across different LLMs.

Installation

pip install langchain-mcp-connect

What is the Model Context Protocol (MCP)?

The Model Context Protocol (MCP) is an open-source standard released by Anthropic. The Model Context Protocol highlights the importance of tooling standardisation through open protocols. Specifically, it standardises how applications interact and provide context to LLMs. Just like how HTTP standardises how we communicate across the internet, MCP provides a standard protocol for LLM to interact with external tools. You can find out more about the MCP at https://github.com/modelcontextprotocol and https://modelcontextprotocol.io/introduction.

Example usage

The langchain_mcp_connect contain key methods to determine available tools and resources in the model context protocol. The schemas of input arguments for tools and resources are injected into the system prompt and form part of the initial prompt. Before starting, please ensure you meet the pre-requisites.

For a detail example on how langchain_mcp_connect can be used, see this demo project.

Pre requisites

  1. Install uv

Defining a tool

Define your tool within claude_mcp_config.json file in the root directory. For a list of available tools and how to configure tools see here.

{
  "mcpServers": {
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "./"]
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "./"
      ]
    },
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ENV_GITHUB_PERSONAL_ACCESS_TOKEN"
      }
    }
  }
}

Environment Variables

Managing secrets is a key aspect of any project. The langchain_mcp_connect tool is able to inject secrets from the current environment. To do so, prefix the name of your environment variable with ENV_ in claude_mcp_config.json to inject environment variables into the current context. In the example above, ensure you have defined GITHUB_PERSONAL_ACCESS_TOKEN in your current environment with:

export GITHUB_PERSONAL_ACCESS_TOKEN="<YOUR_TOKEN_HERE>"
export OPENAI_API_KEY="<YOUR_KEY_HERE>"

Running the example

uv run src/example/agent.py

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_connect-2.0.2.tar.gz (31.2 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_connect-2.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file langchain_mcp_connect-2.0.2.tar.gz.

File metadata

File hashes

Hashes for langchain_mcp_connect-2.0.2.tar.gz
Algorithm Hash digest
SHA256 6ee449a4a6be207f45529aa752392e7af570f1e62b1c90e9f74beb417f3d5954
MD5 413c405394b47eb7bff6e50427fe68e7
BLAKE2b-256 20082aad6458cbc16eb9097f65defe3f0917b818a73b871938d46ee406ad0cd8

See more details on using hashes here.

File details

Details for the file langchain_mcp_connect-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_mcp_connect-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 896c361d875a8a37d464ae4236e9f9cb5bce8c522a6f5a5e31a52d6550084590
MD5 c8992af8d9ed4aa84be46892007ba996
BLAKE2b-256 7603bfe517d63707388d4c5cd939c5ee2064f7d78be0e775e99dc62fd2d026f3

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