Glasshouse
A dashboard, privacy controls and Home Assistant bridge for rooted LG webOS TVs.
An MCP server that lets Claude, Codex and other AI agents publish posts with images and video to LinkedIn, X and other social networks.
Developer toolsTypeScript · JavaScriptGitHub @stimQQOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
MCP server and Claude Code / Codex plugin for SparkShare: publish to LinkedIn and X from your AI agent
Taken from the repository README
Loading the full README.
Read the full README ↗MCP server for SparkShare: let Claude Code, Codex, Claude Desktop and other AI agents publish text, images and video to your LinkedIn profile, and queue posts for X that the SparkShare Chrome extension fills in for you. Facebook Pages and Instagram follow once Meta has approved SparkShare.
Your agent writes the post; SparkShare publishes it. The agent shows you the exact text for each platform and publishes only after you say yes.
npx -y sparkshare-mcp login
Your browser opens SparkShare; sign in with Google if asked and click Authorize (OAuth 2.1 with
PKCE). A key is saved in ~/.sparkshare/credentials.json and every MCP client on this computer finds
it, including desktop apps that do not see your shell's environment variables. Nothing to copy or
paste; signing in again replaces this computer's previous key. Without a browser use --no-browser
(prints the link) or --paste (paste a key created in the dashboard).claude mcp add sparkshare -- npx -y sparkshare-mcp
or install the plugin, which also brings a skill with the publishing rules:
/plugin marketplace add stimQQ/sparkshare-mcp then /plugin install sparkshare@sparksharecodex mcp add sparkshare -- npx -y sparkshare-mcp
or the plugin: codex plugin marketplace add stimQQ/sparkshare-mcp then codex plugin add sparkshare@sparkshare{ "mcpServers": { "sparkshare": { "command": "npx", "args": ["-y", "sparkshare-mcp"] } } }
Then ask in plain words: "Write a LinkedIn post about this release and share the screenshot on Instagram and X."
| Tool | What it does |
|---|---|
list_accounts | The accounts you can post to, with their ids. x is always there. |
publish_post | Publish one post (text, optional images or video from local paths, https URLs or upload ids, optional link) to some accounts, with optional per-account text. Every target is checked first; if any has a problem, nothing is published. |
upload_media | Upload one image or video ahead of time and get its id; use it for videos so no single call runs long. |
get_media | Whether an uploaded file is ready (videos are processed for a minute or two after uploading). |
get_post | Status and links of a post, e.g. while a platform is still processing a video. |
recent_posts | Your latest posts, so a failed call can be checked before retrying. |
X's API charges per post, so SparkShare does not post to X for you. The post waits in the SparkShare
Chrome extension: click it, choose Fill on X, and X's composer opens with the text, images and video
in place; you check it and press Post. Without the extension, publish_post also returns a link that
opens X with the text only.
sparkshare-mcp run the MCP server on stdio
sparkshare-mcp login authorize in the browser (--no-browser | --paste | --stdin)
sparkshare-mcp status show which account the saved key belongs to
sparkshare-mcp logout delete the saved key
Environment: SPARKSHARE_API_KEY (a sk_live_u_… key, used before the saved key),
SPARKSHARE_CREDENTIALS_FILE, SPARKSHARE_URL (site URL; for local development http://localhost:3031).
pnpm install && pnpm build
# against a local SparkShare (PUBLISH_DRY_RUN=true) on a local backend-hub, see ../README.md:
SPARKSHARE_URL=http://localhost:3031 pnpm smoke
This folder is part of the SparkShare repository (the site lives next to it in web/). The smoke
test creates the dev user with ../web/scripts/dev-seed.ts, drives every tool, runs
sparkshare-mcp login against the real sign-in (approving on the site the way a browser would) and
deletes the dev user at the end.