Loops MCP Integration for Codex
Connect Loops to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Loops to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
Loops MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"mcpServers": {
"kosmokrator-loops": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=loops",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=loops --write=deny Why Use KosmoKrator Here
Expose only Loops instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Loops Tools Visible to Codex
Codex sees stable MCP tool names generated from the Loops integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__loops__loops_list_contacts | loops.loops_list_contacts | Read | List contacts from Loops with pagination. Returns contact records including email, name, and custom properties. |
integration__loops__loops_get_contact | loops.loops_get_contact | Read | Get a single contact from Loops by their unique contact ID. Returns full contact details including email, name, and custom properties. |
integration__loops__loops_create_contact | loops.loops_create_contact | Write | Create a new contact in Loops. Requires an email address. Optionally include first and last name. |
integration__loops__loops_update_contact | loops.loops_update_contact | Write | Update an existing contact in Loops. Provide the contact ID and the fields to update (e.g., email, first_name, last_name, or custom properties). |
integration__loops__loops_send_event | loops.loops_send_event | Write | Send a custom event to Loops for a contact identified by email. Events can trigger automations and loops in your Loops account. |
integration__loops__loops_get_current_user | loops.loops_get_current_user | Read | Get the currently authenticated Loops user. Use this to verify the API connection and see account details. |