
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 애플리케이션과 외부 데이터 소스 및 도구 간의 원활한 통합을 가능하게 합니다.
디스코드에서 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 가이드부터 시작하세요 →