Skip to main content
Glama

FastAPI MCP Application

main.py1.51 kB
from fastapi import FastAPI from pydantic import BaseModel from typing import Dict, Union from fastapi_mcp import FastApiMCP import uvicorn app = FastAPI() class Item(BaseModel): name: str description: Union[str, None] = None price: float tax: Union[float, None] = None items: Dict[int, Item] = {} next_item_id: int = 1 @app.get("/") async def root(): return {"message": "Olá, Mundo!"} @app.post("/items/") async def create_item(item: Item): global next_item_id item_id = next_item_id items[item_id] = item next_item_id += 1 return {"item_id": item_id, **item.dict()} @app.get("/items/") async def read_all_items(): return items @app.get("/items/{item_id}") async def read_item(item_id: int): if item_id not in items: return {"error": "Item not found"} return items[item_id] @app.put("/items/{item_id}") async def update_item(item_id: int, item: Item): if item_id not in items: return {"error": "Item not found"} items[item_id] = item return {"item_id": item_id, **item.dict()} @app.delete("/items/{item_id}") async def delete_item(item_id: int): if item_id not in items: return {"error": "Item not found"} del items[item_id] return {"message": "Item deleted successfully"} @app.get("/setup") async def setup_endpoint(): return {"message": "Endpoint de setup executado com sucesso!"} mcp = FastApiMCP(app) mcp.mount() if __name__ == "__main__": uvicorn.run(app, host="127.0.0.1", port=8000)

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/christian-felipe9/MCP-API'

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