@solumflow-app/crm-mcp-server 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/dist/index.js +836 -576
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -90,10 +90,88 @@ scope the key lacks answers `forbidden` and names the scope it needs.
|
|
|
90
90
|
| `list_api_webhooks` | `shop:manage` | The addresses told about changes, never their signing keys. |
|
|
91
91
|
| `upsert_api_webhook` | `shop:manage` | Make or change one, such as the site's revalidation route; a new one answers its signing key once. |
|
|
92
92
|
| `run_test_order` | `shop:manage`, `cart:write`, `orders:write`, `orders:read` | Cart, postage, order and a payment with Stripe's test card, read back until paid. Only in test mode. |
|
|
93
|
+
| `list_currencies` | `catalog:read` | The currencies the shop sells in, its own first. |
|
|
94
|
+
| `upsert_products` | `catalog:write` | Make or change many products in one call, each known by `source` + `externalRef`. |
|
|
95
|
+
| `set_product_extras` | `catalog:write` | Set what may be taken with a product. |
|
|
96
|
+
| `set_product_options` | `catalog:write` | Set the options with a surcharge on a product. |
|
|
97
|
+
| `delete_product` | `catalog:write` | Delete a product for good. |
|
|
98
|
+
| `delete_field` | `catalog:write` | Take a catalogue field away (to the trash). |
|
|
99
|
+
| `restore_field` | `catalog:write` | Bring a catalogue field back from the trash. |
|
|
100
|
+
| `get_category_by_ref` | `catalog:read` | Find a category by your own reference. |
|
|
101
|
+
| `upload_catalog_file` | `catalog:write` | Upload a picture or a file from disk for a product. |
|
|
102
|
+
| `get_consent_banner` | `website:manage` | Read the cookie banner. |
|
|
103
|
+
| `update_consent_banner` | `website:manage` | Set the cookie banner. |
|
|
104
|
+
| `list_form_definitions` | `forms:manage` | The forms to build, with their status. |
|
|
105
|
+
| `get_form_definition` | `forms:manage` | One form as the builder keeps it: fields, settings, spam settings. |
|
|
106
|
+
| `create_form` | `forms:manage` | Make an empty draft form. |
|
|
107
|
+
| `update_form` | `forms:manage` | Change a form, or publish it. |
|
|
108
|
+
| `get_hosting_order_page` | `hosting-order:manage` | Read the hosting order page. |
|
|
109
|
+
| `update_hosting_order_page` | `hosting-order:manage` | Set up the hosting order page. |
|
|
110
|
+
| `get_order` | `orders:read` | One order by number, id or PaymentIntent: status, lines, totals, the seller's mark and the customer account it made. Never the buyer. |
|
|
111
|
+
| `list_orders` | `orders:read` | The orders, a page by id; `sellerRef` narrows them to those paid through a link with `?ref=<sellerRef>`. |
|
|
112
|
+
| `list_record_lists` | `records:read` | The lists of contacts, companies and own records. |
|
|
113
|
+
| `search_records` | `records:read` | Search the records of one list. |
|
|
114
|
+
| `get_record` | `records:read` | One record with its fields. |
|
|
115
|
+
| `create_record` | `records:write` | Make a record. |
|
|
116
|
+
| `update_record` | `records:write` | Change a record. |
|
|
117
|
+
| `list_tags` | `records:read` | The tags of the account. |
|
|
118
|
+
| `list_notes` | `records:read` | The notes on a record. |
|
|
119
|
+
| `add_note` | `records:write` | Write a note on a record. |
|
|
120
|
+
| `upsert_contact` | `contacts:write` | Add a contact, or find the one already known. |
|
|
121
|
+
| `list_pipelines` | `deals:read` | The pipelines and their stages. |
|
|
122
|
+
| `list_deals` | `deals:read` | Deals, by pipeline, stage or contact. |
|
|
123
|
+
| `get_deal` | `deals:read` | One deal. |
|
|
124
|
+
| `create_deal` | `deals:write` | Make a deal. |
|
|
125
|
+
| `update_deal` | `deals:write` | Change or move a deal. |
|
|
126
|
+
| `list_deal_notes` | `deals:read` | The notes on a deal. |
|
|
127
|
+
| `add_deal_note` | `deals:write` | Write a note on a deal. |
|
|
128
|
+
| `list_tax_rates` | `documents:read` | The VAT rates. |
|
|
129
|
+
| `create_estimate_draft` | `documents:write` | Make a draft estimate. Numbering and sending stay in the app. |
|
|
130
|
+
| `update_estimate_draft` | `documents:write` | Change a draft estimate. |
|
|
131
|
+
| `create_invoice_draft` | `documents:write` | Make a draft invoice. |
|
|
132
|
+
| `update_invoice_draft` | `documents:write` | Change a draft invoice. |
|
|
133
|
+
| `list_payment_pages` | `payment-pages:read` | The payment pages. |
|
|
134
|
+
| `get_payment_page` | `payment-pages:read` | One payment page. |
|
|
135
|
+
| `create_payment_page` | `payment-pages:write` | Make a payment page. |
|
|
136
|
+
| `update_payment_page` | `payment-pages:write` | Change a payment page. |
|
|
137
|
+
| `list_email_templates` | `email-templates:manage` | The e-mail templates. |
|
|
138
|
+
| `get_email_template` | `email-templates:manage` | One e-mail template. |
|
|
139
|
+
| `create_email_template` | `email-templates:manage` | Save a new e-mail template. Never sends one. |
|
|
140
|
+
| `update_email_template` | `email-templates:manage` | Change an e-mail template. |
|
|
141
|
+
| `list_tasks` | `tasks:read` | Tasks outside projects. |
|
|
142
|
+
| `get_task` | `tasks:read` | One task outside a project. |
|
|
143
|
+
| `create_task` | `tasks:write` | Make a task on a contact, a deal or nothing. |
|
|
144
|
+
| `update_task` | `tasks:write` | Change or complete a task. |
|
|
145
|
+
| `list_appointments` | `calendar:read` | Appointments outside projects, in a window of at most 92 days. |
|
|
146
|
+
| `get_appointment` | `calendar:read` | One appointment outside a project. |
|
|
147
|
+
| `upsert_calendar` | `calendar:manage` | Make or change a calendar by its slug: `event`, `round_robin`, or the account's own services calendar. |
|
|
148
|
+
| `set_calendar_availability` | `calendar:manage` | A calendar's weekly hours and its exceptions per date. |
|
|
149
|
+
| `upsert_services` | `calendar:manage` | Up to fifty bookable services by slug; one nobody performs gets the account's owner. |
|
|
150
|
+
| `list_client_accounts` | `clients:manage` | The customer accounts a reseller sold, with their owner and modules. |
|
|
151
|
+
| `get_client_account` | `clients:manage` | One of them. |
|
|
152
|
+
| `create_client_account` | `clients:manage` | A customer account with a workspace of its own and a mail to its owner; the same owner twice makes nothing. |
|
|
153
|
+
| `set_client_modules` | `clients:manage` | The modules a customer account is sold with, within what the reseller may hand out. |
|
|
93
154
|
|
|
94
155
|
Every catalogue tool takes an optional `object`: the slug of another catalogue
|
|
95
156
|
of the account (from `list_catalogs`). Left out, it is the account's own.
|
|
96
157
|
|
|
158
|
+
## Customer accounts for a reseller
|
|
159
|
+
|
|
160
|
+
A key of a reseller with `clients:manage` sets up the accounts it sells:
|
|
161
|
+
`create_client_account`, `set_client_modules`, and for booking
|
|
162
|
+
`upsert_calendar`, `set_calendar_availability` and `upsert_services` through
|
|
163
|
+
that customer's own key. **A key for a customer is never made by a tool**:
|
|
164
|
+
whatever a tool answers lands in the agent's transcript. A script makes it
|
|
165
|
+
with the client package and hands it straight to where it is kept:
|
|
166
|
+
|
|
167
|
+
```ts
|
|
168
|
+
const key = await client.createClientApiKey(clientAccountId, {
|
|
169
|
+
name: 'Website',
|
|
170
|
+
scopes: ['website:manage', 'forms:manage', 'calendar:manage'],
|
|
171
|
+
});
|
|
172
|
+
// key.token exists only here: pass it on, never print it.
|
|
173
|
+
```
|
|
174
|
+
|
|
97
175
|
## After an update
|
|
98
176
|
|
|
99
177
|
An agent keeps the tool definitions it was handed when its session began, and a
|