Ask your agency anything, from your AI agent
ROWANe runs an MCP server. Connect Claude, Cursor or any MCP client and ask what's at risk, what you promised a client, or which retainers are about to run out. With writes turned on, it can also log your time and work through client requests. It acts as you, with exactly the access you already have.
Things to ask
- “Which retainers are going to blow this month?”
- “What did we promise Acme, and is any of it at risk?”
- “What's at risk across our projects this week?”
- “Log 90 minutes on AC-12: homepage copy revisions.”
- “Which client requests need review? Send the Acme logo one back, it's the wrong format.”
- “Create a task for the Acme launch checklist and assign it to Priya.”
Set it up in two minutes
- In ROWANe, open Settings → Integrations → MCP and create a key. Pick the modules it may read. Leave writes off unless you want the agent to change things. The key is shown once, with the exact commands below already filled in.
- Add the server to your client.
- Claude Code
claude mcp add --transport http rowane https://rowane.app/api/mcp \ --header "Authorization: Bearer rwn_mcp_…"- Claude Desktop, Cursor and other clients (mcp.json)
{ "mcpServers": { "rowane": { "type": "http", "url": "https://rowane.app/api/mcp", "headers": { "Authorization": "Bearer rwn_mcp_…" } } } }
The endpoint speaks Streamable HTTP over POST, using JSON-RPC 2.0.
What keeps it safe
- Never wider than you
- Every request is checked against your current permissions, your key's module list and your organization's MCP policy. If you lose access to a client, the agent loses it on its next request.
- Read-only by default
- Writes need the key, the organization policy and your own task permissions to all say yes. Money is never writable: budgets, rates and invoices change only in the app.
- Everything is on the record
- Every tool call and every change is written to your organization's audit log against the key that made it.
- Owners stay in control
- Owners can turn MCP off org-wide, limit the modules, restrict keys to IP addresses and revoke any key. Revocation takes effect on the next request.
- Client text stays data
- Text written by clients is marked as untrusted before your agent sees it, so instructions hidden in a request can't pass as yours.
- Some things stay human
- Accepting files a client uploaded, and anything touching money, happen in the app.
Tools
A key is only offered the tools its modules allow. The rest don't exist for it.
- Work · needs Tasks
my_work— What's on your plate, by urgencysearch_tasks / get_task— Find and read taskslist_task_statuses— The columns a task can move tofind_members— Look up a teammate to assign work to
- Sprints · needs Sprints
list_series / list_sprints / get_sprint_status— Sprint progress
- Clients & promises · needs Clients
list_clients / get_client— Clients you're staffed onlist_commitments— What you promised each client, and whether it's at risklist_client_requests— Requests raised by clients, and answers waiting for review
- Projects & docs · needs Projects / Documents
list_projects / get_project— Projects and their statelist_documents / list_folders / get_document— The file library
- Money · needs Expenses
list_budgets / get_budget_burn— Retainer and budget burn, this period
- Delivery risk · needs Intelligence
get_delivery_risks— Open risk cases, including missed and at-risk commitmentstrigger_delivery_scan— Re-scan a project or client now
- Writes (only on a key with writes turned on) · needs Tasks, plus Clients for triage
create_task / update_task / set_task_status— Change workadd_task_comment— Comment (internal unless you ask to share it)log_work— Log your own time on a tasktriage_client_request— Resolve, decline, send back or cancel a client request
ROWANe is currently invite-only; join the waitlist to get access.