Context
I wanted to import and update CRM data (companies, contacts, notes) myself, instead of waiting for email sync to populate it. The supported route is @macro/sdk, but I couldn't find any way to create a MACRO_API_KEY in my account, and IssueBotCredentia only reveals its secret through a UI card — so the SDK's auth wasn't usable for me.
The workaround
So I built a small single-file Python CLI as an experiment. It stitches together two things:
- the MCP server tools (search / read / docs / tool discovery), and
- the cloud-storage HTTP endpoints for the CRM writes + doc create that MCP doesn't expose.
For auth it just reuses the OAuth token mcp-remote already caches after a normal MCP login.
I made this as a workaround, not a clean solution. I combined whatever endpoints I could reach. Ideally it'd be done properly, and I'd understand if you'd rather port it to Rust/TS or fold the CRM side into the SDK.
Concrete questions for you:
- How would you want the professional version of this to look?
- Is there a supported way to get an API key or a headless bot token that I'm missing?
Happy to share the code if it's useful.
Context
I wanted to import and update CRM data (companies, contacts, notes) myself, instead of waiting for email sync to populate it. The supported route is @macro/sdk, but I couldn't find any way to create a MACRO_API_KEY in my account, and IssueBotCredentia only reveals its secret through a UI card — so the SDK's auth wasn't usable for me.
The workaround
So I built a small single-file Python CLI as an experiment. It stitches together two things:
For auth it just reuses the OAuth token mcp-remote already caches after a normal MCP login.
I made this as a workaround, not a clean solution. I combined whatever endpoints I could reach. Ideally it'd be done properly, and I'd understand if you'd rather port it to Rust/TS or fold the CRM side into the SDK.
Concrete questions for you:
Happy to share the code if it's useful.