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., "@Kroki MCPcheck the current server health and configuration"
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-template
This is a template repository. Click "Use this template" to create your own MCP server, then follow TEMPLATE.md to customise it.
A production-ready FastMCP server scaffold with batteries included:
Auth — bearer token, OIDC, and multi-auth (both simultaneously)
Read-only mode — write tools hidden via
mcp.disable(tags={"write"})CI — test matrix (Python 3.11–3.14), ruff, mypy, pip-audit, gitleaks, CodeQL
Release pipeline — semantic-release → PyPI + Docker (GHCR), SBOM attestation
Docker — multi-arch,
gosuprivilege dropping, configurable PUID/PGIDDocs — MkDocs Material + GitHub Pages
Quick start
# Install and run (stdio transport)
pip install fastmcp-server-template[mcp]
mcp-server serve
# Or with HTTP transport
mcp-server serve --transport http --port 8000Configuration
All configuration is via environment variables prefixed with MCP_SERVER_:
Variable | Default | Description |
|
| Disable write tools |
|
| Log level ( |
|
| Server name shown to clients |
| (dynamic) | System instructions for LLM context |
|
| Mount path for HTTP transport |
Authentication
The server supports four auth modes:
Multi-auth — both bearer token and OIDC configured; either credential accepted
Bearer token — set
MCP_SERVER_BEARER_TOKENto a secret stringOIDC — full OAuth 2.1 flow via
OIDC_CONFIG_URL,OIDC_CLIENT_ID,OIDC_CLIENT_SECRET, andBASE_URLNo auth — server accepts all connections (default)
Auth requires --transport http (or sse). It has no effect with --transport stdio.
Variable | Description |
| Static bearer token |
| Public base URL — required for OIDC (e.g. |
| OIDC discovery endpoint |
| OIDC client ID |
| OIDC client secret |
| JWT signing key — required on Linux/Docker to survive restarts |
See Authentication guide for full setup details.
Docker
docker compose up -dSee Docker deployment for volumes, UID/GID, and Traefik setup.
Development
uv sync
uv run pytest
uv run ruff check src/ tests/
uv run mypy src/Using this template
See TEMPLATE.md for the step-by-step customisation guide, including the rename.sh bootstrap script.
Keeping derived repos in sync
See SYNC.md for the infrastructure vs domain boundary definition and the cherry-pick workflow for propagating non-domain changes between this template and derived repositories.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.