Власний MCP-сервер
Для просунутих інтеграцій ви можете побудувати власний MCP-сервер. Це надає повний контроль над функціональністю і ідеально підходить для інтеграцій з власними системами або застосунками, які не підтримуються.
Коли потрібен власний MCP-сервер?
Власний MCP-сервер підходить, коли:
- ви хочете інтегруватися з власним застосунком або базою даних
- потрібна інтеграція, що не доступна в Zapier
- у вас є конкретні вимоги до безпеки
- потрібна складна логіка в інструментах
Необхідні знання
Для побудови власного MCP-сервера потрібні:
- досвід програмування (TypeScript/JavaScript або Python)
- знання REST API
- базові з нання серверів та хостингу
Протокол Model Context Protocol
Протокол Model Context Protocol (MCP) — це відкритий стандарт, розроблений Anthropic. MCP-сервера можна використовувати з:
- AI School
- ChatGPT
- Claude
- Visual Studio Code з Copilot
- інші сумісні з MCP застосунки
Швидкий старт з TypeScript
1. Створення проекту
mkdir mijn-mcp-server
cd mijn-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: "mijn-server",
version: "1.0.0",
});
// Визначаємо інструменти
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mijn_tool",
description: "Опис того, що робить інструмент",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Параметр",
},
},
required: ["parameter"],
},
},
],
}));
// Реалізуємо інструмент
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mijn_tool") {
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 | Легке навантаження | Безкоштовний рівень доступний |
| Vercel | TypeScript-сервери | Безкоштовний рівень доступний |
| Railway | Повні застосунки | Від $5/місяць |
| AWS Lambda | Масштабовані рішення | Плата за використання |
| Собственный сервер | Повний контроль | Змінна |
Підключення до AI School
- Розгорніть сервер за публічною URL
- Перейдіть до панелі керування в AI School
- Натисніть на Зв’язки → Додати з’єднання
- Введіть URL вашого MCP-сервера
- За потреби налаштуйте автентифікацію
Автентифікація
Ви можете додати автентифікацію до вашого MCP-сервера:
API Key автентифікація
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-сервери
- MCP Servers GitHub - Офіційні приклади
Документація
- MCP Специфікація - Повна специфікація протоколу
- Документація SDK - TypeScript SDK
Поради щодо розробки
- Почніть просто: спочатку одну інструменту, потім розширюйте
- Локальне тестування: використовуйте MCP Inspector для налагодження
- Логування: додавайте розширене логування для усунення несправностей
- Обробка помилок: повертайте чіткі повідомлення про помилки
- Обмеження швидкості: захистіть свій сервер від перевантаження
Часті інтеграції
| Система | Можливі інструменти |
|---|---|
| LVS (Magister, Somtoday) | Запит оцінок, перегляд розкладів |
| CRM системи | Запит даних клієнтів, додавання нотаток |
| Бази даних | Виконання запитів, створення звітів |
| Власні застосунки | Будь-який API, який ви хочете надати |
Статті та ресурси
- Zapier MCP Server - Прості зв’язки без коду