Własny serwer MCP
Dla zaawansowanych integracji możesz zbudować własny serwer MCP. Daje to pełną kontrolę nad funkcjonalnością i jest idealny do integracji z własnymi systemami lub nieobsługiwanymi aplikacjami.
Kiedy warto mieć własny serwer MCP?
Własny serwer MCP nadaje się, gdy:
- chcesz zintegrować z własną aplikacją lub bazą danych
- pożądana integracja nie jest dostępna w Zapier
- masz określone wymagania dotyczące bezpieczeństwa
- potrzebujesz skomplikowanej logiki w narzędziach
Wymagana wiedza
Do zbudowania własnego serwera MCP potrzebujesz:
- doświadczenie programistyczne (TypeScript/JavaScript lub Python)
- znajomość REST APIs
- podstawowa wiedza o serwerach i hostingu
Model Context Protocol
Model Context Protocol (MCP) to otwarty standard opracowany przez Anthropic. Serwery MCP mogą być używane z:
- AI School
- ChatGPT
- Claude
- Visual Studio Code z Copilot
- Inne aplikacje kompatybilne z MCP
Szybki start z TypeScript
1. Utworzenie projektu
mkdir mój-serwer-mcp
cd mój-serwer-mcp
npm init -y
npm install @modelcontextprotocol/sdk
2. Kod serwera
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "mój-serwer",
version: "1.0.0",
});
// Zdefiniuj narzędzia
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mój_narzędzie",
description: "Opis tego, co robi narzędzie",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "Jeden parametr",
},
},
required: ["parameter"],
},
},
],
}));
// Zaimplementuj narzędzie
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mój_narzędzie") {
const { parameter } = request.params.arguments;
// Zrób coś z parametrem
return {
content: [{ type: "text", text: `Wynik: ${parameter}` }],
};
}
});
// Uruchom serwer
const transport = new StdioServerTransport();
server.connect(transport);
3. Uruchomienie serwera
npx ts-node server.ts
Transport HTTP dla AI School
AI School obsługuje serwery MCP przez HTTP. Twój serwer musi oferować punkt końcowy, który akceptuje komunikaty 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') {
// Przetwarzaj wywołanie narzędzia
res.json({ content: [...] });
}
});
app.listen(3000);
Opcje hostingu
Twój serwer MCP musi być dostępny w internecie:
| Opcja | Odpowiednie dla | Koszty |
|---|---|---|
| Cloudflare Workers | lekkie obciążenia | Darmowy tier dostępny |
| Vercel | serwery TypeScript | Darmowy tier dostępny |
| Railway | pełne aplikacje | od 5 USD/miesiąc |
| AWS Lambda | skalowalne rozwiązania | Płacisz za użycie |
| Własny serwer | pełna kontrola | Zmienny |
Łączenie z AI School
- Wdroż swoją serwer na publiczny URL
- Przejdź do panelu w AI School
- Kliknij Połączenia → Dodaj połączenie
- Wprowadź URL swojego serwera MCP
- Skonfiguruj ewentualną autoryzację
Autoryzacja
Możesz dodać autoryzację do swojego serwera MCP:
Autoryzacja 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();
});
W AI School wybierz "API Key" jako metodę autoryzacji.
OAuth 2.0
Dla bardziej zaawansowanej autoryzacji możesz zaimplementować OAuth 2.0. AI School obsługuje OAuth 2.1 dla serwerów MCP.
Przykłady i zasoby
Oficjalne serwery MCP
- MCP Servers GitHub - Oficjalne przykłady
Dokumentacja
- Specyfikacja MCP - Pełna specyfikacja protokołu
- Dokumentacja SDK - TypeScript SDK
Wskazówki dotyczące rozwoju
- Zacznij prosto: zaczynaj od jednej narzędzia i rozwijaj
- Testuj lokalnie: używaj MCP Inspector do debugowania
- Logowanie: dodaj obszerne logowanie dla troubleshootingu
- Obsługa błędów: zwracaj jasne komunikaty o błędach
- Ograniczanie rate: chron serwer przed przeciążeniem
Typowe integracje
| System | Możliwe narzędzia |
|---|---|
| LVS (Magister, Somtoday) | Pobieranie ocen, przeglądanie planów lekcji |
| Systemy CRM | Pobieranie danych klienta, dodawanie notatek |
| Bazy danych | Wykonywanie zapytań, generowanie raportów |
| Własne aplikacje | Każde API, które chcesz udostępnić |
Powiązane artykuły
- Zapier MCP Server - Proste integracje bez kodu