Blog2Social - Social Media Publishing
Connect AI agents to Blog2Social and automate social media content workflows via MCP.
사용해야 할까요
품질 및 안전성
발견 사항 (8)
- LOWnetworks.list에서
- LOWconnections.list에서
- LOWnetworks.list_properties에서
- LOWconnections.remove에서
- LOWconnections.add에서
- LOWposts.create에서
- LOWvideos.check에서
- LOWcredits.balance에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"blog2social-api-mcp": {
"url": "https://api.blog2social.com/mcp"
}
}
}원격 엔드포인트
https://api.blog2social.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"video_token": {
"type": "string",
"minLength": 1,
"description": "Video token returned when the video upload was created."
}
},
"required": [
"video_token"
],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}출력 스키마
{
"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
}커뮤니티
증거