Skip to main content
Glama
server.py1.45 kB
import logging from dotenv import load_dotenv import os from flask import Flask, request, jsonify # Load environment variables from .env file dotenv_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), '.env') load_dotenv(dotenv_path) from custom_mcp.mcp_controller import MCPController # ——— Logging Setup ——— logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s" ) app = Flask(__name__) controller = MCPController() # Root route for browser visits @app.route("/") def root(): return "<h2>Custom MCP API is running.<br>Use /task, /task/&lt;task_id&gt;/run, or /stats endpoints.</h2>", 200 @app.route("/task", methods=["POST"]) def create_task(): payload = request.json or {} logging.info("POST /task payload: %s", payload) task_id = controller.create_task( payload.get("input", ""), payload.get("tools", []) ) return jsonify({"task_id": task_id}), 201 @app.route("/task/<task_id>/run", methods=["POST"]) def run_task(task_id): logging.info("POST /task/%s/run", task_id) result = controller.run(task_id) return jsonify(result) # --- Real-time stats endpoint for Streamlit UI --- @app.route("/stats", methods=["GET"]) def stats(): return jsonify(controller.get_stats()) if __name__ == "__main__": logging.info("Starting Custom MCP server on port 8000") app.run(host="0.0.0.0", port=8000)

Latest Blog Posts

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/itsDurvank/Mcp_server'

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