Appointment Scheduler MCP Server
Enables scheduling and managing appointments through a PostgreSQL database, allowing users to create...
Create a working .env file
- In the project root, copy the template:
cp .env.example .env - You will edit
.envwith the values gathered in the next steps.
- In the project root, copy the template:
Decide where PostgreSQL will run
- Local: you will use
localhostand the default port5432. - Docker compose: open
docker-compose.ymland locate thepostgresservice to readPOSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_DB(or set them if missing), then rundocker-compose up -d postgres. - Managed DB (Railway, Heroku, AWS RDS, ElephantSQL, etc.): open the provider dashboard and copy the host, port, database name, username and password.
- Local: you will use
(Local/manual) Create the database and DB user (if needed)
- Open psql as a superuser and run:
CREATE USER your_username WITH PASSWORD 'your_password'; CREATE DATABASE your_database OWNER your_username; GRANT ALL PRIVILEGES ON DATABASE your_database TO your_username; - Use values you choose for DB_NAME, DB_USER, DB_PASSWORD.
- Open psql as a superuser and run:
Collect the environment values you must supply
- DB_HOST — hostname or IP of the Postgres server (e.g.,
localhostordb.example.com) - DB_PORT — Postgres port (default
5432) - DB_NAME — database name (e.g.,
appointment_db) - DB_USER — database username
- DB_PASSWORD — database password
- DATABASE_URL — full connection string (see next step)
- MCP_TRANSPORT — either
stdio(default for MCP clients) orhttp - MCP_HOST — only used when
MCP_TRANSPORT=http(default0.0.0.0) - MCP_PORT — only used when
MCP_TRANSPORT=http(default8000)
- DB_HOST — hostname or IP of the Postgres server (e.g.,
Construct the DATABASE_URL
- Format:
postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME} - If your password (or user) contains special characters (e.g.,
@,:), URL-encode them. Example encoded password:p@ssw0rd!→p%40ssw0rd%21 - Example:
DATABASE_URL=postgresql://myuser:my%40pass@db.example.com:5432/appointments
- Format:
Fill in the .env file
- Open
.envand set each key:- DB_HOST=...
- DB_PORT=...
- DB_NAME=...
- DB_USER=...
- DB_PASSWORD=...
- DATABASE_URL=postgresql://...
- MCP_TRANSPORT=stdio # or http
- MCP_HOST=0.0.0.0 # if using http
- MCP_PORT=8000 # if using http
- Open
Enter values into the FastMCP connection interface (use the “Install Now” button)
- Open the FastMCP connection UI for this MCP.
- Click the ready-made "Install Now" button.
- In the FastMCP connection fields, paste the values from your
.env:- DB_HOST → DB_HOST
- DB_PORT → DB_PORT
- DB_NAME → DB_NAME
- DB_USER → DB_USER
- DB_PASSWORD → DB_PASSWORD
- DATABASE_URL → DATABASE_URL
- MCP_TRANSPORT → MCP_TRANSPORT
- MCP_HOST → MCP_HOST (if MCP_TRANSPORT=http)
- MCP_PORT → MCP_PORT (if MCP_TRANSPORT=http)
- Save/Confirm the installation in the FastMCP UI.
Validate the configuration
- From the project root, run migrations to ensure DB connection works:
- Using uv:
uv run alembic upgrade head - Using pip/alembic:
alembic upgrade head
- Using uv:
- Start the server to confirm MCP starts successfully:
uv run python main.pyorpython main.py(depending on install method)
- If using HTTP transport, open
http://<MCP_HOST>:<MCP_PORT>to confirm.
- From the project root, run migrations to ensure DB connection works:
Troubleshooting tips
- If you used Docker Compose, re-check
docker-compose.ymlforPOSTGRES_*env values. - For managed providers, use the connection string they provide and convert it into the
DATABASE_URLformat if necessary. - If you get authentication errors, ensure the DATABASE_URL password is URL-encoded when it contains special characters.
- If you used Docker Compose, re-check
(Optional) Keep secrets secure
- Do not commit
.envto git. Add.envto.gitignoreif not already ignored. - For production, consider storing DB credentials in your provider’s secret manager and pasting them into FastMCP's connection fields rather than saving them in repository files.
- Do not commit
Quick Start
Choose Connection Type for
Authentication Required
Please sign in to use FastMCP hosted connections
Run MCP servers without
local setup or downtime
Access to 1,000+ ready-to-use MCP servers
Skip installation, maintenance, and trial-and-error.
No local setup or infra
Run MCP servers without Docker, ports, or tunnels.
Always online
Your MCP keeps working even when your laptop is off.
One secure URL
Use the same MCP from any agent, anywhere.
Secure by default
Encrypted connections. Secrets never stored locally.
Configuration for
Environment Variables
Please provide values for the following environment variables:
HTTP Headers
Please provide values for the following HTTP headers:
started!
The MCP server should open in . If it doesn't open automatically, please check that you have the application installed.
Copy and run this command in your terminal:
Make sure Gemini CLI is installed:
Visit Gemini CLI documentation for installation instructions.
Make sure Claude Code is installed:
Visit Claude Code documentation for installation instructions.
Installation Steps:
Configuration
Installation Failed
More for Database
View All →Supabase MCP Server
Connect Supabase projects directly with AI assistants using the Model Context Protocol (MCP). This server standardizes communication between Large Language Models and Supabase, enabling AI to manage tables, query data, and interact with project features like edge functions, storage, and branching. Customize access with read-only or project-scoped modes and select specific tool groups to fit your needs. Integrated tools cover account management, documentation search, database operations, debugging, and more, empowering AI to assist with development, monitoring, and deployment tasks in your Supabase environment efficiently and securely.
Svelte
Official Svelte documentation access and code analysis server that provides up-to-date reference material, playground link generation, and intelligent autofixer capabilities for detecting common patterns, anti-patterns, and migration opportunities in Svelte 5 and SvelteKit projects.
More for API Development
View All →Sentry
Streamline Sentry API integration with this remote MCP server middleware prototype. sentry-mcp acts as a bridge between clients and Sentry, supporting flexible transport methods and offering tools like the MCP Inspector for easy service testing. Inspired by Cloudflare’s remote MCP initiative, it helps developers adapt and debug workflows, making Sentry interaction smoother for both cloud and self-hosted environments.