Skip to content

Current RMS MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Browse opportunities, products, stock, availability and invoices, and create quotes in Current RMS.

Deletes · 5Changes · 1

20 tools: 5 can delete or cancel things, 1 change things and 14 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http current-rms https://current-rms.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

20 tools

Deletes or cancels 5Claude Code: deny
  • current_rms_create_activityLog an activity (call, meeting, task, note) against a member, opportunity or project, optionally with participants.No findings

    Why it is in this group

    • The name "current_rms_create_activity" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Log an activity (call, meeting, task, note) against a member, opportunity or project, optionally with participants. Current RMS: POST /activities.

    Annotations the server declares

    • title: Log an activity
    • destructiveHint: true
  • current_rms_create_memberCreate an Organisation, Contact or Venue.No findings

    Why it is in this group

    • The name "current_rms_create_member" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create an Organisation, Contact or Venue. To link a new Contact to its Organisation, pass parent_member_id. Current RMS: POST /members.

    Annotations the server declares

    • title: Create a member
    • destructiveHint: true
  • current_rms_create_opportunityCreate an opportunity (a rental job) as an Enquiry, Draft or Quotation.No findings

    Why it is in this group

    • The name "current_rms_create_opportunity" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create an opportunity (a rental job) as an Enquiry, Draft or Quotation. store_id is required (see current_rms_list_stores); set member_id for the customer and starts_at/ends_at for the job dates. Line items are added in Current RMS. Current RMS: POST /opportunities.

    Annotations the server declares

    • title: Create an opportunity
    • destructiveHint: true
  • current_rms_update_memberUpdate fields on an existing member.No findings

    Why it is in this group

    • The name "current_rms_update_member" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update fields on an existing member. Only the fields you pass are sent. Emails and phones passed here are ADDED (existing ones are kept). When updating custom_fields, also pass the member's membership_type. Current RMS: PUT /members/{id}.

    Annotations the server declares

    • title: Update a member
    • destructiveHint: true
  • current_rms_update_opportunityUpdate header fields on an existing opportunity — subject, customer, venue, dates, reference, instructions, tags, custom fields.No findings

    Why it is in this group

    • The name "current_rms_update_opportunity" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update header fields on an existing opportunity — subject, customer, venue, dates, reference, instructions, tags, custom fields. Only the fields you pass are sent. State changes (convert to quote/order, cancel, mark lost) are deliberately not available. Current RMS: PUT /opportunities/{id}.

    Annotations the server declares

    • title: Update an opportunity
    • destructiveHint: true
Changes things 1Claude Code: ask
  • current_rms_check_product_availabilityRental availability for ONE product over a date range: arrays of quantity held, booked, unavailable, available, on sub-rent and quoted — one entry per availability period (hour, qu…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rental availability for ONE product over a date range: arrays of quantity held, booked, unavailable, available, on sub-rent and quoted — one entry per availability period (hour, quarter day, half day or day depending on the range and system setting) — plus the opportunities that book it. Read-only, even though the API uses POST. Current RMS: POST /availability/product.

    Annotations the server declares

    • title: Check a product's availability
    • readOnlyHint: true
Only reads 14Claude Code: allow
  • current_rms_get_invoiceFetch one invoice or credit note with its status, due date and totals; include invoice_items for the lines.No findings

    Why it is in this group

    • The name "current_rms_get_invoice" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one invoice or credit note with its status, due date and totals; include invoice_items for the lines. Current RMS: GET /invoices/{id}.

    Annotations the server declares

    • title: Get one invoice
    • readOnlyHint: true
  • current_rms_get_memberFetch one member (organisation, contact, venue or user) with its addresses, emails, phones, links, linked parent/child members and custom fields.No findings

    Why it is in this group

    • The name "current_rms_get_member" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one member (organisation, contact, venue or user) with its addresses, emails, phones, links, linked parent/child members and custom fields. Current RMS: GET /members/{id}.

    Annotations the server declares

    • title: Get one member
    • readOnlyHint: true
  • current_rms_get_opportunityFetch one opportunity with its dates, state (0 Enquiry, 1 Draft, 2 Quotation, 3 Order), status and charge/cost totals.No findings

    Why it is in this group

    • The name "current_rms_get_opportunity" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one opportunity with its dates, state (0 Enquiry, 1 Draft, 2 Quotation, 3 Order), status and charge/cost totals. Associations (customer, venue, line items, assets, participants) are only returned when named in include. Current RMS: GET /opportunities/{id}.

    Annotations the server declares

    • title: Get one opportunity
    • readOnlyHint: true
  • current_rms_get_productFetch one product with its rates, stock settings and custom fields.No findings

    Why it is in this group

    • The name "current_rms_get_product" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one product with its rates, stock settings and custom fields. Current RMS: GET /products/{id}.

    Annotations the server declares

    • title: Get one product
    • readOnlyHint: true
  • current_rms_list_activitiesList activities — calls, meetings, tasks and notes logged against members, opportunities and projects.No findings

    Why it is in this group

    • The name "current_rms_list_activities" says "list": a word for reading.
    Description, as the server wrote it
    List activities — calls, meetings, tasks and notes logged against members, opportunities and projects. filtermode: pending, completed, all. Example filters for one person's busy time in a window: {"time_status_eq": 1, "starts_at_lt": "2026-10-02T00:00:00.000Z", "ends_at_gteq": "2026-10-01T00:00:00.000Z", "participants_member_id_eq": [123]}. Current RMS: GET /activities.

    Annotations the server declares

    • title: List activities
    • readOnlyHint: true
  • current_rms_list_invoicesList invoices and credit notes with number, dates, status and totals.No findings

    Why it is in this group

    • The name "current_rms_list_invoices" says "list": a word for reading.
    Description, as the server wrote it
    List invoices and credit notes with number, dates, status and totals. Free-text search covers subject, number, description, customer name and tags. filtermode: live, inactive, all, invoices, credits. To find one opportunity's invoices pass filters {"invoice_items_source_type_eq": "Opportunity", "invoice_items_source_id_eq": <opportunity id>} with filtermode all. Current RMS: GET /invoices.

    Annotations the server declares

    • title: List invoices and credit notes
    • readOnlyHint: true
  • current_rms_list_membersList members — Current RMS's single record type for Organisations, Contacts, Venues and Users.No findings

    Why it is in this group

    • The name "current_rms_list_members" says "list": a word for reading.
    Description, as the server wrote it
    List members — Current RMS's single record type for Organisations, Contacts, Venues and Users. Free-text search covers name, street, work phone, work email and tags. Defaults to active records; filtermode can be active, inactive, all, organisation, contact, venue, user, with_pending_activities, with_live_opportunities, bookable. Current RMS: GET /members.

    Annotations the server declares

    • title: List members
    • readOnlyHint: true
  • current_rms_list_opportunitiesList opportunities — the enquiries, drafts, quotations and orders for a rental job — with their dates, state and charge totals.No findings

    Why it is in this group

    • The name "current_rms_list_opportunities" says "list": a word for reading.
    Description, as the server wrote it
    List opportunities — the enquiries, drafts, quotations and orders for a rental job — with their dates, state and charge totals. Free-text search covers subject, description, number, customer name and tags. filtermode e.g. live, all, inactive, enquiries, drafts, quotations, orders, invoiced, not_invoiced, needing_prep. Line items are NOT included here: use current_rms_get_opportunity or current_rms_list_opportunity_items. Max 25 per page. Current RMS: GET /opportunities.

    Annotations the server declares

    • title: List opportunities
    • readOnlyHint: true
  • current_rms_list_opportunity_itemsList the line items on one opportunity — products, services and groups, with quantity, rate, discount, dates and charge totals.No findings

    Why it is in this group

    • The name "current_rms_list_opportunity_items" says "list": a word for reading.
    Description, as the server wrote it
    List the line items on one opportunity — products, services and groups, with quantity, rate, discount, dates and charge totals. Current RMS: GET /opportunities/{opportunity_id}/opportunity_items.

    Annotations the server declares

    • title: List an opportunity's line items
    • readOnlyHint: true
  • current_rms_list_product_inventoriesStock snapshot per product: rental quantity held, booked, unavailable, on sub-rent and AVAILABLE, plus sale stock and prices.No findings

    Why it is in this group

    • The name "current_rms_list_product_inventories" says "list": a word for reading.
    Description, as the server wrote it
    Stock snapshot per product: rental quantity held, booked, unavailable, on sub-rent and AVAILABLE, plus sale stock and prices. Pass starts_at/ends_at to compute rental availability for a job's dates instead of today, and store_id to restrict to one store. filtermode: active, inactive, all, rental, sale. Current RMS: GET /product_inventories.

    Annotations the server declares

    • title: List product inventory
    • readOnlyHint: true
  • current_rms_list_productsList products (rental and sale items) with their group, stock method, rates, weight and barcode.No findings

    Why it is in this group

    • The name "current_rms_list_products" says "list": a word for reading.
    Description, as the server wrote it
    List products (rental and sale items) with their group, stock method, rates, weight and barcode. Free-text search covers name, product group name and tags. filtermode: active (default), inactive, all. Current RMS: GET /products.

    Annotations the server declares

    • title: List products
    • readOnlyHint: true
  • current_rms_list_projectsList projects — groups of related opportunities for one customer or event.No findings

    Why it is in this group

    • The name "current_rms_list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List projects — groups of related opportunities for one customer or event. Free-text search covers name, customer name and tags. filtermode: active (default), inactive, all. Current RMS: GET /projects.

    Annotations the server declares

    • title: List projects
    • readOnlyHint: true
  • current_rms_list_stock_levelsList stock levels — the individual serialised assets (asset number, serial number, location, store) or bulk stock quantities held.No findings

    Why it is in this group

    • The name "current_rms_list_stock_levels" says "list": a word for reading.
    Description, as the server wrote it
    List stock levels — the individual serialised assets (asset number, serial number, location, store) or bulk stock quantities held. Pass product_id for one product's stock, or use filters such as {"asset_number_eq": "ABC-1234"} to find an asset. Current RMS: GET /stock_levels or GET /products/{product_id}/stock_levels.

    Annotations the server declares

    • title: List stock levels
    • readOnlyHint: true
  • current_rms_list_storesList the account's stores (warehouses/depots) with their ids and addresses — needed for store_id when creating an opportunity.No findings

    Why it is in this group

    • The name "current_rms_list_stores" says "list": a word for reading.
    Description, as the server wrote it
    List the account's stores (warehouses/depots) with their ids and addresses — needed for store_id when creating an opportunity. Current RMS: GET /stores.

    Annotations the server declares

    • title: List stores
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http current-rms https://current-rms.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__current-rms__current_rms_list_members",
      "mcp__current-rms__current_rms_get_member",
      "mcp__current-rms__current_rms_list_opportunities",
      "mcp__current-rms__current_rms_get_opportunity",
      "mcp__current-rms__current_rms_list_opportunity_items",
      "mcp__current-rms__current_rms_list_products",
      "mcp__current-rms__current_rms_get_product",
      "mcp__current-rms__current_rms_list_product_inventories",
      "mcp__current-rms__current_rms_list_stock_levels",
      "mcp__current-rms__current_rms_list_stores",
      "mcp__current-rms__current_rms_list_invoices",
      "mcp__current-rms__current_rms_get_invoice",
      "mcp__current-rms__current_rms_list_projects",
      "mcp__current-rms__current_rms_list_activities"
    ],
    "ask": [
      "mcp__current-rms__current_rms_check_product_availability"
    ],
    "deny": [
      "mcp__current-rms__current_rms_create_member",
      "mcp__current-rms__current_rms_update_member",
      "mcp__current-rms__current_rms_create_opportunity",
      "mcp__current-rms__current_rms_update_opportunity",
      "mcp__current-rms__current_rms_create_activity"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as current-rms. Review it before you use it.