DEV Community

Eric H
Eric H

Posted on

One MCP server for every social network, and why we built our own

I wanted one MCP server that could post to Telegram, Discord, Facebook (profiles and groups, not just Pages), Instagram, X, WhatsApp and SoundCloud - and that would not lie about what it did.

What I found: the existing ones are either hosted (your accounts behind their OAuth) or Pages-only. So I built CHC SOCIAL.

Ten drivers behind one registry. Each driver declares its capabilities, and the registry refuses impossible asks out loud instead of failing silently. If a network cannot delete, it says so as data, not as a traceback.

Where there is no usable API, the browser does it. Facebook profiles and Groups have no Graph path, so the driver does what a human does: click the composer, type, click Post - and report every step it took, so a failure names the step instead of pretending.

The learning layer. For a site with no API it probes the live DOM, scores candidate selectors, stores a versioned recipe, and leaves it verified: false. It only becomes true when a real post comes back clean. A tool that lies about a post is worse than no tool.

Receipts. Every action appends to a signed, append-only chain. "Did it post?" is a receipt, not a vibe.

Honest limits, because they matter more than the feature list:

  • No live post has been proven against a real account yet - I have no credentials in the open.
  • Browser drivers break when a site changes layout.
  • The SoundCloud upload is implemented against the documented endpoint but untested live.

61 checks ship with the code. Source is public, licence is restrictive: read it, run it, do not repackage it.

Repo: https://github.com/CHCDOLADEEPSEEKMKSEC/chc-social

Top comments (0)