Confidential guide on numerology and astrology, based of GG33 Public information

Langchaingo-MCP-Audapter
一个GO适配器,它将Langchain GO工具与模型上下文协议(MCP)服务器桥梁。
3 years
Works with Finder
1
Github Watches
0
Github Forks
5
Github Stars
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
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.Backgorund()
// 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 a complete example:
-
example/agent
: Demonstrates how to use the adapter with an LLM agent -
example/server
: A minimal MCP server example
The mcp-curl server in this sample is based on the code from this blog.
Requirements
- Go 1.23 or higher
- tmc/langchaingo
- mark3labs/mcp-go
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
相关推荐
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Reviews

user_iUZSKqjv
As a devoted user of MCP applications, I can't recommend the langchaingo-mcp-adapter by i2y enough! This incredible tool seamlessly integrates with MCP, enhancing its functionality and user experience. The project's repository on GitHub is well-maintained and offers extensive support for developers. A must-have for anyone working with MCP! Check it out at https://github.com/i2y/langchaingo-mcp-adapter.