Create personalized stories, gifts, memoirs, tributes, classroom books, and printed keepsakes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Close a life-story project to new contributor submissions. Existing contributions remain available.
True only after the user explicitly approved closing the project to new contributions.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Close a life-story project to new contributor submissions. Existing contributions remain available.
| Argument | Type | Description |
|---|---|---|
| projectId* | integer | |
| confirmCloseContributions* | boolean | True only after the user explicitly approved closing the project to new contributions. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"confirmCloseContributions"
],
"properties": {
"projectId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCloseContributions": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly approved closing the project to new contributions."
}
}
}Create a memoir, family legacy, celebration, tribute, or life-series project.
| Argument | Type | Description |
|---|---|---|
| category* | string | |
| subjectName* | string | |
| subjectNote | string | |
| tributeMode | string | |
| subjectPronouns* | string | |
| approvedCreation* | boolean | True only after the user approved creating this project. |
| subjectBirthDecade | string | |
| subjectRelationship* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category",
"subjectName",
"subjectRelationship",
"subjectPronouns",
"approvedCreation"
],
"properties": {
"category": {
"enum": [
"memoir",
"family-legacy",
"celebration",
"tribute",
"life-series"
],
"type": "string"
},
"subjectName": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"subjectNote": {
"type": "string",
"maxLength": 500
},
"tributeMode": {
"enum": [
"celebration",
"memorial"
],
"type": "string"
},
"subjectPronouns": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"approvedCreation": {
"type": "boolean",
"const": true,
"description": "True only after the user approved creating this project."
},
"subjectBirthDecade": {
"type": "string",
"maxLength": 20
},
"subjectRelationship": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}Create a personalized story and spend the connected account's credits. Call only after the user explicitly approves the credit spend.
| Argument | Type | Description |
|---|---|---|
| theme* | string | |
| audience | string | |
| pageCount | integer | |
| characterAge* | string | |
| characterName* | string | |
| characterType* | string | |
| storyLanguage | string | |
| specialMessage | string | |
| characterGender | string | |
| illustratePages | string | |
| illustrationStyle | string |
Create or return the active public share link for a story owned by the connected account.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer | |
| approvedSharingChange* | boolean | True only after the user approved creating a public share link. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"approvedSharingChange"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"approvedSharingChange": {
"type": "boolean",
"const": true,
"description": "True only after the user approved creating a public share link."
}
}
}Permanently delete a life-story project and its answers, contributors, generations, and project orders.
| Argument | Type | Description |
|---|---|---|
| projectId* | integer | |
| confirmPermanentDeletion* | boolean | True only after the user explicitly confirmed permanent deletion of this project. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId",
"confirmPermanentDeletion"
],
"properties": {
"projectId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmPermanentDeletion": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly confirmed permanent deletion of this project."
}
}
}Permanently delete a story owned by the connected account. This cannot be undone.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer | |
| confirmPermanentDeletion* | boolean | True only after the user explicitly confirmed permanent deletion of this story. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"confirmPermanentDeletion"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmPermanentDeletion": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly confirmed permanent deletion of this story."
}
}
}Get credit balances and subscription status for the connected TaleSpinner account.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get a life-story project's details and latest generation status.
| Argument | Type | Description |
|---|---|---|
| projectId* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}Get the connected TaleSpinner account and current credit balances.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Help a new customer create a TaleSpinner account before connecting it to the assistant.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Read a story owned by the connected TaleSpinner account.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}Check whether a story's pages and illustrations are ready.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}List life-story and keepsake projects owned by the connected account.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List print orders belonging to the connected TaleSpinner account.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List TaleSpinner story, keepsake, classroom, and printing offerings with links to current details.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List stories owned by the connected TaleSpinner account.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List active and revoked share links for a story owned by the connected account.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}Publish a story owned by the connected account to the public Story World library.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer | |
| confirmPublicPublishing* | boolean | True only after the user explicitly approved making this story public. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"confirmPublicPublishing"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmPublicPublishing": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly approved making this story public."
}
}
}Update the last-activity time for a life-story project owned by the connected account.
| Argument | Type | Description |
|---|---|---|
| projectId* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}Remove a story owned by the connected account from the public Story World library. The story remains in the owner's private library.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer | |
| confirmPublicRemoval* | boolean | True only after the user explicitly approved removing this story from the public library. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"confirmPublicRemoval"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmPublicRemoval": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly approved removing this story from the public library."
}
}
}Change the title of a story owned by the connected account.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| storyId* | integer | |
| approvedChange* | boolean | True only after the user approved the new story title. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"title",
"approvedChange"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"approvedChange": {
"type": "boolean",
"const": true,
"description": "True only after the user approved the new story title."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| storyId* | integer | |
| pageNumber* | integer | |
| pageContent* | string | |
| confirmNarrationRemoval* | boolean | True only after the user approved replacing the page text and clearing its existing narration audio. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"pageNumber",
"pageContent",
"confirmNarrationRemoval"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"pageNumber": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"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."
}
}
}Revoke one public story share link. Anyone using that link will immediately lose access.
| Argument | Type | Description |
|---|---|---|
| linkId* | integer | |
| storyId* | integer | |
| confirmRevocation* | boolean | True only after the user explicitly approved revoking this share link. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"storyId",
"linkId",
"confirmRevocation"
],
"properties": {
"linkId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmRevocation": {
"type": "boolean",
"const": true,
"description": "True only after the user explicitly approved revoking this share link."
}
}
}Create a secure handoff URL where the connected user can review and purchase a physical printed book in TaleSpinner.
| Argument | Type | Description |
|---|---|---|
| storyId | integer | |
| purchaseType* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"purchaseType"
],
"properties": {
"storyId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"purchaseType": {
"type": "string",
"const": "printed_book"
}
}
}| approvedCreditSpend* | boolean | True only after the user has explicitly approved spending TaleSpinner credits for this generation. |
| illustrationQuality | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"characterName",
"characterAge",
"characterType",
"theme",
"approvedCreditSpend"
],
"properties": {
"theme": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"audience": {
"enum": [
"children",
"adult"
],
"type": "string",
"default": "children"
},
"pageCount": {
"type": "integer",
"default": 10,
"maximum": 24,
"minimum": 4
},
"characterAge": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"characterName": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"characterType": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"storyLanguage": {
"type": "string",
"default": "en",
"maxLength": 12
},
"specialMessage": {
"type": "string",
"maxLength": 500
},
"characterGender": {
"type": "string",
"maxLength": 40
},
"illustratePages": {
"enum": [
"all",
"none",
"cover"
],
"type": "string",
"default": "all"
},
"illustrationStyle": {
"type": "string",
"default": "vivid",
"maxLength": 80
},
"approvedCreditSpend": {
"type": "boolean",
"const": true,
"description": "True only after the user has explicitly approved spending TaleSpinner credits for this generation."
},
"illustrationQuality": {
"enum": [
"medium",
"high"
],
"type": "string",
"default": "medium"
}
}
}