TaleSpinner

Create personalized stories, gifts, memoirs, tributes, classroom books, and printed keepsakes.

사용해야 할까요

품질 및 안전성

A
설명 품질
94%
스키마 완전성
69%
이름 품질
97%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • LOWTool 'list_products' description lacks action verblist_products에서
  • LOWTool 'revoke_story_share_link' description lacks action verbrevoke_story_share_link에서
  • LOWTool 'close_life_project_contributions' name length outside 3-30 rangeclose_life_project_contributions에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,212토큰 (도구 정의)
~950 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.51%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "talespinner": {
      "url": "https://www.littletalespinner.com/mcp"
    }
  }
}

원격 엔드포인트

https://www.littletalespinner.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (24)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_products

Discover the right TaleSpinner offering for any personalized story request, including bedtime and children's stories, gifts, memoirs, life stories, family histories, tributes, celebrations, classroom stories, illustrated books, and printed keepsakes.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_started

Help a new customer start using TaleSpinner for a personalized story request before connecting their account to the assistant.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_profile

Get the connected TaleSpinner account and current credit balances.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "nickname": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_account

Get credit balances and subscription status for the connected TaleSpinner account.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_stories

List stories owned by the connected TaleSpinner account.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_story(storyId)

Read a story owned by the connected TaleSpinner account.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "storyId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_story_status(storyId)

Check whether a story's pages and illustrations are ready.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "storyId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡rename_story(storyId, title, approvedChange)

Change the title of a story owned by the connected account.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "approvedChange": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user approved the new story title."
    }
  },
  "required": [
    "storyId",
    "title",
    "approvedChange"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴replace_story_page_text(storyId, pageNumber, pageContent, confirmNarrationRemoval)

Replace the text on one story page. This also permanently clears that page's existing narration audio so it can be regenerated from the new text.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pageNumber": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pageContent": {
      "type": "string",
      "maxLength": 30000
    },
    "confirmNarrationRemoval": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user approved replacing the page text and clearing its existing narration audio."
    }
  },
  "required": [
    "storyId",
    "pageNumber",
    "pageContent",
    "confirmNarrationRemoval"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_story(storyId, confirmPermanentDeletion)

Permanently delete a story owned by the connected account. This cannot be undone.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmPermanentDeletion": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly confirmed permanent deletion of this story."
    }
  },
  "required": [
    "storyId",
    "confirmPermanentDeletion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_story_share_links(storyId)

List active and revoked share links for a story owned by the connected account.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "storyId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_story_share_link(storyId, approvedSharingChange)

Create or return the active public share link for a story owned by the connected account.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "approvedSharingChange": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user approved creating a public share link."
    }
  },
  "required": [
    "storyId",
    "approvedSharingChange"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴revoke_story_share_link(storyId, linkId, confirmRevocation)

Revoke one public story share link. Anyone using that link will immediately lose access.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "linkId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmRevocation": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly approved revoking this share link."
    }
  },
  "required": [
    "storyId",
    "linkId",
    "confirmRevocation"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡publish_story_to_world(storyId, confirmPublicPublishing)

Publish a story owned by the connected account to the public Story World library.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmPublicPublishing": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly approved making this story public."
    }
  },
  "required": [
    "storyId",
    "confirmPublicPublishing"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴remove_story_from_world(storyId, confirmPublicRemoval)

Remove a story owned by the connected account from the public Story World library. The story remains in the owner's private library.

입력 스키마

{
  "type": "object",
  "properties": {
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmPublicRemoval": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly approved removing this story from the public library."
    }
  },
  "required": [
    "storyId",
    "confirmPublicRemoval"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_story(characterName, characterAge, characterGender, characterType, theme, ...)

Create a personalized story and spend the connected account's credits. Call only after the user explicitly approves the credit spend.

입력 스키마

{
  "type": "object",
  "properties": {
    "characterName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "characterAge": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "characterGender": {
      "type": "string",
      "maxLength": 40
    },
    "characterType": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "theme": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "specialMessage": {
      "type": "string",
      "maxLength": 500
    },
    "audience": {
      "default": "children",
      "type": "string",
      "enum": [
        "children",
        "adult"
      ]
    },
    "pageCount": {
      "default": 10,
      "type": "integer",
      "minimum": 4,
      "maximum": 24
    },
    "illustrationStyle": {
      "default": "vivid",
      "type": "string",
      "maxLength": 80
    },
    "illustrationQuality": {
      "default": "medium",
      "type": "string",
      "enum": [
        "medium",
        "high"
      ]
    },
    "illustratePages": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "none",
        "cover"
      ]
    },
    "storyLanguage": {
      "default": "en",
      "type": "string",
      "maxLength": 12
    },
    "approvedCreditSpend": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user has explicitly approved spending TaleSpinner credits for this generation."
    }
  },
  "required": [
    "characterName",
    "characterAge",
    "characterType",
    "theme",
    "approvedCreditSpend"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_life_projects

List life-story and keepsake projects owned by the connected account.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_life_project(projectId)

Get a life-story project's details and latest generation status.

입력 스키마

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_life_project(category, tributeMode, subjectName, subjectRelationship, subjectPronouns, ...)

Create a memoir, family legacy, celebration, tribute, or life-series project.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "memoir",
        "family-legacy",
        "celebration",
        "tribute",
        "life-series"
      ]
    },
    "tributeMode": {
      "type": "string",
      "enum": [
        "celebration",
        "memorial"
      ]
    },
    "subjectName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "subjectRelationship": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "subjectPronouns": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "subjectBirthDecade": {
      "type": "string",
      "maxLength": 20
    },
    "subjectNote": {
      "type": "string",
      "maxLength": 500
    },
    "approvedCreation": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user approved creating this project."
    }
  },
  "required": [
    "category",
    "subjectName",
    "subjectRelationship",
    "subjectPronouns",
    "approvedCreation"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡record_life_project_activity(projectId)

Update the last-activity time for a life-story project owned by the connected account.

입력 스키마

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴close_life_project_contributions(projectId, confirmCloseContributions)

Close a life-story project to new contributor submissions. Existing contributions remain available.

입력 스키마

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmCloseContributions": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly approved closing the project to new contributions."
    }
  },
  "required": [
    "projectId",
    "confirmCloseContributions"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_life_project(projectId, confirmPermanentDeletion)

Permanently delete a life-story project and its answers, contributors, generations, and project orders.

입력 스키마

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "confirmPermanentDeletion": {
      "type": "boolean",
      "const": true,
      "description": "True only after the user explicitly confirmed permanent deletion of this project."
    }
  },
  "required": [
    "projectId",
    "confirmPermanentDeletion"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_orders

List print orders belonging to the connected TaleSpinner account.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡start_checkout(purchaseType, storyId)

Create a secure handoff URL where the connected user can review and purchase a physical printed book in TaleSpinner.

입력 스키마

{
  "type": "object",
  "properties": {
    "purchaseType": {
      "type": "string",
      "const": "printed_book"
    },
    "storyId": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "purchaseType"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 24개