<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Feedlio</title>
    <description>The latest articles on DEV Community by Feedlio (@feedlio).</description>
    <link>https://dev.to/feedlio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4197100%2F6d571e0f-a51f-4885-b0be-58f3c4ff02e9.png</url>
      <title>DEV Community: Feedlio</title>
      <link>https://dev.to/feedlio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/feedlio"/>
    <language>en</language>
    <item>
      <title>7 Checks Before Your AI Agent Posts to Social Media</title>
      <dc:creator>Feedlio</dc:creator>
      <pubDate>Tue, 27 Oct 2026 03:00:01 +0000</pubDate>
      <link>https://dev.to/feedlio/7-checks-before-your-ai-agent-posts-to-social-media-4hl5</link>
      <guid>https://dev.to/feedlio/7-checks-before-your-ai-agent-posts-to-social-media-4hl5</guid>
      <description>&lt;p&gt;Letting an AI assistant schedule social posts is easy to demo. You connect an MCP server, type "post this to LinkedIn on Friday at 9", and it works.&lt;/p&gt;

&lt;p&gt;Running it every week for several brands is different. We run our own marketing for three products through Feedlio's MCP server from Claude, and the problems we have hit so far fall into seven gaps. None of them is about the model being "smart enough". They are about the agent missing context that the tools could have given it.&lt;/p&gt;

&lt;p&gt;Here are the seven checks we now build into every workflow, with the Feedlio tool that answers each one. The same ideas apply to any social or publishing API you put behind MCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Which workspace is this for?
&lt;/h2&gt;

&lt;p&gt;If you manage more than one brand or client, the first mistake is posting to the right platform in the wrong brand.&lt;/p&gt;

&lt;p&gt;In Feedlio each brand or client is a workspace, and &lt;code&gt;list_workspaces&lt;/code&gt; returns the ones the signed-in user can reach, with a &lt;code&gt;uid&lt;/code&gt;, a name and a timezone. Make the agent resolve the workspace by name first and pass its &lt;code&gt;uid&lt;/code&gt; to every later call. Never let it fall back to "the default workspace" for a write.&lt;/p&gt;

&lt;p&gt;One more field matters: a workspace with &lt;code&gt;locked_by_plan: true&lt;/code&gt; can't be used until the plan changes, so the agent should stop and say so instead of retrying.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Can this account actually post?
&lt;/h2&gt;

&lt;p&gt;Not every connected account is a publishing account. Some are connected for other features, such as the inbox.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;list_social_accounts&lt;/code&gt; returns each account with a &lt;code&gt;uid&lt;/code&gt;, a &lt;code&gt;platform_slug&lt;/code&gt; and &lt;code&gt;can_post&lt;/code&gt;. Two rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only accounts with &lt;code&gt;can_post: true&lt;/code&gt; go into a create call.&lt;/li&gt;
&lt;li&gt;Pass &lt;code&gt;uid&lt;/code&gt; and &lt;code&gt;platform_slug&lt;/code&gt; exactly as returned. Never guess the slug from the account's display name.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the account the user asked for can't post, the right move is to tell them, not to try another account.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Does this platform need extra fields?
&lt;/h2&gt;

&lt;p&gt;A generic "create post" with text, media and a time covers some networks, not all. Each platform has its own required settings, and if your tool schema has no field for a setting, the model can't provide it, however capable it is.&lt;/p&gt;

&lt;p&gt;Examples from our own use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TikTok&lt;/strong&gt; needs privacy settings and a music-usage confirmation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;YouTube&lt;/strong&gt; needs a title and a category.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn&lt;/strong&gt; doesn't take "Shorts" as such; a vertical video goes out as a normal video post.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Feedlio these per-platform settings are presets in the &lt;code&gt;create_post&lt;/code&gt; schema. When you write prompts or build your own server, make the agent check the target platforms against their required fields before it calls create, and ask the user for anything missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Is the media a public URL?
&lt;/h2&gt;

&lt;p&gt;Pushing large files through tool arguments is fragile and expensive in context. Feedlio's approach is a public URL: &lt;code&gt;add_media_from_url&lt;/code&gt; fetches the file server-side into the workspace's media library, &lt;code&gt;list_media&lt;/code&gt; finds it, and its &lt;code&gt;uid&lt;/code&gt; goes into &lt;code&gt;create_post.media_uids&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Two practical checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import media into the &lt;strong&gt;same workspace&lt;/strong&gt; as the post.&lt;/li&gt;
&lt;li&gt;Confirm the file landed (it appears in &lt;code&gt;list_media&lt;/code&gt;) before scheduling. A post scheduled with missing media fails at publish time, when nobody is watching.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Which timezone is that time in?
&lt;/h2&gt;

&lt;p&gt;"Friday at 9" means nothing to an API. Feedlio's &lt;code&gt;list_posts&lt;/code&gt; returns timestamps in UTC, and each workspace has its own timezone (ours are &lt;code&gt;Asia/Kuala_Lumpur&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;The rule we use: the agent schedules in ISO 8601 UTC, and whenever it shows a time to a person, it converts to the workspace timezone and says which one. That one habit removes most "why did it go out at 1 a.m.?" surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Did the first attempt already work?
&lt;/h2&gt;

&lt;p&gt;Models retry. A create call that times out on the client side may still have succeeded on the server. Retrying blindly creates a duplicate post, and duplicates on a public account are worse than a missed slot.&lt;/p&gt;

&lt;p&gt;Before any retry of a write, have the agent call &lt;code&gt;list_posts&lt;/code&gt; for that workspace (it supports a &lt;code&gt;search&lt;/code&gt; filter) and check whether the post already exists. Only then retry.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Has a person said yes?
&lt;/h2&gt;

&lt;p&gt;Publishing to a public account has side effects you can't fully undo. In our own use the assistant prepares everything (copy, media, platforms and time) and a person reviews it before it is scheduled.&lt;/p&gt;

&lt;p&gt;This check is less about distrusting the model and more about prompt injection. An agent that reads comments, web pages or documents can pick up instructions planted in them. A human confirmation step means a manipulated call stops before it reaches your audience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting it together
&lt;/h2&gt;

&lt;p&gt;Our weekly prompt to the assistant reads roughly like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;For the "ScanSafe Pro" workspace:
1. List workspaces and use that workspace's uid for every call.
2. List social accounts; use only can_post: true accounts.
3. Draft next week's posts from the plan. For TikTok and YouTube,
   list the extra fields each post needs and ask me for missing ones.
4. Import images by public URL and confirm they appear in list_media.
5. Show me every post with its time in the workspace timezone.
6. Schedule only after I approve each one. Before retrying a failed
   call, check list_posts for an existing copy.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;None of this needs a smarter model. It needs tools that expose the right fields and a workflow that uses them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Feedlio publishes to 12 platforms (Facebook, Instagram, LinkedIn, YouTube, TikTok, Threads, Bluesky, Pinterest, Mastodon, Dev.to, Dribbble and Lemmy) and its MCP server works with Claude and ChatGPT. Add &lt;code&gt;https://mcp.feedlio.io/mcp&lt;/code&gt; to your assistant and sign in on Feedlio's own page; MCP access comes with the Standard plan and up, and there is a 7-day free trial.&lt;/p&gt;

&lt;p&gt;It's also listed on the official MCP Registry, Smithery and mcpservers.org.&lt;/p&gt;

&lt;p&gt;Start here: &lt;a href="https://feedlio.io?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=devto-ai-agent-social-posting-checks" rel="noopener noreferrer"&gt;feedlio.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Run Your Social Media From Claude: A Practical Guide to Feedlio's MCP Server</title>
      <dc:creator>Feedlio</dc:creator>
      <pubDate>Wed, 21 Oct 2026 01:37:25 +0000</pubDate>
      <link>https://dev.to/feedlio/run-your-social-media-from-claude-a-practical-guide-to-feedlios-mcp-server-3kca</link>
      <guid>https://dev.to/feedlio/run-your-social-media-from-claude-a-practical-guide-to-feedlios-mcp-server-3kca</guid>
      <description>&lt;p&gt;Most social media tools assume you'll open a dashboard, click through a composer, pick a time and repeat for every network. That works until you're managing several brands, or you've already done the thinking in an AI assistant and just want the post to go out.&lt;/p&gt;

&lt;p&gt;Feedlio's MCP server lets you skip the dashboard. You connect it to an AI assistant that supports the Model Context Protocol, such as Claude, and then you plan, write, schedule and check posts in plain language, in the same conversation where you did the thinking.&lt;/p&gt;

&lt;p&gt;This post explains what that looks like in practice, how to set it up, and where it saves the most time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What MCP is, in one paragraph
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt; is an open standard for connecting AI assistants to external tools and data. An MCP server exposes a set of tools, each with a name, a description and typed inputs, and the assistant decides when to call them based on what you ask. It's the same idea as a plugin, but standardised, so one server works with every assistant that speaks the protocol.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Feedlio's MCP server can do
&lt;/h2&gt;

&lt;p&gt;Feedlio is an AI social media manager that publishes to 12 platforms from one place: Facebook, Instagram, LinkedIn, YouTube, TikTok, Threads, Bluesky, Pinterest, Mastodon, Dev.to, Dribbble and Lemmy. The MCP server exposes the core of that to your assistant:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Workspaces and accounts:&lt;/strong&gt; list your workspaces (one per brand or client) and the social accounts connected to each.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Posts:&lt;/strong&gt; create a post for one or several platforms, publish now or schedule it, then list, reschedule, cancel or delete scheduled posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Media:&lt;/strong&gt; add an image or video to your media library from a URL, list what's there, and attach it to posts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because each workspace is separate, an agency can say "schedule this for the client workspace, LinkedIn and Facebook only" and the assistant picks the right accounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting it up
&lt;/h2&gt;

&lt;p&gt;The server URL is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://mcp.feedlio.io/mcp&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In Claude, add it as a custom connector using that URL, then sign in to your Feedlio account when prompted. The same URL works in other assistants that support remote MCP servers. Feedlio's server is also listed on the official MCP Registry, Smithery and mcpservers.org.&lt;/p&gt;

&lt;p&gt;You'll need a Feedlio account with at least one social account connected in the web app first. Connecting a social network uses that network's own sign-in, which happens in Feedlio's dashboard, not in the chat.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it looks like in practice
&lt;/h2&gt;

&lt;p&gt;Here are the kinds of requests that work well once it's connected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plan and schedule a week:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"We're launching a new feature on Thursday. Draft a LinkedIn post and a shorter Facebook post announcing it, then schedule LinkedIn for Thursday 10:00 and Facebook for 11:00, Kuala Lumpur time."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The assistant writes both drafts, shows them to you, and after you approve, calls the tools to schedule each one on the right account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repurpose something you already wrote:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here's our latest blog post. Turn it into three LinkedIn posts for next Monday, Wednesday and Friday at 9:00, each with a different angle."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Check what's going out:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What's scheduled for the client workspace this week? Move Wednesday's post to Thursday."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Add media:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Add this image URL to the media library and use it on the Thursday post."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The pattern is the same each time: you describe the outcome, review what the assistant proposes, and approve. Nothing is posted until the assistant calls the tool, and good assistants show you the post before they do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it saves the most time
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agencies and multi-brand teams.&lt;/strong&gt; Switching between workspaces in a conversation is faster than switching tabs, and the assistant keeps track of which account is which.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content you already drafted with AI.&lt;/strong&gt; No more copying text from the chat into a composer, platform by platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk changes.&lt;/strong&gt; "Push every post this week back a day" is one sentence, not a dozen clicks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quick checks.&lt;/strong&gt; "Did Tuesday's post go out on all platforms?" gets an answer without opening the dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A few honest limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Connecting a new social account still happens in the Feedlio dashboard, because each network requires its own sign-in flow.&lt;/li&gt;
&lt;li&gt;Image formats matter. Some networks reject certain formats, so PNG or JPG is the safe choice for images.&lt;/li&gt;
&lt;li&gt;The assistant is only as careful as your instructions. Ask it to show you each post before scheduling, and it will.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Create a free account at &lt;a href="https://feedlio.io?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=devto-mcp-guide" rel="noopener noreferrer"&gt;feedlio.io&lt;/a&gt;, connect one social account, then add &lt;code&gt;https://mcp.feedlio.io/mcp&lt;/code&gt; to your assistant and ask it to list your workspaces. If that works, you're set.&lt;/p&gt;

&lt;p&gt;If you're building with MCP yourself, we'd like to hear what you'd want from a social media MCP server. Leave a comment.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>socialmedia</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
