FastMCP Template
БесплатноНе проверенA FastMCP server template that provides a greet tool returning personalized greetings. It supports local, Docker, and Railway cloud deployments.
Описание
A FastMCP server template that provides a greet tool returning personalized greetings. It supports local, Docker, and Railway cloud deployments.
README
This is a FastMCP template project that works seamlessly in local, Docker, and cloud environments. Get started instantly by deploying to Railway with one click!
🚀 Quick Deploy to Railway (Recommended)
The fastest way to get your FastMCP server running in the cloud:
One-Click Deploy
Connect Remote Client to Railway
Once deployed, use this client to connect from anywhere:
Simple Method (Direct URL):
# my_client_remote.py
import asyncio
from fastmcp import Client
# Replace with your Railway URL
RAILWAY_URL = "https://your-railway-url.up.railway.app/mcp"
client = Client(RAILWAY_URL)
async def call_tool(name: str):
async with client:
result = await client.call_tool("greet", {"name": name})
print(result)
if __name__ == "__main__":
asyncio.run(call_tool("Ford"))
Run it:
uv run my_client_remote.py
With Environment Variable (More Flexible):
export RAILWAY_URL="https://your-railway-url.up.railway.app/mcp"
uv run my_client_remote.py
Project Structure
my_server.py- FastMCP server with agreettool (works locally, Docker, and Railway)my_client.py- Local/Docker client that connects via HTTPmy_client_remote.py- Remote client for Railway connectionsDockerfile- Container configuration for all cloud deployments
Local Development
Perfect for testing and development on your machine.
Terminal 1 - Start the server:
uv run fastmcp run my_server.py:mcp --transport http --port 8080
Terminal 2 - Run the client:
export PORT=8080
export HOST_URL="http://localhost"
uv run my_client.py
Output: Hello, Ford!
Docker Deployment
Deploy locally with Docker or on any container platform.
Build the Docker image:
docker build -t fastmcp-server .
Run the Docker container:
docker run -p 8080:8080 fastmcp-server
Connect the client:
export PORT=8080
export HOST_URL="http://localhost"
uv run my_client.py
Environment Variables
Local & Docker Deployments
HOST_URL- The server host URL (default:http://localhost)PORT- The server port (default:8080)
Examples:
# Custom port
export PORT=3000
uv run fastmcp run my_server.py:mcp --transport http --port 3000
export PORT=3000
uv run my_client.py
# Custom host
export HOST_URL="http://192.168.1.100"
export PORT=8080
uv run my_client.py
Railway Deployment
RAILWAY_URL- Full Railway endpoint URL (e.g.,https://your-url.up.railway.app/mcp)- Configure additional variables in Railway dashboard → Variables tab
Architecture
Why This Approach?
This template uses HTTP transport for consistency across all deployment scenarios:
- Consistency - Same protocol everywhere
- Simplicity - Just two files for any scenario
- Scalability - HTTP enables cloud deployment
- Flexibility - Easy to modify URLs/ports per environment
Deployment Options
┌──────────────────────────────────────────────┐
│ 🚀 RECOMMENDED: Railway Cloud │
│ • One-click deployment │
│ • Automatic HTTPS & CDN │
│ • Global access │
│ URL: https://your-url.up.railway.app/mcp │
└──────────────────────────────────────────────┘
┌──────────────────────────────────────────────┐
│ 🐳 Docker (Local or Any Cloud) │
│ • Full control │
│ • Works anywhere with Docker │
│ URL: http://localhost:8080/mcp │
└──────────────────────────────────────────────┘
┌──────────────────────────────────────────────┐
│ 🏠 Local Development │
│ • Perfect for testing │
│ • Two terminal setup │
│ URL: http://localhost:8080/mcp │
└──────────────────────────────────────────────┘
Configuration Details
Server (my_server.py)
The server uses the FastMCP framework with a simple greet tool:
@mcp.tool
def greet(name: str) -> str:
return f"Hello, {name}!"
When run locally with:
uv run fastmcp run my_server.py:mcp --transport http --port 8080
When run in Docker via Dockerfile:
CMD ["sh", "-c", "uv run fastmcp run my_server.py:mcp --transport http --host 0.0.0.0 --port $PORT"]
Client (my_client.py)
Local/Docker client connects with environment variables:
PORT = os.getenv("PORT", "8080")
HOST_URL = os.getenv("HOST_URL", "http://localhost")
client = Client(f"{HOST_URL}:{PORT}/mcp")
Remote Client (my_client_remote.py)
Railway/remote client connects with direct URL or environment variable:
RAILWAY_URL = os.getenv("RAILWAY_URL", "https://your-url.up.railway.app/mcp")
client = Client(RAILWAY_URL)
Troubleshooting
Railway Connection Issues
Server not responding:
- Check Railway deployment logs in dashboard
- Verify URL:
https://your-url.up.railway.app/mcp - Test with curl:
curl https://your-railway-url.up.railway.app/mcp
Finding your Railway URL:
- Go to Railway project dashboard
- Select the deployment
- Go to "Settings"
- Copy the domain URL
- Append
/mcpfor the endpoint
Custom Domain on Railway:
- Go to Service Settings → Custom Domain
- Add your domain (e.g.,
mcp.example.com)
Local Development Issues
Connection failed:
- Check if server is running:
ps aux | grep fastmcp - Verify port accessible:
curl http://localhost:8080/mcp - Ensure PORT and HOST_URL environment variables are set
Port already in use:
# Use different port
export PORT=3000
uv run fastmcp run my_server.py:mcp --transport http --port 3000
export PORT=3000
uv run my_client.py
Docker Issues
- Check if container is running:
docker ps - View logs:
docker logs <container-id> - Verify port mapping:
docker run -p 8080:8080 ... - Test connectivity:
curl http://localhost:8080/mcp
Summary
This FastMCP template provides multiple deployment options:
- ✅ Railway - Fastest cloud deployment (recommended)
- ✅ Docker - Full control, works anywhere
- ✅ Local - Perfect for development and testing
- ✅ Same codebase - No changes needed for different deployments
- ✅ Just change URLs - Environment variables handle all variations
Установить FastMCP Template в Claude Desktop, Claude Code, Cursor
unyly install fastmcp-templateСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add fastmcp-template -- uvx fastmcp-templateПошаговые гайды: как установить FastMCP Template
FAQ
FastMCP Template MCP бесплатный?
Да, FastMCP Template MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для FastMCP Template?
Нет, FastMCP Template работает без API-ключей и переменных окружения.
FastMCP Template — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить FastMCP Template в Claude Desktop, Claude Code или Cursor?
Открой FastMCP Template на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare FastMCP Template with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
