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., "@FastAPI MCP Serverget the current time in ISO format"
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.
FastAPI MCP Server (Single Tool)
A minimal, production-ready MCP server implemented with FastAPI and deployable to Google Cloud Run. It exposes a single tool get_time via the OpenAI Model Context Protocol (MCP) using JSON‑RPC 2.0 over HTTP.
Features
tools/listandtools/callimplemented exactly to specReturns content (text for humans) and structuredContent (JSON for machines)
Proper JSON‑RPC error codes and input validation with
jsonschemaCORS enabled (dev) + optional API key auth via
x-api-keyHealth check (
/healthz) and simple request loggingDockerfile and one‑command Cloud Run deploy
Endpoints
POST /— JSON‑RPC 2.0 endpoint fortools/listandtools/callGET /healthz— returns{ "ok": true }
Tool
get_time
Description: Returns the current UTC timestamp, optionally formatted.
Input schema:
{
"type": "object",
"properties": {
"format": {
"type": "string",
"description": "strftime format, e.g. %Y-%m-%dT%H:%M:%SZ"
}
},
"required": []
}Output structuredContent:
{
"iso": "2025-01-01T00:00:00Z",
"formatted": "optional if format passed"
}Local Dev
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn app:app --reload --port 8000Test:
curl -s localhost:8000/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | jq
curl -s localhost:8000/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_time","arguments":{"format":"%Y-%m-%dT%H:%M:%SZ"}}}' | jqIf you set API_KEY=secret, include a header: -H 'x-api-key: secret'
Deploy to Google Cloud Run
Option 1 — from source (simplest):
./deploy.sh
# Set PROJECT_ID, REGION, SERVICE (or export them)Option 2 — via Cloud Build pipeline:
gcloud builds submit --project $PROJECT_ID --substitutions=_REGION=us-central1,_SERVICE=mcp-clockWire into OpenAI Agent Builder
Add a new MCP Server to your agent
Server URL: your Cloud Run URL (e.g.
https://mcp-clock-xxxx-uc.a.run.app)Label:
clockAllowed tools:
get_time(or leave empty to allow all)
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.