IL

i2y/langchaingo-mcp-adapter

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

48 stars 9 forks 品質 47 トレンド 13MIT

モデルコンテキストプロトコル(MCP)サーバーでLangChain GoツールをブリッジするGoアダプタ.

概要

モデルコンテキストプロトコル(MCP)サーバーでLangChain GoツールをブリッジするGoアダプタ。 このアダプタを使用すると、LangChain GoライブラリでMCPサーバーで定義されたツールを使用できます。 必要なインターフェイスを実装し、LangChain GoのエージェントインフラストラクチャとシームレスにMCPツールを統合します。 - 任意のMCPサーバーに接続 - 指定されたMCPサーバーからMCPツールを自動的に発見し、LangChain Go - MCPツールをLangChain Goツールとしてラップ 完全な例のディレクトリを参照してください。 - 例/agent: さまざまな LLM プロバイダー (Google AI、OpenAI、Anthropic) でアダプターを使用する方法について説明します。例: URL の取得ツールを提供する最小 MCP サーバーの例 エージェントは複数の LLM プロバイダーをサポートしています: - : GOOGLE API KEY - : OPENAI API KEY を設定 - : ANTHROPIC API KEY を設定 例は、Windows、macOS、Linux 上でクロスプラットフォームで動作します。 この例では、MCP サーバーをソースから自動的にビルドし、実行します.

概要(AI 翻訳)

モデルコンテキストプロトコル(MCP)サーバーでLangChain GoツールをブリッジするGoアダプタ。

概要

このアダプタを使用すると、LangChain GoライブラリでMCPサーバーで定義されたツールを使用できます。 必要なインターフェイスを実装し、LangChain GoのエージェントインフラストラクチャとシームレスにMCPツールを統合します。

##特徴

  • MCP サーバーに接続
  • 指定されたMCPサーバーからMCPツールを自動的に発見し、LangChain Goに利用できるようにする
  • MCPツールをLangChain Goツールとしてラップ

インストール

使用法

アプリケーション例

完全な例の [example ディレクトリを参照してください。

  • [example/agent]: さまざまなLMプロバイダー(Google AI、OpenAI、Anthropic)でアダプターを使用する方法を説明します。
  • [example/server: URL の取得ツールを提供する最小限の MCP サーバー例

エージェントは複数の LLM プロバイダーをサポートしています。

  • Google AI (Gemini): [GOOGLE_API_KEY を設定する
  • OpenAI: [OPENAI_API_KEYを設定] -Anthropic (Claude): [[ANTHROPIC_API_KEY]を設定する

例は、Windows、macOS、Linux 上でクロスプラットフォームで動作します。 この例では、MCP サーバーをソースから自動的にビルドし、実行します。 詳細なセットアップ手順については、README の例を参照してください.

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

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
GitHub で README 全文を見る

インストール

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

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →