Quiz App MCP server
Provides database operations backed by MySQL, allowing storage and retrieval of quiz data through parameterized SQL queries.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Quiz App MCP server
A Python MCP (Model Context Protocol) server built with FastMCP. Exposes tools to:
Claude Desktop, locally, over stdio
claude.ai, remotely, over HTTP (deployed on Render)
Optionally backed by a MySQL database via SQLAlchemy.
Project layout
.
├── server.py # entry point — branches on RENDER env var (stdio vs HTTP)
├── config.py # loads .env, exposes shared SQLAlchemy engine
├── tools/
│ ├── __init__.py
│ └── quiz.py # tool definitions — register(mcp) adds them to a FastMCP instance
├── .env # secrets — never commit
├── .env.example
└── requirements.txtRelated MCP server: Basic MCP
Setup
python -m venv venv
.\venv\Scripts\pip install -r requirements.txt
copy .env.example .env
# fill in .env with real DB credentials (or remove the DB_* lines if unused)Run locally (stdio)
.\venv\Scripts\python.exe server.pyOr use the MCP inspector to call tools manually:
.\venv\Scripts\python.exe -m mcp dev server.pyConnect to Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"quizapp": {
"command": "C:\\path\\to\\project\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\project\\server.py"]
}
}
}Restart Claude Desktop — tools appear automatically.
Deploy to Render (HTTP, for claude.ai)
Push to GitHub (
.envis gitignored — never commit it).Create a Render Web Service connected to the repo.
Set environment variables in the Render dashboard:
Variable
Value
RENDERtrueDB_HOSTyour DB host
DB_USERyour DB user
DB_PASSWORDyour DB password
DB_NAMEyour DB name
Start command:
python server.pyIn
server.py, updateBASE_URLunder theRENDERbranch to your actual Render URL.In claude.ai → Settings → Connectors, add:
https://your-app.onrender.com/mcp
No auth is currently configured on the HTTP endpoint — anyone with the URL can call every tool, including DB-backed ones. This was an explicit choice to keep setup simple for now; revisit before exposing anything sensitive (see Security below).
Note
OAuth was removed from the HTTP endpoint for now — we're not using claude.ai against this server's DB/tools yet, so it wasn't worth the extra complexity. Add it back later if needed.
Keep-alive
Render's free tier sleeps after 15 minutes idle, which makes the first request after sleep slow (30–60s) or time out. Mitigations already in place:
A background thread in
server.pypings/healthevery 10 minutes.Add an external monitor (e.g. UptimeRobot) on
https://your-app.onrender.com/healthevery 5 minutes — not on/mcp.
Adding a new tool
Open tools/quiz.py and add a function inside register(mcp):
@mcp.tool()
def my_new_tool(param1: str, param2: int) -> dict:
"""
One-sentence description of what this tool does.
The agent reads this docstring to decide when to call the tool.
Args:
param1: What this string parameter means.
param2: What this integer parameter means.
"""
result = do_something(param1, param2)
return {"result": result}No separate registration step — register(mcp) is called for both the stdio and HTTP instances.
Security
.envis gitignored — never commit it.Tools never return raw SQL or expose the DB schema.
All queries use parameterized SQL (
text("... WHERE id = :id"), not string interpolation).Any user-supplied table/column name should be checked against an allowlist before use in SQL.
The Render HTTP endpoint has no authentication — treat it as public. Don't add tools that expose sensitive data or destructive DB operations until auth is added back.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
A simple MCP server built with FastMCP and python
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
The official MCP Server for the Mux API
Related MCP Servers
- AlicenseBqualityBmaintenancePrimarily to be used as a template for developing MCP servers with FastMCP in Python, PyMCP is somewhat inspired by the official everything MCP server in Typescript.58MIT
- AlicenseNot gradedqualityDmaintenanceA simple MCP server built with FastMCP for experimentation and learning purposes. Includes basic web tools like article fetching and serves as a human-readable template for building custom MCP servers.AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceA comprehensive Python MCP server with built-in knowledge base (SQLite + FTS5), web management interface, and flexible tool grouping system. Supports multiple transport protocols (stdio, SSE, HTTP Stream) with zero external dependencies.MIT
- FlicenseNot gradedqualityDmaintenanceA modular MCP server built with Python and FastMCP, providing tools, prompts, and resources, plus a reusable async client for external API integrations.-