Перейти к основному содержимому

ЭИ MCP Server

Для продвинутых интеграций можно построить собственный MCP-сервер. Это обеспечивает полный контроль над функциональностью и идеально подходит для интеграций с собственными системами или непр поддерживаемыми приложениями.

Когда нужен собственный MCP сервер?

Собственный MCP сервер подходит когда:

  • Вы хотите интегрироваться с собственным приложением или базой данных
  • Желаемая интеграция недоступна в Zapier
  • У вас есть специфические требования к безопасности
  • Вам нужна сложная логика в инструментах

Необходимые знания

Чтобы построить собственный MCP сервер, нужны:

  • Опыт программирования (TypeScript/JavaScript или Python)
  • Знание REST API
  • Базовые знания о серверах и хостинге

Протокол Model Context

Протокол Model Context (MCP) — это открытый стандарт, разработанный Anthropic. MCP-серверы можно использовать с:

  • AI School
  • ChatGPT
  • Claude
  • Visual Studio Code с Copilot
  • Другими MCP-совместимыми приложениями

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

1. Создание проекта

mkdir мой-mcp-server
cd мой-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

2. Код сервера

import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

const server = new Server({
name: "мой-сервер",
version: "1.0.0",
});

// Определите ваши инструменты
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "мой-инструмент",
description: "Описание того, что делает инструмент",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Параметр",
},
},
required: ["parameter"],
},
},
],
}));

// Реализуйте инструмент
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "мой-инструмент") {
const { parameter } = request.params.arguments;
// Сделать что-то с параметром
return {
content: [{ type: "text", text: `Результат: ${parameter}` }],
};
}
});

// Запуск сервера
const transport = new StdioServerTransport();
server.connect(transport);

3. Запуск сервера

npx ts-node server.ts

HTTP-транспорт для AI School

AI School поддерживает MCP-серверы через HTTP. Ваш сервер должен предоставлять конечную точку, принимающую MCP-сообщения:

import express from 'express';

const app = express();
app.use(express.json());

app.post('/mcp', async (req, res) => {
const { method, params } = req.body;

if (method === 'tools/list') {
res.json({ tools: [...] });
} else if (method === 'tools/call') {
// Обработать вызов инструмента
res.json({ content: [...] });
}
});

app.listen(3000);

Варианты размещения

Ваш MCP-сервер должен быть доступен через интернет:

ОпцияПодходит дляСтоимость
Cloudflare WorkersЛегкие рабочие нагрузкиБесплатный тариф доступен
VercelTypeScript-сервераБесплатный тариф доступен
RailwayПолные приложенияОт $5/месяц
AWS LambdaМасштабируемые решенияПлата по использованию
Собственный серверПолный контрольПеременная

Подключение к AI School

  1. Разверните сервер на общедоступный URL
  2. Откройте панель управления в AI School
  3. Нажмите на СвязиДобавить связь
  4. Введите URL вашего MCP-сервера
  5. При необходимости настройте аутентификацию

Аутентификация

Можно добавить аутентификацию для вашего MCP-сервера:

Аутентификация по API-ключу

app.post("/mcp", (req, res, next) => {
const apiKey = req.headers["x-api-key"];
if (apiKey !== process.env.API_KEY) {
return res.status(401).json({ error: "Unauthorized" });
}
next();
});

В AI School выберите "API Key" как метод аутентификации.

OAuth 2.0

Для более сложной аутентификации можно реализовать OAuth 2.0. AI School поддерживает OAuth 2.1 для MCP-серверов.

Примеры и ресурсы

Официальные MCP-серверы

Документация

Советы по разработке

  1. Начинайте просто: начните с одного инструмента и затем расширяйте
  2. Тестируйте локально: используйте MCP Inspector для отладки
  3. Логирование: добавляйте подробное логирование для устранения неполадок
  4. Обработка ошибок: возвращайте понятные сообщения об ошибках
  5. Ограничение скорости: защищайте сервер от перегрузок

Частые интеграции

СистемаВозможные инструменты
LVS (Magister, Somtoday)Получение оценок, просмотр расписаний
CRM-системыПолучение клиентских данных, добавление заметок
Базы данныхВыполнение запросов, создание отчетов
Собственные приложенияЛюбой открываемый API

Связанные статьи