# For AI agents > Markdown version of https://postlake.dev/use-cases/ai-agents . The canonical page for humans. > PostLake is the social media API for AI agents: https://postlake.dev/llms.txt The case PostLake was built for. An agent that can write a post but cannot publish it is only half an agent. ## The problem An agent cannot ask for help. When a post fails at three in the morning there is nobody to squint at the error, remember that TikTok will not take text on its own, or work out that the image was two pixels too tall. It either succeeds alone or it fails quietly, and you find out from your audience. ## What PostLake does about it ### One shape to reason over Every network answers identically, so the agent holds one mental model rather than nine. No per-platform branch, no adapter of your own. ### A retry that cannot double-post Agents retry. That is what they do when a call times out. An idempotency key means the same post going out twice is not possible, rather than merely unlikely. ### Errors it can act on Every failure carries a stable code, the field at fault and the fix in plain words. The agent corrects itself and continues instead of stopping and waiting for a person. ### The rules before it tries It can ask what a network requires and be told, rather than learning from a rejection. Listing channels returns what each one needs to publish. ### Limits you set Which brands it may post from, which networks it may reach, how much it may do in a day, and whether it may spend credits you bought up front. It authorises over OAuth, so your key is never pasted into a chat or seen by the model, and one click takes access back. ## How it fits together Connect the hosted MCP server to Claude, Cursor, ChatGPT or your own framework. The agent gets tools, not documentation. Or call plain REST if you are building the loop yourself. ## Common questions **Can an AI agent post to social media?** Yes. Connect PostLake's hosted MCP server to your assistant and it can publish, schedule, read comments and pull analytics. Connecting an account still needs a person to approve access on the network's own screen, which nothing can automate, but the agent can hand them a signed link to do it. **How do I stop an agent going rogue?** Set its limits before you let it run: allowed brands, allowed networks, a daily cap, and whether it may spend purchased credits. The cap applies to that agent alone, not to your account, so one agent being restricted does not restrict you. **Does the model see my API key?** No. Agents authorise over OAuth, so the key is never pasted into a chat window and never enters the model's context. Every agent you have approved is listed in your dashboard and can be revoked in one click.