Jobs MCP Server
Remote MCP (Model Context Protocol) server zbudowany w Node.js, TypeScript i Express.
Funkcjonalności
Tools (Narzędzia)
- get_job_listings - Wyszukiwanie ofert pracy na podstawie kryteriów
- calculate - Wykonywanie podstawowych operacji arytmetycznych
Resources (Zasoby)
- jobs://featured - Lista wyróżnionych ofert pracy
- jobs://stats - Statystyki rynku pracy
Instalacja
npm install
Konfiguracja
Skopiuj plik .env.example do .env:
copy .env.example .env
Możesz zmienić port w pliku .env (domyślnie 3000).
Uruchomienie
Tryb deweloperski (kompilacja + start)
npm run dev
Kompilacja
npm run build
Start (wymaga wcześniejszej kompilacji)
npm start
Tryb watch (automatyczna rekompilacja)
npm run watch
Endpointy
GET /- Informacje o serwerze i dostępnych możliwościachGET /health- Health checkPOST /mcp- Główny endpoint MCP do komunikacji
Przykłady użycia
Health Check
curl http://localhost:3000/health
Wywołanie narzędzia get_job_listings
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/call",
"params": {
"name": "get_job_listings",
"arguments": {
"query": "JavaScript",
"location": "Warsaw",
"limit": 5
}
}
}'
Wywołanie narzędzia calculate
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/call",
"params": {
"name": "calculate",
"arguments": {
"operation": "multiply",
"a": 15,
"b": 7
}
}
}'
Lista dostępnych narzędzi
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "tools/list",
"params": {}
}'
Lista dostępnych zasobów
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "resources/list",
"params": {}
}'
Odczyt zasobu
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"method": "resources/read",
"params": {
"uri": "jobs://featured"
}
}'
Struktura projektu
jobs-mcp/
├── src/
│ └── index.ts # Główny plik serwera
├── dist/ # Skompilowane pliki (generowane)
├── .env.example # Przykładowa konfiguracja
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md
Technologie
- Node.js - Runtime JavaScript
- TypeScript - Typowany JavaScript
- Express - Framework webowy
- @modelcontextprotocol/sdk - SDK dla MCP
- CORS - Obsługa Cross-Origin Resource Sharing
- dotenv - Zarządzanie zmiennymi środowiskowymi
Rozwój
Możesz rozszerzyć serwer dodając:
- Nowe narzędzia w
setRequestHandler(CallToolRequestSchema, ...) - Nowe zasoby w
setRequestHandler(ListResourcesRequestSchema, ...)isetRequestHandler(ReadResourceRequestSchema, ...) - Integracje z prawdziwymi API ofert pracy
- Bazę danych do przechowywania danych
- Autentykację i autoryzację
Licencja
ISC