Skip to main content
Glama

MCP Server

by foxywolf-hub
upload.py2.81 kB
import json from fastapi import APIRouter, Depends, File, HTTPException, UploadFile from sqlalchemy.ext.asyncio import AsyncSession from app.db.database import get_db from app.utils.postman_parser import parse_collection, parse_environment router = APIRouter(prefix="/upload", tags=["upload"]) @router.post("/collection") async def upload_collection( file: UploadFile = File(...), db: AsyncSession = Depends(get_db) ): """ Postman Collection 파일 업로드 및 처리 """ if not file.filename.endswith(('.json', '.postman_collection.json')): raise HTTPException( status_code=400, detail="Invalid file format. Only JSON files with .json or .postman_collection.json extension are allowed." ) try: content = await file.read() collection_data = json.loads(content.decode()) # 파싱 및 DB 저장 result = await parse_collection(collection_data, db) return { "status": "success", "message": "Collection uploaded and processed successfully", "details": { "name": result.get("name"), "api_count": result.get("api_count"), "test_case_count": result.get("test_case_count") } } except json.JSONDecodeError: raise HTTPException(status_code=400, detail="Invalid JSON format") except Exception as e: raise HTTPException(status_code=500, detail=f"Error processing collection: {str(e)}") finally: await file.close() @router.post("/environment") async def upload_environment( file: UploadFile = File(...), db: AsyncSession = Depends(get_db) ): """ Postman Environment 파일 업로드 및 처리 """ if not file.filename.endswith(('.json', '.postman_environment.json')): raise HTTPException( status_code=400, detail="Invalid file format. Only JSON files with .json or .postman_environment.json extension are allowed." ) try: content = await file.read() environment_data = json.loads(content.decode()) # 파싱 및 DB 저장 result = await parse_environment(environment_data, db) return { "status": "success", "message": "Environment uploaded and processed successfully", "details": { "name": result.get("name"), "variable_count": result.get("variable_count") } } except json.JSONDecodeError: raise HTTPException(status_code=400, detail="Invalid JSON format") except Exception as e: raise HTTPException(status_code=500, detail=f"Error processing environment: {str(e)}") finally: await file.close()

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/foxywolf-hub/mcp-server1'

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