The request starts where the employee already works.
Claude is AI and can make mistakes. Please double-check responses.
Simple to ask, sensitive to execute. Here is the same request seen from the assistant, from the tool that ran, and from the system that changed.
“Check our fulfillment system for the longest-waiting order stuck in packing.
If its shipping label failed, move it to manual review.”
The request starts where the employee already works.
Claude is AI and can make mistakes. Please double-check responses.
Kitted runs the handler and records the call.
update_packing_statusadad920e
Konradupdate_packing_statuseec12717update_packing_status5b7c1d43update_packing_status0a94f8e2update_packing_statusc31e07ab
Konradupdate_packing_status8d2b64f0update_packing_statusClaudefor
Konradupdate_packing_statusChatGPTforAAliceupdate_packing_statusBedrock agentforMMarcusupdate_packing_statusClaudeforAAliceupdate_packing_statusChatGPTfor
Konradupdate_packing_statusBedrock agentforMMarcusThe order moves, in the system that already owns it.
The assistant decided what to call. Kitted decided what that call was allowed to do. Your system of record did the work, as it already does for everything else.
Claude, ChatGPT, an internal agent, or a cron job with no chat at all. The client discovers the tool over MCP and calls it with typed arguments.
A fresh sandbox, the workspace's credentials injected at run time, and a run record that keeps both the agent that called and the person behind the request.
The WMS, the ERP, the CRM. Kitted holds no copy of your data and reaches only the hosts that tool was granted.
Teams arrive with one of these three. Most of them stay for all three, because it is the same tool and the same run record either way.
The check your team runs by hand every morning becomes one tool with a typed input, called by whoever needs it and by the schedule that needs it at 6am.
You already wrote the client for the WMS. Wrap it once and it answers over MCP and HTTP, so a second agent platform costs you a grant instead of a rewrite.
Which tools exist, what each one can reach, who called it and when. One catalog instead of a survey of everyone's laptop.
The same answers whether the call starts in an assistant, a scheduled job, or one of your own services.
No. The same deployed tool is available over MCP and a plain HTTP endpoint. Claude, ChatGPT, a scheduled job, an internal agent, or one of your own services can all reach the same execution path, with grants applied to each caller.
No. Build the tool once. Kitted serves its live contract over MCP, HTTP, and OpenAPI, while grants decide which tools each user, client, or service can discover and call.
Either. The tool contract marks an action as read or write and can require approval before a write runs. Grants control who can call it; declared credentials, connections, and egress policy control what it can reach. Keeping sensitive actions in separate tools makes each boundary easier to review and revoke.
Kitted creates a fresh sandbox for that invocation, injects only the declared configuration and credentials, captures its logs and egress, then destroys the sandbox. The run records the exact build, outcome, timings, client, and person behind the request.
No. Your WMS, ERP, CRM, or other system remains the system of record; the tool calls the API or client you already use. Kitted keeps the run metadata needed for audit and debugging, with payload capture and retention controlled by workspace policy, rather than becoming a second operational database.
Yes. Source is always downloadable, and each capability is an ordinary Node or Python project with dependencies declared in package.json and a lockfile, or in requirements.txt or pyproject.toml. Supply the same environment variables and run it on your laptop, in CI, or on infrastructure you operate. The code imports no proprietary Kitted runtime.
The tool behind it is usually a hundred lines against a system you already have a client for. The rest is what Kitted is for.
Start with the integration you already maintain.
Start building