influence-mcpBLOCK
Plan social media campaigns, review posts, schedule approved publishing and read saved Insights through the Influence MCP connector.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Influence is a social media management tool for planning campaigns, writing posts and scheduling content across your connected accounts. Its hosted MCP server lets compatible AI assistants use your saved brand voice to prepare drafts, schedule approved posts and read saved results in Insights. Review the exact post and attached media before approving publication or a schedule change.
Website · How it works · ChatGPT guide · Support
This repository contains customer connection settings and instructions for the hosted service. The Influence application, backend, provider integrations and customer data are maintained separately.
What you can do
f6fb30b57eb4OBSERVED · 2026-10-14Install
Commands as the repository documents them. They are shown, not run.
git clone https://github.com/influence-so/influence-mcp influence
claude mcp add --transport http --scope user influence https://influence.so/api/mcp/claude --header 'Authorization: Bearer ${INFLUENCEHost compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| cursor | mentioned | |
| gemini-cli | mentioned | |
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: influence
description: Find saved workspace sources, plan campaigns, prepare editable drafts, review media and schedule approved posts across connected social accounts, including WhatsApp Business. Read delivery status and saved account-post Insights through Influence’s hosted MCP using your own account and scoped access.
metadata:
openclaw:
homepage: https://influence.so
---
# Influence
Use the tools visible to this connection. Never request a secret in chat or place a credential in a URL, post, or tool argument. Server-issued confirmation and quote capabilities belong only in their designated confirmation arguments; do not repeat them in prose or other inputs.
## Identify and check a connection
Use profileGet to identify the Influence account and workspace authorized by the current connection. Use accountList to list that workspace’s connected social and messaging accounts. These are separate identities; an Influence profile is not a social account. Preserve the selected connection when more than one is available, and resolve ambiguous destination accounts with the user.
Use connectionStatusGet when checking access or diagnosing a connection problem. It reports the current credential’s permissions, expiry and historical account read. OAuth token expiry is separate from the connection’s absolute grant expiry: an access token can expire while a renewable grant remains active. Callback class describes the OAuth registration, not a verified client name. The server cannot see whether this conversation has loaded its tools.
If a tool is missing but an authenticated read works, use the same client’s native tool refresh or plugin update once, if that control is available. Do not invent a refresh control or assume an app restart repairs discovery. Reconnect through the same client only when it requests authentication or the required permission is absent. If tools remain missing, report the affected client, endpoint and visible tool names; do not repeat reconnects or revoke a working grant to repair discovery. A successful read through another connector does not verify the affected connection. Complete unavailable features in Influence. Downloading a new plugin or skill package does not update an existing installation.
Reviews, image quotes and ad-review quotes return expiresAtIso. Display that exact UTC expiry; add a local time only when a reliable date/time tool verifies the conversion. Do not infer a later expiry from a displayed local time or extend an expired review or quote.
## One composition, from idea to publication
1. Use accountList to identify eligible social and messaging accounts, including each account's supportsText/supportsImage/supportsVideo. Eligibility uses reviewed native text, image or video capabilities, active connections and current provider readiness; landing-page logos do not guarantee a supported post type. Follow bounded pagination when needed; resolve ambiguous account names with the user. Read integrationSchema for the selected platform's publishing rules and required settings, supplying its connectionId for verified instance/account limits. Use the matching individually named provider tool, such as pinterestBoardList or redditSubredditSearch, with the accountList connectionId to discover exact destination IDs. Pass the tool's explicit word, subreddit, q or companyId field when required; never use a method selector. Follow items/done/nextCursor with the same tool, connection and search fields; restart if choices or the connection revision change. Ask the user to choose an ambiguous destination. Never guess settings or identifiers or silently shorten content.
2. Create one campaign with campaignDraftSave and selected destinations. For a new campaign, omit campaignId and use expectedVersion: 0; the server assigns its ID. Keep the returned campaignId. Before editing, read campaignGet and send that ID with its current version and only changed fields. Supplied settings replace that destination's settings completely: include every required setting and any optional settings to retain, omitting server-owned __type. This can switch a Discourse topic to a reply or remove a Ghost newsletter for site-only publication. Omitted media/image, settings, and other destinations stay intact. Use media: [] to remove all attached media; image: null or video: null removes only that media kind. Supply media, image or video, never more than one. On a version conflict, reload and reconcile with the user instead of overwriting.
3. For media, call mediaList with kind: all, image or video to find ready owned formats. Omitting kind keeps the established JPEG/PNG image list. Send an ordered media array of assetId and optional altText, up to 20 per destination within integrationSchema limits; use image for one ready JPEG/PNG or video for one verified MP4. Those single references retain their media kind; ordered references derive it from the library. The server owns media kind, dimensions, duration and file type. Preserve the intended order and use meaningful alt text only where supported. Use mediaGet to inspect JPEG/PNG pixels in compatible clients; other image formats and videos are inspected in signed-in Influence. Every image/video requires human visual publishing approval. For new images, use the import workflow below when available; otherwise give the authenticated Influence uploadPath and resume with its ready asset. Never invent asset IDs or claim an import succeeded without its returned owned asset ID.
4. Resolve the intended date, local time and IANA timezone. Ask about ambiguous daylight-saving times or unclear dates. Pass the resolved UTC instant for a schedule; do not silently choose an offset. Request campaignReview for the current campaign version and exact intent. Confirm review preparation with the same input; this does not approve or execute publication. Once it returns a reviewId, call campaignReviewGet once when available to display the exact review; oTrust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (6)
Use the tools visible to this connection. Reconnect with the corresponding permission when the server reports a missing scope. This profile has a fixed tool inventory; complete destination and messagi
5. Show the complete server-derived review: action, destination accounts, exact text, settings and resolved time/timezone. For text posts, ask the user to reply "approved" after seeing that review. Wa
Use the tools visible to this connection. Never request a secret in chat or place a credential in a URL, post, or tool argument. Server-issued confirmation and quote capabilities belong only in their
5. Show the complete server-derived review: action, destination accounts, exact text, settings and resolved time/timezone. A successful campaignReviewGet makes the review ready; do not infer that its
Use the tools visible to this connection. Never request a secret in chat or place a credential in a URL, post, or tool argument. Server-issued confirmation and quote capabilities belong only in their
The [developer guide](https://influence.so/for/developers) includes a Node.js example that lists your connected social accounts using the MCP SDK and a read-only API key.
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
f6fb30b57eb4full audit observations/trust-audit/skill/influence-so__influence-mcp.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | f6fb30b57eb4 | BLOCK | D | 69 | first audit |
Questions
What does the influence-mcp skill do?
Plan social media campaigns, review posts, schedule approved publishing and read saved Insights through the Influence MCP connector.
Is influence-mcp safe to install?
No — not without reading the findings first. The audit graded it D (69/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can influence-mcp access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does influence-mcp work with?
Its documentation mentions claude-code, cursor, gemini-cli and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (f6fb30b57eb4), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.