
mark3labs/mcp-go
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
モデルコンテキストプロトコル(MCP)のGo実装で、LLMアプリケーションと外部データソースおよびツール間のシームレスな統合を可能にします。
概要
モデルコンテキストプロトコル(MCP)のGo実装で、LLMアプリケーションと外部データソースおよびツール間のシームレスな統合を可能にします。 MCP Goは複雑なプロトコルの詳細やサーバー管理をすべて管理しているので、優れたツール作りに集中できます。高レベルで使いやすいことを目指しています。 * : 高レベルインターフェースはコードの削減と開発の迅速さを意味する * : 最小限のボイラープレートでMCPサーバーを構築する * ***: MCP GoはコアMCP仕様の完全な実装を目指しています 🚨 🚧 🏗️ MCP Goは現在活発に開発中であり、MCP仕様自体も同様です。コア機能は動作していますが、いくつかの高度な機能はまだ進行中です。 計算機ツールといくつかのデータを公開するシンプルなMCPサーバーを作成しましょう。 モデルコンテキストプロトコル(MCP)は、安全かつ標準化された方法でデータや機能をLLMアプリケーションに公開するサーバーを構築できるようにします。これはウェブAPIのようなもので、特にLLMのやり取り向けに設計されています。
概要(AI 翻訳)
モデルコンテキストプロトコル(MCP)のGo実装で、LLMアプリケーションと外部データソースおよびツール間のシームレスな統合を可能にします。
DiscordでSDKについて語り合おう
それだ!
MCP Goは複雑なプロトコルの詳細やサーバー管理をすべて管理しているので、優れたツール作りに集中できます。高レベルで使いやすいことを目指しています。
主な特徴:
- 高速:高レベルインターフェースはコードが少なく、開発が速くなることを意味します
- シンプル:最小限のボイラープレートでMCPサーバーを構築する
- 完了*:MCP GoはコアMCP仕様の完全な実装を提供することを目指しています
(強調は目的)
🚨 🚧 🏗️ MCP Goは活発に開発中であり、MCP仕様自体も同様です。コア機能は動作していますが、いくつかの高度な機能はまだ進行中です。
目次
- 設置
- クイックスタート
- MCPって何?
- コアコンセプト
- サーバー
- リソース
- ツール
- プロンプト
- 例
- 特典
- 輸送船
- OAuth保護リソースメタデータ
- セッション管理
- 基本セッション処理
- セッションごとのツール
- ツールフィルタリング
- 文脈と共に作業する
- リクエストフック
- ツールハンドラーミドルウェア
- サーバーコードの再生
設置
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
package main
import (
"context"
"fmt"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server"
)
func main() {
// Create a new MCP server
s := server.NewMCPServer(
"Demo 🚀",
"1.0.0",
server.WithToolCapabilities(false),
)
// Add tool
tool := mcp.NewTool("hello_world",
mcp.WithDescription("Say hello to someone"),
mcp.WithString("name",
mcp.Required(),
mcp.Description("Name of the person to greet"),
),
)
// Add tool handler
s.AddTool(tool, helloHandler)
// Start the stdio server
if err := server.ServeStdio(s); err != nil {
fmt.Printf("Server error: %v\n", err)
}
}
func helloHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
name, err := request.RequireString("name")
if err != nil {
return mcp.NewToolResultError(err.Error()), nil
}
return mcp.NewToolResultText(fmt.Sprintf("Hello, %s!", name)), nil
}
That’s it!
MCP Go handles all the complex protocol details and server management, so you can focus on building great tools. It aims to be high-level and easy to use.
Key features:
- Fast: High-level interface means less code and faster development
- Simple: Build MCP servers with minimal boilerplate
- Complete*: MCP Go aims to provide a full implementation of the core MCP specification
(*emphasis on aims)
🚨 🚧 🏗️ MCP Go is under active development, as is the MCP specification itself. Core features are working but some advanced capabilities are still in progress.
Table of Contents
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →