Skip to main content
Glama

MCP Gemini API Server

by techkwon
server.ts2.33 kB
import fastify, { FastifyInstance } from 'fastify'; import { logger } from './utils/logger'; import { generateContent } from './api/gemini'; import { getVideoInfo, analyzeVideo } from './api/youtube'; import { searchWeb } from './api/google'; export function createServer(): FastifyInstance { const server = fastify({ logger: { level: process.env.LOG_LEVEL || 'info', transport: { target: 'pino-pretty', options: { translateTime: 'SYS:standard', ignore: 'pid,hostname' } } } }); // 헬스체크 엔드포인트 server.get('/health', async () => { return { status: 'ok' }; }); // 콘텐츠 생성 엔드포인트 server.post('/generate', async (request, reply) => { const { prompt } = request.body as { prompt: string }; logger.info('콘텐츠 생성 시작', { prompt }); try { const result = await generateContent(prompt); logger.info('콘텐츠 생성 완료'); return { result }; } catch (error) { logger.error('콘텐츠 생성 실패', error); reply.status(500).send({ error: '콘텐츠 생성 중 오류가 발생했습니다.' }); } }); // 비디오 분석 엔드포인트 server.post('/analyze-video', async (request, reply) => { const { videoUrl, query } = request.body as { videoUrl: string; query: string }; logger.info('비디오 분석 시작', { videoUrl, query }); try { const videoInfo = await getVideoInfo(videoUrl); const result = await analyzeVideo(videoInfo, query); logger.info('비디오 분석 완료'); return { result }; } catch (error) { logger.error('비디오 분석 실패', error); reply.status(500).send({ error: '비디오 분석 중 오류가 발생했습니다.' }); } }); // 웹 검색 엔드포인트 server.post('/search', async (request, reply) => { const { query } = request.body as { query: string }; logger.info('웹 검색 시작', { query }); try { const result = await searchWeb(query); logger.info('웹 검색 완료'); return { result }; } catch (error) { logger.error('웹 검색 실패', error); reply.status(500).send({ error: '웹 검색 중 오류가 발생했습니다.' }); } }); return server; }

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/techkwon/mcp-gemini'

If you have feedback or need assistance with the MCP directory API, please join our Discord server