mcp-enuygun-fs
Provides tools for searching places, getting place details, filtering by categories, and calculating distances using the Foursquare Places API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-enuygun-fsfind cafes near Kadıköy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🌍 Multi-API MCP Server
Bu proje, Foursquare Places API ve Amadeus Activities API'lerini kullanan gelişmiş bir Model Context Protocol (MCP) server'ıdır. Claude Desktop ve OpenAI Agent SDK ile entegre edilerek mekan arama, turistik aktivite bulma ve seyahat planlaması işlemlerini gerçekleştirebilirsiniz.
✨ Özellikler
🏢 Foursquare Places API
Mekan Arama: Belirtilen lokasyon yakınında mekanları arayın
Mekan Detayları: Belirli bir mekanın detaylı bilgilerini alın
Kategori Filtreleme: Restoran, kafe, müze gibi kategorilere göre filtreleyin
Mesafe Hesaplama: Konumunuza göre mesafe bilgisi
🎯 Amadeus Activities API
Turistik Aktiviteler: Şehirlerdeki müze, tur, etkinlik arama
Şehir Bazlı Arama: Belirli şehirlerdeki tüm aktiviteleri listeleyin
Fiyat Bilgisi: Aktivite fiyatları ve rezervasyon linkleri
Detaylı Açıklamalar: HTML temizlenmiş aktivite açıklamaları
🔗 Entegrasyon Seçenekleri
HTTP MCP Server: OpenAI Agent SDK ile entegrasyon
Stdio MCP Server: Claude Desktop ile direkt entegrasyon
REST API Endpoints: Direkt API erişimi
CORS Desteği: Web uygulamaları için
📸 Fotoğraf Özellikleri (Şimdilik Devre Dışı)
Foursquare Photos API(Credit tasarrufu için kapalı)Bing Image Scraping(Yedekte tutuluyor)
Related MCP server: Travel Amadeus MCP Server
🌐 Live Demo
🔗 Production Server: https://mcp-enuygun-fs.onrender.com
Health Check: https://mcp-enuygun-fs.onrender.com/health
MCP Endpoint: https://mcp-enuygun-fs.onrender.com/mcp
API Endpoints: https://mcp-enuygun-fs.onrender.com/api/
🚀 Kurulum
1. Proje Kurulumu
cd /Users/emirarslan/Desktop/mcp
npm install2. Environment Variables
.env dosyası oluşturun:
cp .env.example .env.env dosyasını düzenleyin:
FOURSQUARE_API_KEY="YOUR_FOURSQUARE_API_KEY"
AMADEUS_API_KEY="YOUR_AMADEUS_API_KEY"
AMADEUS_API_SECRET="YOUR_AMADEUS_API_SECRET"
NOMINATIM_USER_AGENT="mcp-server/1.0 (contact: your-email@example.com)"3. API Key'lerini Alın
Foursquare: developer.foursquare.com
Amadeus: developers.amadeus.com
🎮 Kullanım
HTTP MCP Server (Önerilen)
npm run http
# Server: http://localhost:3000
# MCP Endpoint: http://localhost:3000/mcp
# Health Check: http://localhost:3000/healthStdio MCP Server (Claude Desktop)
npm startDevelopment Mode
npm run http-dev # HTTP server with auto-reload
npm run dev # Stdio server with auto-reload🧪 Test Komutları
# Temel API testleri
npm run test-api # Foursquare API testi
npm run test-simple # Kapsamlı HTTP MCP testi
# Özel testler
npm run test-photos # Foursquare Photos testi (devre dışı)
npm run test-bing # Bing Image testi (devre dışı)
# MCP Protocol testleri
npm run test-mcp # Stdio MCP testi
npm run test-http # HTTP MCP testi
npm run test-agent # OpenAI Agent SDK testi🔧 Claude Desktop Entegrasyonu
claude_desktop_config.json dosyasına ekleyin:
{
"mcpServers": {
"foursquare-places": {
"command": "node",
"args": ["/Users/emirarslan/Desktop/mcp/server.js"],
"env": {
"FOURSQUARE_API_KEY": "YOUR_API_KEY"
}
}
}
}🤖 OpenAI Agent SDK Entegrasyonu
import { Agent, MCPServerStreamableHttp } from '@openai/agents';
// Local development
const mcpServer = new MCPServerStreamableHttp({
url: 'http://localhost:3000/mcp',
name: 'Multi-API Travel Server',
});
// Production (Live server)
const mcpServerProd = new MCPServerStreamableHttp({
url: 'https://mcp-enuygun-fs.onrender.com/mcp',
name: 'Multi-API Travel Server (Production)',
});
const agent = new Agent({
name: 'Travel Assistant',
instructions: 'Use Foursquare and Amadeus APIs for travel planning.',
mcpServers: [mcpServerProd], // Use mcpServer for local development
});🛠️ Available Tools
Foursquare Tools
search_places: Mekan arama{ "near": "Istanbul Kadıköy", "query": "cafe", "limit": 10, "categories": "13065" // Optional }get_place_details: Mekan detayları{ "fsq_place_id": "4eaec357b8f765aba1e03d9e" }
Amadeus Tools
search_activities: Aktivite arama{ "city": "Istanbul", "type": "museum", "limit": 10 }get_city_activities: Şehir aktiviteleri{ "city": "Cappadocia", "limit": 20 }
🌐 REST API Endpoints
Foursquare Endpoints
# Local
GET http://localhost:3000/api/search?near=Istanbul&query=cafe&limit=5
GET http://localhost:3000/api/place/:fsq_place_id
GET http://localhost:3000/api/photos/:fsq_place_id?limit=10
# Production
GET https://mcp-enuygun-fs.onrender.com/api/search?near=Istanbul&query=cafe&limit=5
GET https://mcp-enuygun-fs.onrender.com/api/place/:fsq_place_id
GET https://mcp-enuygun-fs.onrender.com/api/photos/:fsq_place_id?limit=10Amadeus Endpoints
# Local
GET http://localhost:3000/api/activities?city=Istanbul&type=museum&limit=5
# Production
GET https://mcp-enuygun-fs.onrender.com/api/activities?city=Istanbul&type=museum&limit=5System Endpoints
# Local
GET http://localhost:3000/health # Health check
POST http://localhost:3000/mcp # MCP protocol endpoint
# Production
GET https://mcp-enuygun-fs.onrender.com/health # Health check
POST https://mcp-enuygun-fs.onrender.com/mcp # MCP protocol endpoint📸 Fotoğraf Özelliklerini Aktifleştirme
Foursquare Photos API'yi Açmak İçin:
http-server.jsdosyasında şu satırları bulun:// === FOURSQUARE PHOTOS API (DISABLED) === // Uncomment the methods below to re-enable Foursquare Photos API /*/*ve*/işaretlerini kaldırınBu satırı aktifleştirin:
// formattedResults = await this.enhanceWithFoursquarePhotos(formattedResults);Bu satırı değiştirin:
` 📸 Photo feature temporarily disabled\n` + // Şu hale getirin: ` 📸 ${place.foursquarePhoto || 'No photo available'}\n` +
Bing Image Scraping'i Açmak İçin:
http-server.jsdosyasında şu bölümü bulun:// === BING IMAGE SCRAPING METHODS (DISABLED) === /*/*ve*/işaretlerini kaldırınsearchPlacesmethod'unda şu satırı aktifleştirin:// formattedResults = await this.enhanceWithImages(formattedResults, (place) => { // return `${place.name} ${near}`; // });
🚨 Sorun Giderme
Yaygın Hatalar
Server çalışmıyor: Node.js sürümünüzün 18+ olduğunu kontrol edin
API hataları: API anahtarlarınızın geçerli olduğunu kontrol edin
429 Hatası: API credit'iniz bitmiş olabilir - billing sayfasından kontrol edin
Port çakışması:
PORT=3001 npm run httpile farklı port kullanınCORS hataları: Server'ın CORS middleware'i aktif olduğunu kontrol edin
Debug Modları
# Detaylı loglar için
DEBUG=* npm run http
# Sadece API logları
DEBUG=api npm run httpAPI Limitleri
Foursquare: Günlük 1000 istek (Free tier)
Amadeus: Aylık 1000 istek (Test environment)
Nominatim: Saniyede 1 istek (Rate limiting)
📁 Proje Yapısı
mcp/
├── server.js # Stdio MCP server
├── http-server.js # HTTP MCP server (Ana dosya)
├── test-api.js # API testleri
├── test-simple.js # Kapsamlı testler
├── test-foursquare-photos.js # Fotoğraf testleri
├── test-bing-images.js # Bing image testleri
├── claude_desktop_config.json # Claude Desktop config
├── .env.example # Environment variables template
├── package.json # Dependencies ve scripts
└── README.md # Bu dosya🔄 Deployment
Railway
railway login
railway init
railway deployRender
GitHub repo'yu bağlayın
Build command:
npm installStart command:
npm startEnvironment variables'ları ekleyin
ngrok (Local testing)
ngrok http 3000
# Public URL: https://xxx.ngrok-free.dev/mcp🤝 Katkıda Bulunma
Fork edin
Feature branch oluşturun (
git checkout -b feature/amazing-feature)Commit edin (
git commit -m 'Add amazing feature')Push edin (
git push origin feature/amazing-feature)Pull Request açın
📄 Lisans
MIT License - Detaylar için LICENSE dosyasına bakın.
🙏 Teşekkürler
🚀 Happy Coding! Bu server ile seyahat planlaması artık çok daha kolay!
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/emirrcodes/mcp-enuygun-fs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server