Skip to content
MCP Protocol 2025-11-25 · Go 1.22+

Go MCP Server
Developer Guide

Подключи любой REST API к AI-ассистентам за один день.
Без фреймворков. Только Go и стандартная библиотека.

8
MCP Tools
5
Платформ
0
Зависимостей*
Возможностей

Главная

Что вы построите

  • Чистый Go


    Никаких фреймворков — только stdlib + один пакет для .env. Статические бинарники без зависимостей от системы.

    Начать

  • MCP Protocol


    JSON-RPC 2.0 over stdio. Совместим с opencode, Claude Code и любым MCP-клиентом. Протокол 2025-11-25.

    Протокол

  • Tools за 4 шага


    API метод → регистрация → handler → тест. Каждый новый инструмент занимает ~30 минут.

    Добавить tool

  • Multi-platform CI/CD


    GitHub Actions + goreleaser: Linux, macOS (Intel + Silicon), Windows. Автоматические релизы по тегу.

    CI/CD


Быстрый старт

mkdir my-api-mcp && cd my-api-mcp
git init
export PATH="$HOME/.local/go/bin:$PATH"
go mod init github.com/username/my-api-mcp
go get github.com/joho/godotenv
mkdir -p cmd/server internal/{mcp,myapi,config}
go build -o bin/mcp-server ./cmd/server
ACCESS_TOKEN=your_token ./bin/mcp-server
{
  printf '{"jsonrpc":"2.0","id":1,"method":"initialize",\
"params":{"protocolVersion":"2025-11-25","capabilities":{},\
"clientInfo":{"name":"test","version":"1"}}}\n'
  sleep 0.2
  printf '{"jsonrpc":"2.0","id":2,"method":"tools/list"}\n'
  sleep 0.3
} | ACCESS_TOKEN=tok ./bin/mcp-server 2>/dev/null
// opencode.jsonc
{
  "mcp": {
    "my-api": {
      "type": "local",
      "command": ["/absolute/path/to/bin/mcp-server"],
      "enabled": true,
      "env": { "ACCESS_TOKEN": "your_token" }
    }
  }
}

Как работает архитектура

graph LR
    A["🤖 AI Client<br/>(opencode / Claude Code)"] -->|"JSON-RPC 2.0<br/>over stdio"| B["MCP Server<br/>(Go binary)"]
    B -->|"HTTP REST"| C["Your API<br/>(любой REST)"]

    style A fill:#4527a0,color:#fff,stroke:none
    style B fill:#1565c0,color:#fff,stroke:none
    style C fill:#00695c,color:#fff,stroke:none

Поток вызова:

User: "Покажи статистику за неделю"
  ↓ AI решает вызвать tool
tools/call myapi_get_report(date1=7daysAgo)
  ↓ MCP Server
GET https://api.example.com/report?date1=7daysAgo
  ↓ JSON данные
AI форматирует и отвечает пользователю

Стек

Слой Технология
Протокол MCP 2025-11-25, JSON-RPC 2.0
Транспорт stdio (newline-delimited JSON)
Язык Go 1.22+
Зависимости github.com/joho/godotenv (1 пакет)
CI GitHub Actions (test × 3 ОС, lint, build × 5 платформ)
Релизы goreleaser v2

* Один внешний пакет для загрузки .env. Всё остальное — стандартная библиотека Go.