# SocialHive

> Social media management, multi-platform publishing, AI generation, and cross-channel analytics.

- name: pro.socialhive/platform
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/pro.socialhive%2Fplatform
- tools: https://api.protogrid.dev/v1/servers/pro.socialhive%2Fplatform/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "platform": {
      "type": "http",
      "url": "https://platform.socialhive.pro/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-27d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list carries no ttlMs, so clients re-fetch it

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 24 of 24 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,641 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 14 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 24, about 3,641 tokens to load them all
- tool set hash: 42467d428816700c3108e7d088af8dd6
- tools last changed: 2026-10-16T18:37:12.332Z
- badge: [![protogrid quality](https://protogrid.dev/badge/pro.socialhive/platform.svg)](https://protogrid.dev/servers/pro.socialhive/platform)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `publish_article` added
  - Publish (or send as a draft) an article from the workspace library to one or more connected sites. Get site ids from list_connected_sites and article ids from list_articles or create_article. The article must have a body. Publishing again updates the existing post on that site.
- 2026-10-16 `list_connected_sites` added
  - List the websites connected to this workspace for article publishing (SocialHive blog, WordPress, Ghost, Dev.to, ...). Use an id from here as destinationIds in publish_article.
- 2026-10-11 `schedule_post` changed (annotations)
- 2026-10-11 `create_post` changed (annotations)
- 2026-10-10 `publish_post` added
  - Publish an existing draft now (queues it immediately). Approval policy still applies — the post may land in pending_approval instead.
- 2026-10-10 `schedule_post` changed (inputSchema)
- 2026-10-10 `upload_media` added
  - Upload an image, video, or PDF directly using base64 data (or data URI) into the workspace media library and return its asset id (to attach with create_post.mediaIds).
- 2026-10-10 `import_media` added
  - Import an image or video from an external public URL into the workspace media library and return its asset id (to attach with create_post.mediaIds).
- 2026-10-10 `adapt_post` changed (description, inputSchema)
  - before: Rewrite existing copy for another platform's length, tone and conventions. Metered.
  - after: Rewrite existing copy for another platform's length, tone and conventions. Supports adapting to LinkedIn, X, and other networks. Metered.
- 2026-10-03 `publish_post` removed
  - Publish an existing draft now (queues it immediately). Approval policy still applies — the post may land in pending_approval instead.

Full history: https://api.protogrid.dev/v1/servers/pro.socialhive%2Fplatform/changes

## Remotes

- https://platform.socialhive.pro/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (24)

- `adapt_post`: Rewrite existing copy for another platform's length, tone and conventions. Supports adapting to LinkedIn, X, and other networks. Metered.
- `create_article`: Save a long-form article or blog post (e.g. generated by ChatGPT, Claude, or an LLM) into the workspace article library. Quota: maximum 10 articles per month via MCP. Can be linked into syndication workflows or published to CMS targets.
- `create_post`: Create and optionally publish a post for LinkedIn, X, Instagram, Facebook, YouTube, TikTok, etc. Supports post copy text, image attachments (Base64 data or URLs), and video. When publishNow is true, the post is published immediately to the social accounts (available to admin-approved users). Without publishNow or scheduledAt, it is saved as a draft.
- `generate_image`: Generate an image into the media library and return its asset id (attach with create_post.mediaIds). quality 'free' uses the free provider; 'hq' costs credits.
- `generate_text`: Write social copy in the workspace brand voice. Returns one or more variants. Metered (free daily allowance, then 1 credit).
- `get_analytics`: Workspace performance for the last N days: impressions, engagements, posts, follower change, top posts and recommended posting slots.
- `get_article`: Get full details and Markdown body of an article in the workspace library by its ID.
- `get_connected_social_accounts`: Get all connected social media accounts (LinkedIn, X, YouTube, Instagram, Facebook, TikTok, Threads) for the workspace with account IDs, platforms, connection status, and automationEnabled status.
- `get_post`: Get one post with its body, per-channel variants, status and metrics.
- `import_media`: Import an image or video from an external public URL into the workspace media library and return its asset id (to attach with create_post.mediaIds).
- `list_articles`: List long-form articles in the workspace library with their id, title, status, word count, summary, and last updated time.
- `list_channels`: List the social accounts connected to this workspace with their ids, platform, handle, health, and automationEnabled status. Use channel ids when creating posts.
- `list_connected_sites`: List the websites connected to this workspace for article publishing (SocialHive blog, WordPress, Ghost, Dev.to, ...). Use an id from here as destinationIds in publish_article.
- `list_media`: List or search media assets (images, videos) in the workspace media library. Returns asset ids to attach with create_post.mediaIds.
- `list_node_types`: Catalog of workflow node types (triggers, sources, AI, control, destinations) with their config schemas. Read before calling propose_workflow.
- `list_posts`: List posts in the workspace, newest first. Filter by status (draft, pending_approval, scheduled, published, failed) or free text.
- `list_sources`: List content data sources (RSS feeds, sitemaps, web pages, documents) with counts of unused items.
- `list_workflows`: List automation workflows with status and last run.
- `propose_workflow`: Propose an automation workflow as a graph (nodes + edges). The graph is validated and saved as a DRAFT version that a human must review and activate in Workflow Studio; it never runs on its own. Call list_node_types first for valid node types and config schemas.
- `publish_article`: Publish (or send as a draft) an article from the workspace library to one or more connected sites. Get site ids from list_connected_sites and article ids from list_articles or create_article. The article must have a body. Publishing again updates the existing post on that site.
- `publish_post`: Publish an existing draft now (queues it immediately). Approval policy still applies — the post may land in pending_approval instead.
- `schedule_post`: Schedule an existing draft (or move a scheduled post) to an ISO 8601 time. Approval policy still applies.
- `search_source_items`: Fetch recent items from one data source (title, url, excerpt). Use them as raw material for posts.
- `upload_media`: Upload an image, video, or PDF directly using base64 data (or data URI) into the workspace media library and return its asset id (to attach with create_post.mediaIds).
