MCP server exposing dummy Indonesian hospital doctor-scheduling tools
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-jadwal-dokter","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-jadwal-dokter An MCP (Model Context Protocol) server that exposes dummy hospital doctor-scheduling tools: search doctors, read a schedule, check open slots, and make a booking. It is built to be driven by an LLM agent, and it ships as a pip package that runs over stdio with one command. The server is deterministic: data plus tools, no model and no API key. That is the point. An MCP server is the tool layer; the model lives in the client. A separate Streamlit demo (in `demo/`) lets an LLM drive these tools in an agentic chat, for example to find a pediatrician free on Thursday afternoon and book the slot. This is a portfolio project (project 11 of a larger set). `PLAN.md` is the full build plan and design record. ## Architecture ```mermaid flowchart LR User -->|chat| Streamlit Streamlit -->|asyncio.run per turn| Agent[Agent loop] Agent <-->|prompt plus tools / tool calls| LLM[LLM provider<br/>Anthropic or OpenRouter] Agent <-->|stdio MCP| Server[jadwal-dokter MCP server] Server --> Tools[search_doctors / get_schedule<br/>check_slot / create_booking] Tools --> Seed[(doctors.json, read-only)] Tools --> DB[(SQLite bookings)] ``` Everything from the MCP server rightward is the published package and needs no key. The LLM and the Streamlit client are the demo, and only they read an API key. Each user turn opens one stdio session to the server, runs the tool-calling loop, and closes it. ## Tools Eight tools, plus resources and a prompt: | Tool | What it does | |------|--------------| | `get_today()` | The server's date and weekday, so an agent resolves relative phrases ("next Thursday") against the server clock. | | `search_doctors(specialization?, name?, day?)` | Find doctors by specialization, name substring, and/or practice day. Filters are optional and combine with AND. | | `get_schedule(doctor_id)` | A doctor's weekly practice blocks and any leave periods. | | `check_slot(doctor_id, da…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.