IL

i2y/langchaingo-mcp-adapter

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

48 stars 9 forks Качество 47 Тренд 13MIT

Адаптер Go, который соединяет инструменты LangChain Go с серверами Model Context Protocol (MCP).

Обзор

Адаптер Go, который соединяет инструменты LangChain Go с серверами Model Context Protocol (MCP). Этот адаптер позволяет использовать инструменты, определенные на сервере MCP с библиотекой LangChain Go. Он реализует необходимые интерфейсы для интеграции инструментов MCP с агентской инфраструктурой LangChain Go. - Подключайтесь к любому MCP-серверу - автоматически обнаруживайте инструменты MCP с определенного MCP-сервера и делайте их доступными для LangChain Go - Оберните инструменты MCP как инструменты LangChain Go Смотрите каталог примеров для полных примеров: - Пример/агент: Демонстрирует, как использовать адаптер с различными провайдерами LLM (Google AI, OpenAI, Anthropic) - пример/сервер: пример минимального MCP-сервера, который предоставляет инструмент извлечения URL-адресов Примерный агент поддерживает несколько провайдеров LLM: - : Set GOOGLE API KEY - : Set OPENAI API KEY - : Set ANTHROPIC API KEY Пример кроссплатформенный и работает на Windows, macOS и Linux. Пример автоматически создает и запускает MCP-сервер из источника.

Обзор (машинный перевод)

Адаптер Go, который соединяет инструменты LangChain Go с серверами Model Context Protocol (MCP).

Обзор

Этот адаптер позволяет использовать инструменты, определенные на сервере MCP с библиотекой LangChain Go. Он реализует необходимые интерфейсы для интеграции инструментов MCP с агентской инфраструктурой LangChain Go.

Особенности

Подключение к любому MCP-серверу Автоматическое обнаружение инструментов MCP с определенного сервера MCP и их доступность для LangChain Go Оберните инструменты MCP как инструменты LangChain Go

##Установка

Использование

Примеры приложений

Смотрите каталог example для полных примеров:

  • [[Т1]]: Демонстрирует, как использовать адаптер с различными провайдерами LLM (Google AI, OpenAI, Anthropic)
  • [[Т2]]: Минимальный пример сервера MCP, который предоставляет инструмент извлечения URL

Примерный агент поддерживает несколько провайдеров LLM: Google AI (Gemini): Set GOOGLE_API_KEY

  • OpenAI: Set OPENAI_API_KEY
  • Антропик (Клод): Сет [[Т5]]

Пример кроссплатформенный и работает на Windows, macOS и Linux. Пример автоматически создает и запускает MCP-сервер из источника. Смотрите пример README для подробных инструкций по установке.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

LangChainGo MCP Adapter

A Go adapter that bridges LangChain Go tools with Model Context Protocol (MCP) servers.

Overview

This adapter allows you to use tools defined on an MCP server with the LangChain Go library. It implements the necessary interfaces to integrate MCP tools seamlessly with LangChain Go’s agent infrastructure.

Features

  • Connect to any MCP server
  • Automatically discover MCP tools from a specified MCP server and make them available to LangChain Go
  • Wrap MCP tools as LangChain Go tools

Installation

go get github.com/i2y/langchaingo-mcp-adapter

Usage

package main

import (
    "context"
    "log"
    "os"

    "github.com/i2y/langchaingo-mcp-adapter"
    "github.com/mark3labs/mcp-go/client"
    "github.com/tmc/langchaingo/agents"
    "github.com/tmc/langchaingo/chains"
    "github.com/tmc/langchaingo/llms/googleai"
    "github.com/tmc/langchaingo/tools"
)

func main() {
    // Create an MCP client using stdio
    mcpClient, err := client.NewStdioMCPClient(
        "./an-mcp-server",  // Path to an MCP server executable
        nil,                // Additional environment variables if needed
    )
    if err != nil {
        log.Fatalf("Failed to create MCP client: %v", err)
    }
    defer mcpClient.Close()

    // Create the adapter
    adapter, err := langchaingo_mcp_adapter.New(mcpClient)
    if err != nil {
        log.Fatalf("Failed to create adapter: %v", err)
    }

    // Get all tools from MCP server
    mcpTools, err := adapter.Tools()
    if err != nil {
        log.Fatalf("Failed to get tools: %v", err)
    }

    ctx := context.Background()

    // Create a Google AI LLM client
    llm, err := googleai.New(
        ctx,
        googleai.WithDefaultModel("gemini-2.0-flash"),
        googleai.WithAPIKey(os.Getenv("GOOGLE_API_KEY")),
    )
    if err != nil {
        log.Fatalf("Create Google AI client: %v", err)
    }

    // Create a agent with the tools
    agent := agents.NewOneShotAgent(
        llm,
        mcpTools,
        agents.WithMaxIterations(3),
    )
    executor := agents.NewExecutor(agent)

    // Use the agent
    question := "Can you help me analyze this data using the available tools?"
    result, err := chains.Run(
        ctx,
        executor,
        question,
    )
    if err != nil {
        log.Fatalf("Agent execution error: %v", err)
    }

    log.Printf("Agent result: %s", result)
}

Example Applications

See the example directory for complete examples:

  • example/agent: Demonstrates how to use the adapter with various LLM providers (Google AI, OpenAI, Anthropic)
  • example/server: A minimal MCP server example that provides a URL fetching tool

The example agent supports multiple LLM providers:

  • Google AI (Gemini): Set GOOGLE_API_KEY
  • OpenAI: Set OPENAI_API_KEY
  • Anthropic (Claude): Set ANTHROPIC_API_KEY
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →