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 件