mcpbeat Sign in

ByDoctor MCP by usefulapi MCP Server

answering

ByDoctor MCP by usefulapi is answering right now. Last checked 8 min ago. It exposes 15 tools. Last commit 12 Nov 2026.

Read appointments, professionals and rooms; book, update and cancel visits in ByDoctor.

Uptime history 6 hours of history
6 hours agonow
100.0%
Uptime 24h
19 of 19 checks
15
Tools
read from the server
243 ms
Response time
average over 24h
1
Stars
last commit 12 Nov 2026

Nothing serious here today

Today is the operative word: we check ByDoctor MCP by usefulapi every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add bydoctor --transport http https://bydoctor.usefulapi.io/mcp
Settings → Connectors → Add custom connector, then paste this address
https://bydoctor.usefulapi.io/mcp
~/.codex/config.toml
[mcp_servers.bydoctor]
url = "https://bydoctor.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "bydoctor": {
      "url": "https://bydoctor.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "bydoctor": {
      "type": "http",
      "url": "https://bydoctor.usefulapi.io/mcp"
    }
  }
}

Available tools 15

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

bydoctor
bydoctor_cancel_appointment
WRITE: cancels an in-person appointment that is scheduled (move a confirmed one back to scheduled first). Repeating the cancel returns the same result. Needs appointments:write. POST /appointments/{id}/cancel.
bydoctor_create_appointment
WRITE: books a new in-person appointment with status scheduled, for an existing patient, professional and appointment type. Teleconsults are not created by the API. Needs the appointments:write scope. POST /appointments.
bydoctor_create_patient
WRITE: creates a patient record and returns its id for bydoctor_create_appointment. Search by CPF or phone first to avoid duplicates; a CPF already used by another patient in the clinic is refused (409). Needs patients:write. POST /patients.
bydoctor_get_appointment
Get one appointment by its UUID id, with patient, professional, room, type, status and times. GET /appointments/{id}.
bydoctor_get_appointment_type
Get one active appointment type by id: name. GET /appointment-types/{id}.
bydoctor_get_patient
Get one patient by id: name, phone, active flag and timestamps. GET /patients/{id}.
bydoctor_get_professional
Get one active professional by id: name and specialty. GET /professionals/{id}.
bydoctor_get_room
Get one active room by id: name. GET /rooms/{id}.
bydoctor_list_appointment_types
List the active appointment types, such as consultation or follow-up: id and name. Use the id as appointment_type_id. GET /appointment-types.
bydoctor_list_appointments
List clinic appointments, oldest update first, with filters for date range, status, modality, professional, patient and room. Use updated_since to sync only what changed. Returns results[] plus next/previous cursor URLs. GET /appointments.
bydoctor_list_patients
Find clinic patients by exact CPF or phone, or by partial name. CPF, e-mail, birth date and gender are never returned. Use this before creating an appointment to avoid duplicate patients. GET /patients.
bydoctor_list_professionals
List the active professionals who see patients: id, name and main specialty. Use the id as professional_id. GET /professionals.
bydoctor_list_rooms
List the active clinic rooms: id and name. Empty when the clinic does not use rooms. Use the id as room_id. GET /rooms.
bydoctor_update_appointment
WRITE: changes only the fields you send: start_at, professional_id, room_id, note, or status (scheduled or confirmed only). A confirmed appointment accepts only a status change; move it back to scheduled first to reschedule. Needs appointments:write. PATCH /appointments/{id}.
bydoctor_update_patient
WRITE: changes only the fields you send. Send null to clear phone, email, cpf or birth_date; name and gender cannot be cleared. A CPF used by another patient is refused (409). Needs patients:write. PATCH /patients/{id}.

Endpoints

URLTransportStateLatencyChecked
https://bydoctor.usefulapi.io/mcp streamable-http answering 232 ms 8 min ago

Alternatives to ByDoctor MCP by usefulapi

same job, measured the same way
IntakeQ MCP by usefulapi
by usefulapi

Search clients, appointments, intakes, notes and invoices in IntakeQ, and book or cancel visits.

19 tools answering
splose MCP by usefulapi
by usefulapi

Read splose patients, appointments, invoices, cases; book and cancel appointments, record payments.

36 tools answering
Progenda MCP by usefulapi
by usefulapi

Read patients, calendars, appointments and open slots; book and move appointments in Progenda.

12 tools answering
ERClinic MCP by usefulapi
by usefulapi

Find agenda times, read appointments; book, confirm and cancel them in ERClinic.

15 tools answering
resOS MCP by usefulapi
by usefulapi

Read bookings, guests and availability; create, update or cancel bookings in resOS.

19 tools answering
SmartDoctor MCP by usefulapi
by usefulapi

Find open slots, book, move and cancel consultations, and read prices in SmartDoctor.

9 tools answering
Setora MCP by usefulapi
by usefulapi

Read locations, slots and bookings; create clients, book, move and cancel in Setora.

10 tools answering
Waitwhile MCP by usefulapi
by usefulapi

Read Waitwhile visits, bookings, customers, services and analytics; add, update and cancel visits.

29 tools answering

ByDoctor MCP by usefulapi — questions

Answers built from our own checks of this server.

What can ByDoctor MCP by usefulapi do?
It exposes 15 tools, read directly from the server on our last check. Among them: bydoctor_cancel_appointment, bydoctor_create_appointment, bydoctor_create_patient, bydoctor_get_appointment, bydoctor_get_appointment_type, bydoctor_get_patient and 9 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is ByDoctor MCP by usefulapi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 19 of 19 checks got a reply (100.0%), average response time 243 ms. The bar chart above shows every period we have measured.
How do I connect ByDoctor MCP by usefulapi?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does ByDoctor MCP by usefulapi need an API key?
No. ByDoctor MCP by usefulapi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 15 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is ByDoctor MCP by usefulapi?
It answers our handshake in 243 ms on average, which is faster than 58% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is ByDoctor MCP by usefulapi open source?
The code is open source: it is published under the MIT licence, written in JavaScript, 1 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at bydoctor.usefulapi.io, which runs on its operator's own terms.