Goodreads MCP
Read-only MCP server for Goodreads (no API required): search, books, shelves, ratings
Description from the maker (original English)
Read students, rolls and attendance; create and update students, contacts and houses in Orah.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://orah.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http orah https://orah.usefulapi.io/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"orah": {
"url": "https://orah.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"orah": {
"type": "http",
"url": "https://orah.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://orah.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
orah_list_studentsList students with optional filters (house, group, year level, student type, deactivated). Without filters it returns all active students; set page_size to page the list. Orah route: POST /open-api/student/list.
orah_get_studentGet one student with contact-relevant fields, house and dietary or medical notes. Give the Orah id or the SIS id. Orah route: POST /open-api/student/get-single.
orah_list_housesList all houses (student groupings) at the school. Use the ids in the student filters. Orah route: POST /open-api/house/list.
orah_list_student_contactsList the contacts (parents, guardians) of one student. Give the student's Orah id or SIS id. Orah route: POST /open-api/contact/list-by-student.
orah_list_groupsList groups: academic classes, advisories, athletics, activities and more. Filter by type, e.g. 'Academics', to find classes. Orah route: POST /open-api/group/list.
orah_list_reason_codesList the school's attendance reason codes (for example 'Tardy Unexcused'). Use them to read reasons on attendance and roll records. Orah route: POST /open-api/reason-code/list.
orah_list_locationsList the school's location tree (zones, buildings, rooms, floors, outdoor facilities) with each location's state (on grounds, off grounds, home). Orah route: POST /open-api/location/tree.
orah_list_current_locationsList the current location record of each student (one per student; a new student may have none). Limit to some students with ids or SIS ids. Orah route: POST /open-api/location-record/get-current.
orah_list_location_recordsList check-in and in-transit location records in time order, for all students or one student, within an optional time range. Paged. Orah route: POST /open-api/location-record/timeline.
orah_list_pastoralList pastoral entries (discipline, merit, health and other student events written by staff), in date order, for all students or one student. Sensitive entries show only to staff with extra rights. Paged. Orah route: POST /open-api/pastoral/timeline.
orah_list_roll_typesList roll types (Daily, Emergency, Attendance) with whether each is manual or automatic and active. Orah route: POST /open-api/roll-type/list.
orah_list_rollsList rolls (completed by default) in a time range, without per-student marks. Use orah_get_roll for one roll's marks. Paged. Orah route: POST /open-api/roll/timeline.
orah_get_rollGet one roll with its codes and every student's mark, reason and note. Orah route: POST /open-api/roll/get-single.
orah_list_daily_attendanceList the daily attendance status per student for a date window (the same status the Orah dashboards show). The window is required: start_date is inclusive, end_date is exclusive and optional (omit it for one day). Maximum 12 months. Orah route: POST /open-api/daily-attendance/tim
orah_list_scheduled_classesList the scheduled class attendance items for one UTC date, optionally for one staff member, group or student. Orah route: POST /open-api/classes/scheduled.
orah_list_staffList staff members. Set deactivated to true to list suspended staff. Orah route: POST /open-api/staff/list.
orah_get_staffGet one staff member by Orah id or SIS id. Orah route: POST /open-api/staff/get-single.
orah_list_leave_typesList the active leave types (for example absence categories) and their short codes. Orah route: POST /open-api/leave-type/list.
orah_get_leaveGet one leave record (a student's planned or past absence) with its time, status, type, location and note. Orah route: POST /open-api/leave/get-single.
orah_create_studentCreate a student record. first_name and last_name are required. Creates a real student in the school's Orah. Orah route: POST /open-api/student/create.
orah_update_studentUpdate a student's fields (names, year level, house, dietary or medical notes, contact details). Find the student by student_id or current_sis_id; sis_id sets a new SIS id. To hide a student from active lists, set deactivated to true. This server does not offer Orah's student del
orah_create_contactCreate a contact (parent or guardian) for one student. Give the student's Orah id or SIS id. Orah route: POST /open-api/contact/create.
orah_update_contactUpdate a contact's details. Give the contact's Orah id, or its SIS id together with the student's id or SIS id. Orah route: POST /open-api/contact/update.
orah_create_houseCreate a house (a student grouping). Orah route: POST /open-api/house/create.
orah_update_houseRename a house or change its SIS id. Give the house's Orah id or SIS id. Orah route: POST /open-api/house/update.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 10 ms (HTTP 200)
No sign-in needed
Read 25 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Goodreads MCP, Anna's Archive and OpenAlex, Neural Cosmology
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Read-only MCP server for Goodreads (no API required): search, books, shelves, ratings
Find books, papers and dissertations with Anna's Archive and OpenAlex, then download or read them.
Answers, essays, experiments and books on consciousness and cosmology: search, read, buy.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Use your Orah account from Claude, Cursor, or any MCP client. It reads students, rolls, attendance, locations and staff, and it creates or updates students, contacts and houses. Hosted, no local install: connect with your own credentials.
Live endpoint: https://orah.usefulapi.io/mcp · Homepage: https://usefulapi.io
https://orah.usefulapi.io/mcp.claude mcp add --transport http orah https://orah.usefulapi.io/mcp, then run /mcp to log in.{
"mcpServers": { "orah": { "url": "https://orah.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Orah credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/orah/
On first connect you provide the school's Orah Open API key and the region where the school's Orah is hosted. A school administrator creates the key under Admin Console → Settings → Open API and leaves the IP whitelist empty. The server validates it and stores it per user. No keys go in config files.
| Tool | Type | What it does |
|---|---|---|
orah_list_students | read | List students |
orah_get_student | read | Get student |
orah_list_houses | read | List houses |
orah_list_student_contacts | read | List student contacts |
orah_list_groups | read | List groups |
orah_list_reason_codes | read | List reason codes |
orah_list_locations | read | List locations |
orah_list_current_locations | read | List current student locations |
orah_list_location_records | read | List location record history |
orah_list_pastoral | read | List pastoral records |
orah_list_roll_types | read | List roll types |
orah_list_rolls | read | List rolls |
orah_get_roll | read | Get roll |
orah_list_daily_attendance | read | List daily attendance |
orah_list_scheduled_classes | read | List scheduled classes |
orah_list_staff | read | List staff |
orah_get_staff | read | Get staff member |
orah_list_leave_types | read | List leave types |
orah_get_leave | read | Get leave |
orah_create_student | write | Create student |
orah_update_student | write | Update student |
orah_create_contact | write | Create contact |
orah_update_contact | write | Update contact |
orah_create_house | write | Create house |
orah_update_house | write | Update house |
orah_usage_status | meta | Usage status (free-tier meter) |
orah_request_feature | meta | Request a missing feature |
orah_upgrade | meta | Upgrade to Pro or Pro+ |
orah_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per user) | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this server only. Subscribe with orah_upgrade (it returns a Stripe Checkout link). Cancel any time with orah_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running orah_upgrade before then undoes the cancel. Or write to support@usefulapi.io.
MIT — see LICENSE. Documentation only; the server is hosted.