
metoro-io/mcp-golang
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Запишите серверы Model Context Protocol в нескольких строках кода Go. Документы по адресу https://mcpgolang.com . Создано https://metoro.io
Обзор
MCP-Golang — это неофициальная реализация протокола Model Context Protocol в Go. Пишите MCP-серверы и клиенты в Golang с несколькими строками кода. - 🛡️ ** - Определите ваши аргументы инструмента как нативные структуры Go, пусть mcp-golang занимается остальное. Автоматическая генерация схем, десериализация, обработка ошибок и т.д. - 🚛 - Используйте встроенные транспорты (stdio для поддержки полнофункциональности, HTTP для бессостоятельной связи) или пишите свои собственные. - ⚡ - MCP-Golang генерирует все MCP-конечные точки для вас, кроме ваших инструментов, запросов и ресурсов. - 🧩 - Библиотека разделена на три компонента: транспорт, протокол и сервер/клиент. Используйте их все или берите то, что вам нужно. - 🔄 - Полная поддержка реализации как сервера, так и клиента через stdio transport. Установите с помощью go get github.com/metoro-io/mcp-golang Вы также можете создать сервер на базе HTTP, используя стандартный HTTP-транспорт или фреймворк Gin: Примечание: HTTP-транспорты не имеют статуса и не поддерживают двунаправленные функции, такие как уведомления.
Обзор (машинный перевод)
MCP-Golang — это неофициальная реализация протокола Model Context Protocol в Go.
Пишите MCP-серверы и клиенты в Golang с несколькими строками кода.
Документы на https://mcpgolang.com
Основные моменты
- 🛡️ Введите безопасность - Определите аргументы инструмента как нативные структуры Go, пусть mcp-golang занимается остальным. Автоматическая генерация схем, десериализация, обработка ошибок и т.д.
- 🚛 Пользовательские транспорты — используйте встроенные транспорты (stdio для поддержки полнофункциональной поддержки, HTTP для бесстатусной связи) или пишите свои собственные.
- ⚡ Низкий шаблон - mcp-golang генерирует все MCP-эндпоинты, кроме ваших инструментов, подсказок и ресурсов.
- 🧩 Модульный - Библиотека разделена на три компонента: транспортный, протокольный и сервер/клиент. Используйте их все или берите то, что вам нужно.
- 🔄 Двунаправленный — полная поддержка как серверных, так и клиентских реализаций через stdio transport.
Пример использования
Установка с помощью go get github.com/metoro-io/mcp-golang
Пример сервера
Пример HTTP-сервера
Вы также можете создать сервер на базе HTTP, используя стандартный HTTP-транспорт или фреймворк Gin:
Примечание: HTTP-транспорты не имеют статуса и не поддерживают двунаправленные функции, такие как уведомления.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
mcp-golang
mcp-golang is an unofficial implementation of the Model Context Protocol in Go.
Write MCP servers and clients in golang with a few lines of code.
Docs at https://mcpgolang.com
Highlights
- 🛡️Type safety - Define your tool arguments as native go structs, have mcp-golang handle the rest. Automatic schema generation, deserialization, error handling etc.
- 🚛 Custom transports - Use the built-in transports (stdio for full feature support, HTTP for stateless communication) or write your own.
- ⚡ Low boilerplate - mcp-golang generates all the MCP endpoints for you apart from your tools, prompts and resources.
- 🧩 Modular - The library is split into three components: transport, protocol and server/client. Use them all or take what you need.
- 🔄 Bi-directional - Full support for both server and client implementations through stdio transport.
Example Usage
Install with go get github.com/metoro-io/mcp-golang
Server Example
package main
import (
"fmt"
"github.com/metoro-io/mcp-golang"
"github.com/metoro-io/mcp-golang/transport/stdio"
)
// Tool arguments are just structs, annotated with jsonschema tags
// More at https://mcpgolang.com/tools#schema-generation
type Content struct {
Title string `json:"title" jsonschema:"required,description=The title to submit"`
Description *string `json:"description" jsonschema:"description=The description to submit"`
}
type MyFunctionsArguments struct {
Submitter string `json:"submitter" jsonschema:"required,description=The name of the thing calling this tool (openai, google, claude, etc)"`
Content Content `json:"content" jsonschema:"required,description=The content of the message"`
}
func main() {
done := make(chan struct{})
server := mcp_golang.NewServer(stdio.NewStdioServerTransport())
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"golang-mcp-server": {
"command": "<your path to golang MCP server go executable>",
"args": [],
"env": {}
}
}
}