# Blog2Social - Social Media Publishing (remote · api.blog2social.com)

Connect AI agents to Blog2Social and automate social media content workflows via MCP.

- Trust score: 72/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-06

## Components

- remote · `api.blog2social.com`: 72/100 (this document), [markdown](https://verifymcp.io/servers/adenion-blog2social-api-mcp/api.md), [page](https://verifymcp.io/servers/adenion-blog2social-api-mcp/api)

## Channel facts

- Endpoint: `https://api.blog2social.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-06.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (connections.remove).
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1316 tokens (~131/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 88/100
  - Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 2 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Blog2Social - Social Media Publishing MCP server?

Blog2Social - Social Media Publishing is a hosted endpoint at https://api.blog2social.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http adenion-blog2social-api-mcp 'https://api.blog2social.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "adenion-blog2social-api-mcp": {
      "url": "https://api.blog2social.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "adenion-blog2social-api-mcp": {
      "type": "http",
      "url": "https://api.blog2social.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.adenion-blog2social-api-mcp]
url = "https://api.blog2social.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "adenion-blog2social-api-mcp": {
      "type": "remote",
      "url": "https://api.blog2social.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add adenion-blog2social-api-mcp --url 'https://api.blog2social.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  adenion-blog2social-api-mcp:
    url: "https://api.blog2social.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "adenion-blog2social-api-mcp": {
      "Transport": "http",
      "Url": "https://api.blog2social.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add adenion-blog2social-api-mcp -t streamable-http -u 'https://api.blog2social.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "adenion-blog2social-api-mcp": {
      "type": "http",
      "url": "https://api.blog2social.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-06 (score 72, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-03 (score 69, 0)

- [security] Tool “posts.insights” rewrote its description, which is the text the model reads
- [cosmetic] Tool “posts.insights” changed its title: Retrieve published post performance insights → Retrieve own published post performance insights

### 2026-11-01 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 58 to 61.

### 2026-10-31 (score 68, −2)

- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [security regression] Tool “posts.create” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “account.overview” rewrote its description, which is the text the model reads
- [security] Tool “connections.add” rewrote its description, which is the text the model reads
- [security] Tool “connections.list” rewrote its description, which is the text the model reads
- [security] Tool “connections.remove” rewrote its description, which is the text the model reads
- [security] Tool “credits.balance” rewrote its description, which is the text the model reads
- [security] Tool “networks.list” rewrote its description, which is the text the model reads
- [security] Tool “networks.properties” rewrote its description, which is the text the model reads
- [security] Tool “posts.insights” rewrote its description, which is the text the model reads
- [security] Tool “videos.status” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional] New tool “posts.publish_post”
- [cosmetic] Tool “account.overview” changed its title: Get account usage overview → Retrieve account usage overview
- [cosmetic] Tool “connections.add” changed its title: Start connecting a social account → Connect a social media account
- [cosmetic] Tool “connections.list” changed its title: List connected social accounts → List connected social media accounts
- [cosmetic] Tool “connections.remove” changed its title: Disconnect a connected social account → Disconnect a connected social media account
- [cosmetic] Tool “credits.balance” changed its title: Check the Blog2Social API credit balance → Check available Blog2Social API credits
- [cosmetic] Tool “networks.list” changed its title: List networks available to connect → List available social networks
- [cosmetic] Tool “networks.properties” changed its title: Get posting requirements by network and account type → Get social network publishing requirements
- [cosmetic] Tool “posts.insights” changed its title: Get post performance insights → Retrieve published post performance insights
- [cosmetic] Tool “videos.status” changed its title: Check video post publishing status → Check video publishing status

### 2026-10-30 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67.

### 2026-10-29 (score 69, 0)

- [security] Tool “posts.create” rewrote its description, which is the text the model reads

### 2026-10-28 (score 69, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “posts.create” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 792 → 918
- [functional] New tool “posts.insights”

### 2026-10-27 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57.

## MCP tools (10)

### `networks.list` (~86 tokens)

List available social networks

Use this tool to retrieve the social networks available to the authenticated Blog2Social API user. It returns network IDs and supported account types, including profiles, pages, and groups. Use it before connecting an account or when valid network IDs and account types are required. It does not list connected accounts or start authorization. Use connections.list to retrieve connected accounts and connections.add to start connecting an account.

Output parameters:

- `data` (array)

### `connections.list` (~77 tokens)

List connected social media accounts

Use this tool to retrieve the social media accounts connected to the authenticated Blog2Social user. It returns the network, account type, display name, and client_user_network_id for each connection. Use it to identify the correct connected account before publishing or disconnecting it. It does not list networks available for connection. Use networks.list for that purpose.

Output parameters:

- `data` (array)

### `networks.properties` (~84 tokens)

Get social network publishing requirements

Use this tool to retrieve publishing requirements and capabilities for a specific social network and account type. It returns available publishing formats and restrictions, such as supported media formats, video support, and character limits. Use it before publishing to check whether the requested content is supported. Requirements and capabilities vary by network and account type. This tool does not publish content or guarantee acceptance by the social network.

Output parameters:

- `data` (array)

### `connections.remove` (~89 tokens)

Disconnect a connected social media account

Use this tool only when the user explicitly asks to disconnect a specific connected social media account. It removes the connection identified by client_user_network_id from the authenticated Blog2Social user. This is a destructive action. After disconnection, the account cannot be used for publishing until it is connected again through connections.add.

Input parameters:

- `client_user_network_id` (integer, required): Connected social media account ID returned by connections.list.

Output parameters:

- `data` (object)

### `connections.add` (~161 tokens)

Connect a social media account

Use this tool when the user wants to connect an account on a selected social network. It starts OAuth authorization and returns an auth_link that the user must open and approve. It requires network_id and network_type_id obtained from networks.list. network_type_id 0 means profile, 1 means page, and 2 means group. The connection is not complete until the user finishes authorization. Pinterest also requires an active custom app assigned to the API service.

Input parameters:

- `language` (string): Optional language for the authorization flow, for example en or de.
- `network_id` (integer, required): Social media network ID returned by the networks.list tool.
- `network_type_id` (integer, required): Connection type: 0 = profile, 1 = page, 2 = group.

Output parameters:

- `data` (object)

### `posts.publish_post` (~261 tokens)

Publish a post immediately

Use this tool when the user explicitly asks to publish social media content immediately. It publishes the supplied b2s_posts to the connected social media account identified by client_user_network_id. This action publishes content directly and does not create a draft or schedule a post for later publication.

postFormat must be:
\- 0 for text or link
\- 1 for image
\- 2 for video

Image and video posts require mediaObjects with the matching IMAGE or VIDEO type and a publicly accessible HTTP or HTTPS URL.

Check networks.properties before publishing to verify the requirements for the selected network and account type.

The response can include:
\- publish_url for retrieving post performance insights with posts.insights
\- video_token for checking video publication status with videos.status

Evaluate all returned error fields, including b2s_error_code. Do not automatically retry uncertain publishing operations.

Input parameters:

- `b2s_posts` (array, required): One or more posts to publish to the selected account. Use postFormat 0 for text or links, 1 for images, and 2 for videos; image and video posts require mediaObjects.
- `client_user_network_id` (integer, required): Connected social media account ID returned by connections.list. All posts in b2s_posts are published to this account.

Output parameters:

- `data` (array)

### `posts.insights` (~173 tokens)

Retrieve own published post performance insights

Use this tool when the user asks for performance metrics or analytics for your own published social media post.

It retrieves the latest available performance insights and associated credit information for the specified published post.

It requires the public publish_url returned after a successful posts.publish_post operation. It works only for supported social networks and account types with tracking enabled.

Available metrics depend on the social network, account type, published post, tracking availability, and data returned by the endpoint. Not all metrics are available for every post or network.

Report only metrics actually returned by the server. Do not interpret missing metrics as zero or invent unavailable performance data.

The request may deduct credits according to the account and network pricing. Consider the credit cost before making the request.

Input parameters:

- `post_url` (string, required): Public URL of the published post whose insights should be retrieved.

Output parameters:

- `data` (object)

### `videos.status` (~124 tokens)

Check video publishing status

Use this tool after a video post has been submitted through posts.publish_post and the response contains a video_token.

It checks whether video publication has finished and returns the status for each target account.

Possible statuses:
\- pending
\- failed
\- successful

The response may include a publish_url after successful publication.

Use the video_token returned by posts.publish_post. If the status is pending, check again later. Do not retrieve post insights until successful publication has been confirmed and a publish_url is available.

Input parameters:

- `video_token` (string, required): Video token returned when the video upload was created.

### `credits.balance` (~86 tokens)

Check available Blog2Social API credits

Use this tool to retrieve the current credit balance of the authenticated Blog2Social API account. Use it when the user asks about available credits or before an action that may consume credits, such as publishing or retrieving post insights.

It returns the current available credit balance. It does not provide individual post analytics, account usage statistics, or billing details. Publishing is not possible when the balance is zero.

Output parameters:

- `data` (object)

### `account.overview` (~123 tokens)

Retrieve account usage overview

Use this tool when the user asks for an account-level overview of Blog2Social API credit usage.

It returns the current credit balance and aggregated usage totals grouped by day, endpoint, and social network.

The optional days parameter must be an integer between 1 and 30. If omitted, the endpoint default applies.

The results describe aggregated account usage. They do not provide performance metrics or analytics for individual published social media posts. Use posts.insights for individual post performance.

Input parameters:

- `days` (integer): Number of calendar days to include, from 1 to 30.

Output parameters:

- `data` (object)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/adenion-blog2social-api-mcp/api#diagnostics

## Score history

- 2026-11-06: 72
- 2026-11-05: 69
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 69
- 2026-11-01: 69
- 2026-10-31: 68
- 2026-10-30: 70
- 2026-10-29: 69
- 2026-10-28: 69
- 2026-10-27: 69
- 2026-10-26: 68
- 2026-10-25: 68
- 2026-10-24: 67
- 2026-10-23: 67
- 2026-10-22: 66
- 2026-10-21: 66
- 2026-10-20: 65
- 2026-10-19: 65
- 2026-10-18: 65
- 2026-10-17: 64
- 2026-10-16: 64
- 2026-10-15: 63
- 2026-10-14: 63
- 2026-10-13: 62
- 2026-10-12: 62
- 2026-10-10: 61
- 2026-10-07: 61
- 2026-10-05: 62
- 2026-10-04: 62

## Common questions

### What is the Blog2Social - Social Media Publishing MCP server?

Blog2Social - Social Media Publishing is an MCP server listed in the public MCP registry as io.github.Adenion/blog2social-api-mcp. Connect AI agents to Blog2Social and automate social media content workflows via MCP. This page covers its hosted endpoint (https://api.blog2social.com/mcp).

### Is the Blog2Social - Social Media Publishing MCP server safe to use?

Blog2Social - Social Media Publishing scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Blog2Social - Social Media Publishing MCP server expose?

Blog2Social - Social Media Publishing exposes 10 tools: networks.list, connections.list, networks.properties, connections.remove, connections.add, and 5 more. Their descriptions and schemas cost roughly 1,264 tokens of context every time the server is loaded.

### Does the Blog2Social - Social Media Publishing MCP server require authentication?

No. We connected to Blog2Social - Social Media Publishing without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Blog2Social - Social Media Publishing MCP server still maintained?

Blog2Social - Social Media Publishing is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Blog2Social - Social Media Publishing MCP server?

VerifyMCP ran 12 checks on Blog2Social - Social Media Publishing, covering TLS certificate, Authorization, HSTS header, DNSSEC and 8 more. One item could not be completed, a gap on our side rather than a finding about Blog2Social - Social Media Publishing: HTTPS. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://api.blog2social.com/mcp
- Repository: https://github.com/Adenion/blog2social-api-mcp
- Website: https://www.blog2social.com/
- Changelog RSS feed: https://verifymcp.io/servers/adenion-blog2social-api-mcp/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/adenion-blog2social-api-mcp/api/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/adenion-blog2social-api-mcp/api.json
- HTML version of this page: https://verifymcp.io/servers/adenion-blog2social-api-mcp/api
