Blog2Social - Social Media Publishing

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

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
100%
Integridad del esquema
65%
Calidad de los nombres
50%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (8)

  • LOWTool 'networks.list' doesn't follow camelCase/snake_caseen networks.list
  • LOWTool 'connections.list' doesn't follow camelCase/snake_caseen connections.list
  • LOWTool 'networks.list_properties' doesn't follow camelCase/snake_caseen networks.list_properties
  • LOWTool 'connections.remove' doesn't follow camelCase/snake_caseen connections.remove
  • LOWTool 'connections.add' doesn't follow camelCase/snake_caseen connections.add
  • LOWTool 'posts.create' doesn't follow camelCase/snake_caseen posts.create
  • LOWTool 'videos.check' doesn't follow camelCase/snake_caseen videos.check
  • LOWTool 'credits.balance' doesn't follow camelCase/snake_caseen credits.balance

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,264Tokens (definiciones de herramientas)
~2.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.77% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://api.blog2social.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢networks.list

Returns the social networks that can be connected to Blog2Social, including each network name, URL, network_id and whether profiles, pages or groups are supported. Use network_id and a supported network_type_id with connections.add to start connecting an account.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢connections.list

Returns the social accounts currently connected to the authenticated Blog2Social user, with details such as the network, account type and display name. Use an account client_user_network_id in posts.create to choose where to publish.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢networks.list_properties

Returns publishing capabilities and limits for each network and account type, such as supported media formats, video support and character limits. Check these requirements when preparing a post for a specific network and account type.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🔴connections.remove(client_user_network_id)

Removes a social account connection from the authenticated Blog2Social user. Call connections.list first to get the account's client_user_network_id. After removal, the account can no longer be used for publishing unless it is connected again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "client_user_network_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Connected social media account ID returned by connections.list."
    }
  },
  "required": [
    "client_user_network_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "True when the connected social media account was removed successfully."
        }
      },
      "required": [
        "success"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢connections.add(network_id, network_type_id, language, service_conditions_id)

Starts authorization for a social network account. Get network_id and a supported account type from networks.list; network_type_id 0 means profile, 1 page and 2 group. The response contains an auth_link for the user to open and authorize Blog2Social. Pinterest is an exception: it requires a custom application (service_conditions_id) and does not return an auth_link.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "network_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Social media network ID returned by the networks.list tool."
    },
    "network_type_id": {
      "type": "integer",
      "minimum": 0,
      "maximum": 2,
      "description": "Connection type: 0 = profile, 1 = page, 2 = group."
    },
    "language": {
      "type": "string",
      "minLength": 2,
      "description": "Optional language for the authorization flow, for example en or de."
    },
    "service_conditions_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional service conditions ID for using a custom application."
    }
  },
  "required": [
    "network_id",
    "network_type_id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "auth_link": {
          "type": "string",
          "description": "Authorization URL that must be opened to connect the account."
        },
        "session_token": {
          "type": "string",
          "description": "Session token for the authorization process."
        },
        "expired_in": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of seconds until the authorization session expires."
        }
      },
      "required": [
        "auth_link",
        "session_token",
        "expired_in"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟡posts.create(client_user_network_id, b2s_posts)

Publishes a post to the connected account identified by client_user_network_id. Use postFormat 0 for text or link posts (a link is optional), 1 for image posts, or 2 for video posts; image and video posts require mediaObjects. The response includes a publish_url for non-video posts. Video posts return a video_token to check with videos.check.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "client_user_network_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Connected social media account ID returned by connections.list. All posts in b2s_posts are published to this account."
    },
    "b2s_posts": {
      "type": "array",
      "minItems": 1,
      "description": "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.",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "title": "Text or link post",
            "properties": {
              "message": {
                "type": "string",
                "minLength": 1,
                "description": "Text of the social media post."
              },
              "title": {
                "type": "string",
                "description": "Optional title for the post, when supported by the selected social network."
              },
              "postFormat": {
                "type": "integer",
                "const": 0,
                "description": "Text or link post."
              },
              "customUrl": {
                "type": "string",
                "minLength": 1,
                "description": "Optional public URL attached to the post."
              }
            },
            "required": [
              "message",
              "postFormat"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "title": "Image post",
            "properties": {
              "message": {
                "type": "string",
                "minLength": 1,
                "description": "Text or caption to accompany the image post."
              },
              "title": {
                "type": "string",
                "description": "Optional title for the image post, when supported by the selected social network."
              },
              "postFormat": {
                "type": "integer",
                "const": 1,
                "description": "Image post."
              },
              "customUrl": {
                "type": "string",
                "minLength": 1,
                "description": "Optional public URL to attach to the image post, when supported by the selected social network."
              },
              "mediaObjects": {
                "type": "array",
                "minItems": 1,
                "description": "Image media items to include in the post. Each item must provide an IMAGE type and a public URL.",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "const": "IMAGE",
                      "description": "Media type; must be IMAGE for this post."
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Public HTTP or HTTPS image URL."
                    },
                    "alt": {
                      "type": "string",
                      "description": "Optional alternative text describing the image."
                    }
                  },
                  "required": [
                    "type",
                    "url"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "message",
              "postFormat",
              "mediaObjects"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "title": "Video post",
            "properties": {
              "message": {
                "type": "string",
                "minLength": 1,
                "description": "Text or caption to accompany the video post."
              },
              "title": {
                "type": "string",
                "description": "Optional title for the video post, when supported by the selected social network."
              },
              "postFormat": {
                "type": "integer",
                "const": 2,
                "description": "Video post."
              },
              "customUrl": {
                "type": "string",
                "minLength": 1,
                "description": "Optional public URL to attach to the video post, when supported by the selected social network."
              },
              "mediaObjects": {
                "type": "array",
                "minItems": 1,
                "description": "Video media items to include in the post. Each item must provide a VIDEO type and a public URL.",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "const": "VIDEO",
                      "description": "Media type; must be VIDEO for this post."
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Public HTTP or HTTPS video URL."
                    },
                    "alt": {
                      "type": "string",
                      "description": "Optional alternative text or description for the video."
                    }
                  },
                  "required": [
                    "type",
                    "url"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "message",
              "postFormat",
              "mediaObjects"
            ],
            "additionalProperties": false
          }
        ]
      }
    }
  },
  "required": [
    "client_user_network_id",
    "b2s_posts"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "error": {
            "type": "integer"
          },
          "type": {
            "type": "integer"
          },
          "publish_url": {
            "type": "string"
          },
          "network_post_id": {
            "type": "string"
          },
          "b2s_error_code": {
            "type": "string"
          },
          "post_id": {
            "type": "integer"
          },
          "extra": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      }
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}
🟢videos.check(video_token)

Checks the publishing status of a video post using the video_token returned by posts.create. Returns the status for each target social account: pending, failed or successful. A publish_url is included when publishing succeeds; check again while the status is pending.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "video_token": {
      "type": "string",
      "minLength": 1,
      "description": "Video token returned when the video upload was created."
    }
  },
  "required": [
    "video_token"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true
}
🟢credits.balance

Returns the current credit balance of the authenticated Blog2Social API account. Publishing is not possible when the balance is 0, so check it if a post cannot be published.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "balance": {
          "type": "integer",
          "minimum": 0,
          "description": "Current number of available Blog2Social credits."
        }
      },
      "required": [
        "balance"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas