LangGraph MCP Server

LangGraph MCP Server

By rezawr GitHub

A Python-based Model Context Protocol (MCP) server that enables LLMs to access external tools and resources through a standardized interface.

mcp mcp-server
Overview

what is LangGraph MCP Server?

LangGraph MCP Server is a Python-based Model Context Protocol (MCP) server that allows large language models (LLMs) to access external tools and resources through a standardized interface.

how to use LangGraph MCP Server?

To use the LangGraph MCP Server, run the server using the command python -m app.server and register your tools and resources as needed.

key features of LangGraph MCP Server?

  • Modular architecture for easy maintenance and debugging.
  • Centralized configuration management.
  • Extensible tools and resources registration.
  • Clean directory structure for better organization.

use cases of LangGraph MCP Server?

  1. Integrating various tools for LLMs to enhance their capabilities.
  2. Creating custom resources for specific applications.
  3. Facilitating communication between LLMs and external APIs.

FAQ from LangGraph MCP Server?

  • What programming language is used for the MCP Server?

The MCP Server is implemented in Python.

  • How can I add new tools or resources?

You can add new tools or resources by creating new files in the respective directories and registering them in the __init__.py files.

  • Is the MCP Server scalable?

Yes, the architecture is designed to be scalable and maintainable as more functionality is added.

Content

LangGraph MCP Server

A clean, modular implementation of a Model Context Protocol (MCP) server for LangGraph documentation.

Architecture

This project follows a clean architecture pattern to make the MCP server more maintainable and easier to debug as more functionality is added.

Directory Structure

app/
├── config.py                  # Configuration settings
├── server.py                  # Main server entry point
├── resources/                 # Resources that can be accessed by clients
│   ├── __init__.py            # Resource registration
│   └── langgraph_resources.py # LangGraph-specific resources
├── tools/                     # Tools that can be called by clients
│   ├── __init__.py            # Tool registration
│   └── langgraph_tools.py     # LangGraph-specific tools
└── utils/                     # Utility functions
    ├── __init__.py
    └── logging_utils.py       # Logging utilities

Core Components

  1. Server: The main entry point that initializes the MCP server and registers all tools and resources.
  2. Config: Central location for all configuration settings.
  3. Tools: Functions that can be called by clients to perform specific tasks.
  4. Resources: Data sources that can be accessed by clients.
  5. Utils: Utility functions used throughout the application.

Adding New Functionality

Adding a New Tool

  1. Create a new file in the app/tools/ directory (e.g., weather_tools.py).
  2. Define your tool functions in this file.
  3. Create a registration function (e.g., register_weather_tools).
  4. Import and call this registration function in app/tools/__init__.py.

Example:

# app/tools/weather_tools.py
def register_weather_tools(mcp):
    mcp.tool()(get_weather)

def get_weather(city: str):
    """Get weather for a city"""
    # Implementation
    return f"Weather for {city}: Sunny, 75°F"

# app/tools/__init__.py
from app.tools.langgraph_tools import register_langgraph_tools
from app.tools.weather_tools import register_weather_tools

def register_tools(mcp):
    register_langgraph_tools(mcp)
    register_weather_tools(mcp)

Adding a New Resource

  1. Create a new file in the app/resources/ directory (e.g., weather_resources.py).
  2. Define your resource functions in this file.
  3. Create a registration function (e.g., register_weather_resources).
  4. Import and call this registration function in app/resources/__init__.py.

Example:

# app/resources/weather_resources.py
def register_weather_resources(mcp):
    mcp.resource("weather://forecast")(get_weather_forecast)

def get_weather_forecast():
    """Get weather forecast"""
    # Implementation
    return "5-day weather forecast data"

# app/resources/__init__.py
from app.resources.langgraph_resources import register_langgraph_resources
from app.resources.weather_resources import register_weather_resources

def register_resources(mcp):
    register_langgraph_resources(mcp)
    register_weather_resources(mcp)

Running the Server

To run the server:

python -m app.server

Benefits of This Architecture

  1. Modularity: Each component has a single responsibility.
  2. Extensibility: Easy to add new tools and resources without modifying existing code.
  3. Maintainability: Organized structure makes debugging easier.
  4. Scalability: Can handle growth as more functionality is added.
  5. Testability: Components can be tested in isolation.
No tools information available.

This is a basic MCP Server-Client Impl using SSE

mcp server-client
View Details

-

mcp model-context-protocol
View Details

Mirror of

image-generation mcp-server
View Details

Buttplug.io Model Context Protocol (MCP) Server

mcp buttplug
View Details

Secure MCP server for analyzing Excel files with oletools

oletools mcp-server
View Details

MCP web search using perplexity without any API KEYS

mcp puppeteer
View Details