Skip to content
Agentmart
Submit a tool

SMB Sandbox

Mock small-business CRM, inbox, calendar, invoicing and phone tools for testing AI agents safely.

Connector by teamshift-io · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/teamshift-io-sandbox-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Mock small-business CRM, inbox, calendar, invoicing and phone tools for testing AI agents safely.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
21 read · 21 write · 4 delete
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 46

Read from the source code; the running server may list different tools.

Read 21 · Look things up without changing anything.

  • admin_get_audit_log
  • admin_get_company
  • admin_get_company_policies
  • calendar_get_job
  • calendar_list_jobs
  • crm_get_contact
  • crm_get_customer
  • crm_get_deal
  • crm_list_customers
  • crm_list_deals
  • crm_list_employees
  • crm_list_leads
Show 9 more tools
  • crm_list_quotes
  • crm_list_tasks
  • crm_search_contacts
  • inbox_get_thread
  • inbox_list_threads
  • invoicing_get_invoice
  • invoicing_list_invoices
  • invoicing_list_payments
  • phone_list_calls

Write 21 · Create, change, send or run things.

  • admin_advance_clock
  • admin_save_state
  • calendar_complete_job
  • calendar_reschedule_job
  • calendar_schedule_job
  • crm_complete_task
  • crm_create_contact
  • crm_create_task
  • crm_follow_up_quote
  • crm_send_quote
  • crm_update_contact
  • crm_update_deal
Show 9 more tools
  • crm_update_lead
  • inbox_mark_thread_read
  • inbox_send_email
  • inbox_send_sms
  • invoicing_create_invoice
  • invoicing_match_payment
  • invoicing_record_payment
  • invoicing_send_reminder
  • phone_log_call

Delete 4 · Delete, drop, revoke or wipe things.

  • admin_reset
  • calendar_cancel_job
  • crm_merge_contacts
  • invoicing_void_invoice

Tools (46)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • admin_advance_clockAdvance clock

    Move simulated time forward by N minutes (e.g. to simulate waiting for a reply).

  • admin_get_audit_logGet audit logread-only

    Every mutation attempted so far (tool, input, ok/error, changed ids), in order. Use sinceSeq to fetch only newer entries.

  • admin_get_companyGet company profileread-only

    Company profile plus the simulated current time and today's date in company time.

  • admin_get_company_policiesGet company policiesread-only

    The company's plain-language operating rules (response times, follow-up cadence, payment terms...). Read before acting.

  • admin_resetReset sandboxcan change or delete data

    Restore the original dataset and clock, discarding every change. The audit log is kept and records the reset.

  • admin_save_stateSave state

    Write the current dataset, audit log and outbox to the --state-out file for grading.

  • calendar_cancel_jobCancel jobcan change or delete data

    Cancel a scheduled or in-progress job. Requires a reason. Cannot be undone.

  • calendar_complete_jobComplete job

    Mark a scheduled or in-progress job completed now, with optional notes.

  • calendar_get_jobGet jobread-only

    One job with its customer and invoices.

  • calendar_list_jobsList jobsread-only

    Scheduled work (appointments / work orders / projects), latest start first. Filter by status, customer, assignee, or a start-time window [from, to).

  • calendar_reschedule_jobReschedule job

    Move a scheduled or no-show job to a new time window (optionally new assignees). Does NOT notify the customer; send them a message separately if policy requires.

  • calendar_schedule_jobSchedule job

    Book new work for a customer. Assignees must be active employees and not double-booked (pass allowOverlap to override).

  • crm_complete_taskComplete task

    Mark an open task done.

  • crm_create_contactCreate contact

    Add a new person, optionally linked to a customer account. Search first to avoid creating duplicates.

  • crm_create_taskCreate task

    Create a to-do for a staff member, linked to the records it is about (relatedIds). Use when a human must do something you cannot.

Show 31 more tools
  • crm_follow_up_quoteFollow up on quote

    Message the deal's contact about a sent/viewed quote and record the follow-up on the quote. Write the full message body. Goes to the outbox; nothing is really delivered.

  • crm_get_contactGet contactread-only

    Full profile of one contact plus their customer account, leads, deals and recent calls. Use when you need context before replying to or changing a contact.

  • crm_get_customerGet customerread-only

    One customer account with its contacts, deals, jobs and invoices. Use for a full account picture.

  • crm_get_dealGet dealread-only

    One deal with its quotes and contact.

  • crm_list_customersList customersread-only

    List customer accounts (households or businesses), newest first. Filter by text, status or owner.

  • crm_list_dealsList dealsread-only

    Sales pipeline deals, most recently updated first. Use staleDays to find open deals with no activity for N days, openOnly to skip won/lost.

  • crm_list_employeesList employeesread-only

    Active staff with ids and roles. Use to pick an owner for a deal/lead or an assignee for a job or task.

  • crm_list_leadsList leadsread-only

    Inbound leads, newest first. Set uncontacted: true to find leads nobody has responded to yet.

  • crm_list_quotesList quotesread-only

    Quotes/estimates. Set notFollowedUp: true to find sent quotes that never got a follow-up.

  • crm_list_tasksList tasksread-only

    To-dos for staff. Filter by status, assignee or a related record id.

  • crm_merge_contactsMerge duplicate contactscan change or delete data

    Fold a duplicate contact (mergeId) into the one to keep (keepId): empty fields are filled from the duplicate, all leads/deals/messages/calls are re-pointed, and the duplicate is deleted. Irreversible; confirm they are the same person first.

  • crm_search_contactsSearch contactsread-only

    Find people by name, email, phone digits or title. Use before any contact-specific action to get the contact id. Set missingInfo to find contacts lacking a valid email or phone.

  • crm_send_quoteSend quote

    Send a draft quote to the customer (status becomes sent). Only works on drafts.

  • crm_update_contactUpdate contact

    Change a contact's name, email, phone, title or customer link. Omitted fields stay as they are; null clears a field. Use to fix missing or malformed contact info.

  • crm_update_dealUpdate deal

    Move a deal to a new stage and/or set its next action, amount or owner. Stage moves must follow the pipeline (new→qualified→quote-sent→negotiation→won/lost; won is final; lost can reopen). Moving to lost requires lostReason. Set nextAction to {summary, dueOn} so every open deal has a next step.

  • crm_update_leadUpdate lead

    Change a lead's status or owner. Note: sending an email/SMS or logging an outbound call to the lead's contact marks it contacted automatically.

  • inbox_get_threadGet threadread-only

    All messages in one thread, oldest first. Read before replying.

  • inbox_list_threadsList inbox threadsread-only

    Email and SMS conversations, newest activity first, with unread counts and the last message snippet. Use unreadOnly to triage.

  • inbox_mark_thread_readMark thread read

    Mark every message in a thread as read after handling it.

  • inbox_send_emailSend email

    Send an email to a contact, raw address, or as a reply in an existing thread (threadId). Subject is required for new threads. Written to the outbox only; nothing leaves the sandbox.

  • inbox_send_smsSend SMS

    Send a text message to a contact, raw number, or within an SMS thread. Outbox only.

  • invoicing_create_invoiceCreate invoice

    Issue an invoice to a customer (optionally for a job of that customer). Total is computed from line items; due date defaults to company payment terms.

  • invoicing_get_invoiceGet invoiceread-only

    One invoice with its payments and balance due.

  • invoicing_list_invoicesList invoicesread-only

    Invoices, newest first. Set overdue: true for unpaid invoices past their due date.

  • invoicing_list_paymentsList paymentsread-only

    Payments received, newest first. Set unmatched: true for payments not yet applied to any invoice.

  • invoicing_match_paymentMatch payment to invoice

    Apply an unmatched payment to the invoice it pays. Customer must match and amount must not exceed the balance.

  • invoicing_record_paymentRecord payment

    Record money received against an invoice. Cannot exceed the balance; void, draft and paid invoices are rejected.

  • invoicing_send_reminderSend invoice reminder

    Send a payment reminder for an open or partially-paid invoice to the customer's contact (outbox only). A default polite body is used if none is given.

  • invoicing_void_invoiceVoid invoicecan change or delete data

    Void an invoice that has no payments applied (e.g. issued against the wrong job). Irreversible; requires a reason.

  • phone_list_callsList callsread-only

    Phone call log, newest first. Use outcome: missed and direction: inbound to find calls that may need a callback.

  • phone_log_callLog call

    Record a call you made or took (e.g. a callback), with outcome and a short summary. No real call is placed.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 8, 2026 (22 days ago)
Last release
Oct 8, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.teamshift-io/sandbox-mcp
Version
0.1.0
Auth
No auth
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

SMB Sandbox MCP server. Agent Mart. https://agentmart.dev/connectors/teamshift-io-sandbox-mcp (last updated 2026-10-24)