FastMCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FastMCP Servercalculate 6*7"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FastMCP Server
Production-ready Model Context Protocol server built on top of FastMCP. It exposes a set of demo tools (calculator, web search, web fetch) and ships with a Playground UI for interactive testing.
Features
๐ Powered by FastMCP's high-level MCP abstractions
๐ง Decorator-based tool registration with automatic schema generation
๐งช Comprehensive pytest suite with in-memory FastMCP client tests
๐ฅ๏ธ Web playground for exercising tools without writing a client
๐งพ PDF generation from HTML/Markdown templates with pluggable rendering engines
โ๏ธ Environment-driven configuration for tool toggles and timeouts
Related MCP server: MCP Server with OpenAI Integration
Quick Start
Install dependencies
pip install -r requirements.txtConfigure environment
cp .env.example .env # Edit .env to suit your environmentRun the MCP server (choose either command)
# Using Python directly python -m src.server # Or via the FastMCP CLI (adds uvicorn/stdio helpers) fastmcp run src/server.pyLaunch the Playground UI (optional)
python start_playground.py # Open http://localhost:8080
LangChain SSE Verification
export MCP_BEARER_TOKEN=jango
fastmcp run src/server.py --transport sse --host 0.0.0.0 --port 8080In another terminal:
# Stream the MCP handshake and keep-alive frames
curl -N -H "Authorization: Bearer jango" http://localhost:8080/mcp/stream | head
# Invoke the calculator tool over HTTP
curl -X POST http://localhost:8080/tools/calculator/call \
-H "Authorization: Bearer jango" \
-H "Content-Type: application/json" \
-d '{"arguments":{"expression":"6*7"}}'The SSE stream should emit data: {...} frames for the initialize result, the tools/list payload, and periodic ping messages. The calculator call should return JSON containing "result": "42".
Adding New Tools
Tools are plain Python functions decorated with @mcp.tool. Schemas are inferred from type hints and default values.
# src/server.py
from fastmcp import Context
from src.server import mcp
@mcp.tool(name="greet", description="Return a friendly greeting")
def greet(name: str, excited: bool = False) -> str:
message = f"Hello, {name}!"
return message.upper() if excited else messageSet MCP_ENABLED_TOOLS_CONFIG in .env to control which tools are registered at import time.
PDF Generation Tool
The pdf.generate tool renders PDF documents from HTML or Markdown templates:
Provide a
templatestring and optionalvariables(dict or JSON string) for templating via Jinja2.Pick
content_type="markdown"to auto-convert Markdown into HTML before rendering.Choose a rendering engine with the
engineparameter:weasyprint(default) โ install withpip install weasyprintand ensure Cairo/Pango system libraries are available.wkhtmltopdfโ install withpip install pdfkitand thewkhtmltopdfbinary on your PATH.
Set
output_format="base64"to receive the PDF bytes inline, or"path"withoutput_pathto write to disk (defaults toplayground/generated_pdfs/).
Markdown support relies on the markdown package (pip install markdown). If an engine dependency is missing, the tool returns a helpful error message instead of failing silently.
Testing
pytest tests/Documentation
how-to-use.mdโ end-to-end usage guidedocs/โ extended documentation on configuration, deployment, testing, and the playground
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/bagasta/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server