TaleSpinner

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
69%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • LOWTool 'list_products' description lacks action verben list_products
  • LOWTool 'revoke_story_share_link' description lacks action verben revoke_story_share_link
  • LOWTool 'close_life_project_contributions' name length outside 3-30 rangeen close_life_project_contributions

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

Costo de contexto

~3,212Tokens (definiciones de herramientas)
~950 BTamaño de respuesta típico
Impacto significativo en la atención (2.51% 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": {
    "talespinner": {
      "url": "https://www.littletalespinner.com/mcp"
    }
  }
}

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (24)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

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

Get the connected TaleSpinner account and current credit balances.

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

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

List stories owned by the connected TaleSpinner account.

Esquema de entrada

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

Read a story owned by the connected TaleSpinner account.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada24 herramientas