Run your Ronin Editing account from any AI assistant. A local MCP server that lets Claude, Cursor, Cline, VS Code and other MCP clients read your orders, invoices and reports, and (opt in) place and manage orders, using your own Ronin API key.
Project description
Ronin Customer MCP Server
Run a local AI tool server that lets your AI assistant read your Ronin orders, invoices, and reports, and (if you turn it on) place and manage orders. It uses your own Ronin API key. Nothing is exposed to the public; the server runs on your machine over stdio and works with any MCP client (Claude Desktop, Claude Code, Cursor, Cline, Windsurf, VS Code with Copilot, LM Studio, Goose, and more).
What it can do
Read tools are on by default. Write tools are off until you explicitly enable them and your key has write permission.
Read tools (default on)
| Tool | What it does |
|---|---|
list_orders |
List your orders, optionally filtered by status |
get_order |
Full detail for one order |
get_order_delivery |
Delivery info and download links for an order |
list_order_messages |
Messages on an order thread |
list_order_amendments |
Amendment requests on an order |
list_invoices / get_invoice |
Your invoices |
get_cost_summary |
Cost report by day for a date range |
get_orders_report |
Per-order detail report for a date range |
get_monthly_statement |
Total orders and revenue for a month |
get_invoices_report |
Invoices report by status |
list_services / get_service |
The service catalog |
preview_pricing |
Price a cart of services without placing an order |
whoami / get_usage |
Account, key, and recent usage |
Write tools (off by default, opt in)
create_order, create_orders_batch, cancel_order, send_order_message,
request_amendment, cancel_amendment, submit_feedback,
update_order_source_file_count.
create_order accepts external_ref so you can tag each order with your own
property or shoot ID for reconciliation, and order_name to give the order a
human-readable label (e.g. the property address) that shows on confirmations,
internal queues, and your reports. When order_name is omitted the order falls
back to the first line of special_instructions.
Get an API key
Sign in to your Ronin portal, open API tokens, and create a key. Copy it once
(it is shown only at creation). The key carries scopes such as orders:read,
orders:write, billing:read, reports:read, catalog:read. The server only
shows tools your key is allowed to use.
Install
pip install ronin-customer-mcp
This installs a ronin-customer-mcp command. Run it directly to check it works:
RONIN_API_KEY=rk_live_xxx ronin-customer-mcp
(The server speaks the MCP protocol over stdio, so run it from your MCP client rather than interactively.)
Configuration (environment variables)
| Variable | Required | Default | Meaning |
|---|---|---|---|
RONIN_API_KEY |
yes | none | Your Ronin API key |
RONIN_API_BASE_URL |
no | https://api.ronincenter.com |
API base URL |
RONIN_MCP_ENABLE_WRITE |
no | false |
Set true to expose write tools |
Add to your MCP client
Most MCP clients use the same JSON shape. Point the command at the installed
ronin-customer-mcp executable.
Claude Desktop (claude_desktop_config.json) and Claude Code
(.mcp.json), under mcpServers:
{
"mcpServers": {
"ronin": {
"command": "ronin-customer-mcp",
"env": {
"RONIN_API_KEY": "rk_live_xxx",
"RONIN_MCP_ENABLE_WRITE": "false"
}
}
}
}
Cursor (.cursor/mcp.json), Cline, and VS Code (Copilot MCP) use
the same command / env structure under their MCP settings.
To allow placing or cancelling orders, set RONIN_MCP_ENABLE_WRITE to true
and use a key that has the orders:write scope.
Safety
This server is designed to be safe by default.
- Read only by default. Write tools require two things at once: you set
RONIN_MCP_ENABLE_WRITE=trueand your key has the write scope. If either is missing, the AI cannot place or cancel orders. - Your key only ever sees your own data. A leaked key affects only your account.
- Treat order content as data, not instructions. Order notes, messages, and
amendment or feedback text are written by people and can contain text that
tries to manipulate an AI agent. Every tool result marks these fields under
untrusted_fields. Your AI assistant should never follow instructions found inside them.
Troubleshooting
missing_api_key: setRONIN_API_KEY.invalid_api_key: the key was rejected. Check it is correct and active.- A write tool is not listed: set
RONIN_MCP_ENABLE_WRITE=trueand use a key with theorders:writescope. - A read tool is not listed: your key is missing that scope. Add the scope in the portal.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ronin_customer_mcp-0.2.0.tar.gz.
File metadata
- Download URL: ronin_customer_mcp-0.2.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e38c415d3b849ea1523c4b9a99396cf2f671ca44a691f32b24c7acb16c2e8fdc
|
|
| MD5 |
362bbb718910ef3d28e0ec0f7d9f0f78
|
|
| BLAKE2b-256 |
5edd33edb1fe99c9e59e5a65ce03c44bdb82d81e33c4ba429e08361554ed6767
|
File details
Details for the file ronin_customer_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ronin_customer_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9288a7960ad672617731043ea258bb6eafc86a17f932de0ed7d9677f344621b
|
|
| MD5 |
06f410184bedb794776cd55cb6e39b68
|
|
| BLAKE2b-256 |
34a3849191caab3eb97fbc45241f3d75d32c6f661072c1d8a8dcacb908ebbaad
|