Blog2Social - Social Media Publishing
Connect AI agents to Blog2Social and automate social media content workflows via MCP.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (8)
- LOWen networks.list
- LOWen connections.list
- LOWen networks.list_properties
- LOWen connections.remove
- LOWen connections.add
- LOWen posts.create
- LOWen videos.check
- LOWen credits.balance
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢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
Evidencia