oyster_get_company
Get company
The connected Oyster company: id, name, registration number and corporate/billing addresses. GET /v1/company.
Takes no parameters.
io.usefulapiPublished by usefulapi.ioOfficial publisherv1.0.0Updated Nov 14, 2026
Read team, time off, expenses and invoices; approve or decline time off and expenses in Oyster.
The publisher's own server: Ably MCP by usefulapi
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.usefulapi%2Foyster/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"oyster-by-usefulapi": {
"type": "http",
"url": "https://oyster.usefulapi.io/mcp"
}
}
}Use your Oyster account from Claude, Cursor, or any MCP client. It reads team members, time off, expenses, contract changes, invoices and time sheets, and it approves or rejects time off and expenses only when you ask. Hosted, no local install: connect with your own credentials.
Live endpoint: https://oyster.usefulapi.io/mcp · Homepage: https://usefulapi.io
https://oyster.usefulapi.io/mcp.claude mcp add --transport http oyster https://oyster.usefulapi.io/mcp, then run /mcp to log in.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 you sign in with your Oyster account.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/oyster/
On first connect you sign in to Oyster and approve access. A Company Admin must approve the access. No keys go in config files.
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.
Each paid plan covers this server only. Ask your AI to run oyster_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with oyster_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with oyster_upgrade before then undoes the cancel. Or write to [email protected].
MIT — see LICENSE. Documentation only; the server is hosted.
Source: servers/oyster/README.md at commit d5cb945
Get company
The connected Oyster company: id, name, registration number and corporate/billing addresses. GET /v1/company.
Takes no parameters.
List team members
List the company's team members (Oyster engagements: EOR employees, contractors, payroll team members) with name, role, type, state, country, start date, department and work email. Private details (date of birth, addresses, phones, salary, tax id) are left out; use oyster_get_team_member for one person. GET /v1/engagements.
pageper_pageGet team member
One team member (engagement) with employment or contract details, department, benefits and terminations. Salary only with include_compensation; date of birth, addresses, phone numbers and citizenships only with include_personal_details. A contractor's tax id is never returned. GET /v1/engagements/{id}.
engagement_idrequiredinclude_compensationinclude_personal_detailsList departments
List the company's departments with their description and number of team members. GET /v1/departments.
pageper_pageList time off requests
List time off requests with person, dates, type, state, reason and comments, optionally for some team members only. GET /v1/time_off/requests.
pageper_pageengagement_idsGet time off request
One time off request with dates, day durations, hours, state, type, reason, comments and attachment. GET /v1/time_off/requests/{id}.
time_off_request_idrequiredList time off balances
Time off entitlements per team member, in days: annual entitlement, accrued, carried over, adjusted, taken, available, upcoming and projected balance. GET /v1/time_off/entitlements.
pageper_pageList public holidays
Public holidays between two dates (up to two years ahead) for a country (ISO code, optional subdivision) or for a team member's location. GET /v1/public_holidays.
pageend_daterequiredper_pagestart_daterequiredcountry_codeengagement_idsubdivision_codeList expenses
List team members' expenses with amount, category, dates, review state (UNREVIEWED, APPROVED, DECLINED) and receipt link. Search by name and filter by review state. GET /v1/expenses.
pagequeryper_pagereview_statesGet expense
One expense with amount, receipt amount, category, dates, review state, receipt link and team member. GET /v1/expenses/{id}.
expense_idrequiredList contract changes
List contract change requests for all team members (position, compensation, bonus, allowance changes) with state, effective date, requester and the changes. GET /v1/contract_changes.
pageper_pageGet contract change
One contract change with the requested changes, state, dates, team member and amendment documents. GET /v1/contract_changes/{id}.
contract_change_idrequiredList invoices
List the company's Oyster invoices with type, status, payroll month, issue and due dates, amount, charge (payment) status and payout status. Filter by payroll period, issue date, type, status, charge status or team member. GET /v1/invoices.
pagetypesper_pagestatusesissue_date_toengagement_idscharge_statusesissue_date_fromreference_codespayroll_period_topayroll_period_fromGet invoice
One invoice by ID or reference code, with line items, tax, applied credit, charge, payout and document links. GET /v1/invoices/{identifier}.
invoicerequiredList time sheets
List time sheets with team member, period, cadence, status (PENDING_SUBMISSION, SUBMITTED, PENDING_APPROVAL, APPROVED) and worked/time-off totals. GET /v1/time_tracking/time_sheets.
pageper_pageGet time sheet
One time sheet with totals, work summary, time off days and the daily entries. GET /v1/time_tracking/time_sheets/{id}.
time_sheet_idrequiredApprove time off request
WRITE: approve a pending time off request. Only on the user's explicit request; check the request with oyster_get_time_off_request first. Needs the manage scope. POST /v1/time_off/requests/{id}/approve.
time_off_request_idrequiredReject time off request
WRITE: reject a pending time off request with a reason the team member sees. Only on the user's explicit request. Needs the manage scope. POST /v1/time_off/requests/{id}/reject.
reasonrequiredtime_off_request_idrequiredApprove expense
WRITE: approve an unreviewed expense for reimbursement. Only on the user's explicit request; check it with oyster_get_expense first. Needs the manage scope. POST /v1/expenses/{id}/approve.
expense_idrequiredDecline expense
WRITE: decline an unreviewed expense, optionally with a reason the team member sees. Only on the user's explicit request. Needs the manage scope. POST /v1/expenses/{id}/decline.
reasonexpense_idrequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Reads Avirato hotel PMS data — reservations, availability, rates, prices and meal plans — and records cash payments on bookings.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant list interview, participant and department metadata from a Willo account.
io.usefulapiOfficial publisher
Hosted MCP server that lets an assistant read Testlify hiring workspace details, assessments and assessment candidates.
io.usefulapiOfficial publisher
Hosted Skedway MCP server that lets an assistant check users into desk and parking bookings, read API health, and manage usage and subscription.
{ "mcpServers": { "oyster": { "url": "https://oyster.usefulapi.io/mcp" } }}