Seerxo
Generate SEO-optimized Etsy listings — title, description, and 13 tags — from your AI assistant.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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": {
"seerxo": {
"command": "npx",
"args": [
"seerxo"
]
}
}
}Paquetes ejecutables
1.13.0stdioPuntos de conexión remotos
https://api.seerxo.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
⚪generate_etsy_seo(product_name, category)
Use this when the user wants a complete SEO-optimized Etsy listing from a product idea. Returns a title, A/B title variants, description, exactly 13 tags, and attributes. Uses one generation from the monthly quota.
Esquema de entrada
{
"type": "object",
"properties": {
"product_name": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "Product description, e.g. \"handmade ceramic coffee mug, speckled glaze, 12oz\""
},
"category": {
"type": "string",
"maxLength": 120,
"description": "Etsy category, e.g. \"Home & Living\""
}
},
"required": [
"product_name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Primary SEO title."
},
"title_alternatives": {
"type": "array",
"items": {
"type": "string"
},
"description": "Alternative titles for A/B testing."
},
"description": {
"type": "string",
"description": "SEO-optimized product description."
},
"tags": {
"type": "array",
"items": {
"$ref": "#/properties/title_alternatives/items"
},
"description": "All 13 Etsy tags."
},
"features": {
"type": "array",
"items": {
"$ref": "#/properties/title_alternatives/items"
},
"description": "Product feature highlights."
},
"target_keywords": {
"type": "array",
"items": {
"$ref": "#/properties/title_alternatives/items"
},
"description": "Primary keyword phrases targeted by the listing."
},
"cross_sell": {
"type": "string",
"description": "Suggested complementary product."
},
"suggested_attributes": {
"anyOf": [
{
"type": "object",
"properties": {
"occasion": {
"type": "string"
},
"style": {
"type": "string"
},
"color": {
"type": "string"
},
"material": {
"type": "string"
},
"recipient": {
"type": "string"
}
},
"required": [
"occasion",
"style",
"color",
"material",
"recipient"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Suggested Etsy attribute values."
},
"shipping_tip": {
"type": "string",
"description": "Shipping pricing guidance."
},
"usage": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Monthly generation limit."
},
"remaining": {
"type": "number",
"description": "Generations remaining this month."
},
"tier": {
"type": "string",
"description": "Seerxo account tier."
},
"usageByChannel": {
"type": "object",
"properties": {
"mcp": {
"type": "number",
"description": "Generations used through MCP."
},
"web": {
"type": "number",
"description": "Generations used through the web app."
}
},
"required": [
"mcp",
"web"
],
"additionalProperties": false
},
"dailyLimit": {
"type": "number",
"description": "Daily generation limit when one applies."
},
"dailyRemaining": {
"type": "number",
"description": "Generations remaining today when a daily limit applies."
}
},
"required": [
"limit",
"remaining",
"tier",
"usageByChannel"
],
"additionalProperties": false
}
},
"required": [
"title",
"title_alternatives",
"description",
"tags",
"features",
"target_keywords",
"cross_sell",
"suggested_attributes",
"shipping_tip",
"usage"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢seerxo_analyze_listing(product_name, title, description, tags)
Use this when the user wants to score or diagnose an existing Etsy listing. Returns an explainable SEO score, sub-scores, weak points, missing keywords, and tag utilization. Free — does not use quota.
Esquema de entrada
{
"type": "object",
"properties": {
"product_name": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "Short product description, e.g. \"handmade ceramic coffee mug, speckled glaze, 12oz\""
},
"title": {
"type": "string",
"maxLength": 500,
"description": "Current Etsy listing title"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Current Etsy listing description"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Current Etsy tags"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"seoScore": {
"type": "number",
"description": "Overall Etsy SEO score from 0 to 100."
},
"subScores": {
"type": "object",
"properties": {
"title": {
"type": "number",
"description": "Title SEO score from 0 to 100."
},
"tags": {
"type": "number",
"description": "Tags SEO score from 0 to 100."
},
"description": {
"type": "number",
"description": "Description SEO score from 0 to 100."
},
"completeness": {
"type": "number",
"description": "Listing completeness score from 0 to 100."
}
},
"required": [
"title",
"tags",
"description",
"completeness"
],
"additionalProperties": false
},
"weakPoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable identifier for the failed SEO check."
},
"field": {
"type": "string",
"description": "Listing field that needs improvement."
},
"severity": {
"type": "string",
"enum": [
"high",
"medium",
"low"
],
"description": "Priority of the finding."
},
"reason": {
"type": "string",
"description": "Human-readable explanation of the finding."
},
"fix": {
"type": "string",
"description": "Concrete action that resolves the finding."
}
},
"required": [
"id",
"field",
"severity",
"reason",
"fix"
],
"additionalProperties": false
},
"description": "Ranked SEO findings and fixes."
},
"missingKeywords": {
"type": "array",
"items": {
"type": "string"
},
"description": "Product keywords missing from the listing."
},
"tagUtilization": {
"type": "object",
"properties": {
"used": {
"type": "number",
"description": "Number of tag slots currently used."
},
"max": {
"type": "number",
"description": "Maximum Etsy tag slots available."
},
"duplicates": {
"type": "array",
"items": {
"$ref": "#/properties/missingKeywords/items"
},
"description": "Duplicate tags."
},
"tooBroad": {
"type": "array",
"items": {
"$ref": "#/properties/missingKeywords/items"
},
"description": "Single-word tags that are too broad."
},
"overLong": {
"type": "array",
"items": {
"$ref": "#/properties/missingKeywords/items"
},
"description": "Tags longer than Etsy allows."
}
},
"required": [
"used",
"max",
"duplicates",
"tooBroad",
"overLong"
],
"additionalProperties": false
},
"percent": {
"type": "number",
"description": "Legacy alias for the overall SEO score."
},
"grade": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"F"
],
"description": "Letter grade derived from the SEO score."
},
"coverage": {
"type": "number",
"description": "Percentage of product keywords covered by the listing."
},
"passed": {
"type": "number",
"description": "Number of SEO checks that passed."
},
"total": {
"type": "number",
"description": "Total number of SEO checks."
},
"fixes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"check": {
"type": "string",
"description": "Failed SEO check."
},
"fix": {
"type": "string",
"description": "Recommended fix."
}
},
"required": [
"check",
"fix"
],
"additionalProperties": false
},
"description": "Legacy actionable fix list."
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable check identifier."
},
"field": {
"type": "string",
"description": "Listing field checked."
},
"label": {
"type": "string",
"description": "Human-readable check label."
},
"pass": {
"type": "boolean",
"description": "Whether the check passed."
}
},
"required": [
"id",
"field",
"label",
"pass"
],
"additionalProperties": false
},
"description": "All evaluated SEO checks."
}
},
"required": [
"seoScore",
"subScores",
"weakPoints",
"missingKeywords",
"tagUtilization",
"percent",
"grade",
"coverage",
"passed",
"total",
"fixes",
"checks"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪seerxo_optimize_listing(product_name, title, description, tags, mode)
Use this when the user wants to rewrite an existing Etsy title, description, or tags based on audit findings. A re-audit gate prevents score regression. Uses one generation from the monthly quota.
Esquema de entrada
{
"type": "object",
"properties": {
"product_name": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "Short product description, e.g. \"handmade ceramic coffee mug, speckled glaze, 12oz\""
},
"title": {
"type": "string",
"maxLength": 500,
"description": "Current Etsy listing title"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Current Etsy listing description"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Current Etsy tags"
},
"mode": {
"type": "string",
"enum": [
"full",
"title_only",
"description_only",
"tags_only"
],
"description": "Which fields to rewrite (default: full)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"before": {
"type": "object",
"properties": {
"seoScore": {
"type": "number",
"description": "Overall Etsy SEO score from 0 to 100."
},
"subScores": {
"type": "object",
"properties": {
"title": {
"type": "number",
"description": "Title SEO score from 0 to 100."
},
"tags": {
"type": "number",
"description": "Tags SEO score from 0 to 100."
},
"description": {
"type": "number",
"description": "Description SEO score from 0 to 100."
},
"completeness": {
"type": "number",
"description": "Listing completeness score from 0 to 100."
}
},
"required": [
"title",
"tags",
"description",
"completeness"
],
"additionalProperties": false
},
"weakPoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable identifier for the failed SEO check."
},
"field": {
"type": "string",
"description": "Listing field that needs improvement."
},
"severity": {
"type": "string",
"enum": [
"high",
"medium",
"low"
],
"description": "Priority of the finding."
},
"reason": {
"type": "string",
"description": "Human-readable explanation of the finding."
},
"fix": {
"type": "string",
"description": "Concrete action that resolves the finding."
}
},
"required": [
"id",
"field",
"severity",
"reason",
"fix"
],
"additionalProperties": false
},
"description": "Ranked SEO findings and fixes."
}
},
"required": [
"seoScore",
"subScores",
"weakPoints"
],
"additionalProperties": false,
"description": "Audit summary before optimization."
},
"optimized": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "SEO-optimized Etsy listing title."
},
"description": {
"type": "string",
"description": "SEO-optimized Etsy listing description."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "SEO-optimized Etsy tags."
}
},
"required": [
"title",
"description",
"tags"
],
"additionalProperties": false
},
"after": {
"type": "object",
"properties": {
"seoScore": {
"$ref": "#/properties/before/properties/seoScore"
},
"subScores": {
"$ref": "#/properties/before/properties/subScores"
},
"weakPoints": {
"$ref": "#/properties/before/properties/weakPoints"
}
},
"required": [
"seoScore",
"subScores",
"weakPoints"
],
"additionalProperties": false,
"description": "Audit summary after optimization."
},
"resolved": {
"type": "array",
"items": {
"$ref": "#/properties/optimized/properties/tags/items"
},
"description": "Finding IDs resolved by the rewrite."
},
"unresolved": {
"type": "array",
"items": {
"$ref": "#/properties/optimized/properties/tags/items"
},
"description": "Finding IDs still present after the rewrite."
},
"diff": {
"type": "object",
"properties": {
"title": {
"type": "object",
"properties": {
"before": {
"type": "string"
},
"after": {
"type": "string"
}
},
"required": [
"before",
"after"
],
"additionalProperties": false
},
"description": {
"type": "object",
"properties": {
"before": {
"type": "string"
},
"after": {
"type": "string"
}
},
"required": [
"before",
"after"
],
"additionalProperties": false
},
"tags": {
"type": "object",
"properties": {
"before": {
"type": "array",
"items": {
"$ref": "#/properties/optimized/properties/tags/items"
}
},
"after": {
"$ref": "#/properties/diff/properties/tags/properties/before"
}
},
"required": [
"before",
"after"
],
"additionalProperties": false
}
},
"required": [
"title",
"description",
"tags"
],
"additionalProperties": false,
"description": "Before and after values for each listing field."
},
"fallback": {
"type": "boolean",
"description": "Whether the original listing was kept to prevent a score regression."
},
"mode": {
"type": "string",
"enum": [
"full",
"title_only",
"description_only",
"tags_only"
],
"description": "Optimization mode that was applied."
},
"usage": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Monthly generation limit."
},
"remaining": {
"type": "number",
"description": "Generations remaining this month."
},
"tier": {
"type": "string",
"description": "Seerxo account tier."
},
"usageByChannel": {
"type": "object",
"properties": {
"mcp": {
"type": "number",
"description": "Generations used through MCP."
},
"web": {
"type": "number",
"description": "Generations used through the web app."
}
},
"required": [
"mcp",
"web"
],
"additionalProperties": false
},
"dailyLimit": {
"type": "number",
"description": "Daily generation limit when one applies."
},
"dailyRemaining": {
"type": "number",
"description": "Generations remaining today when a daily limit applies."
}
},
"required": [
"limit",
"remaining",
"tier",
"usageByChannel"
],
"additionalProperties": false
}
},
"required": [
"before",
"optimized",
"after",
"resolved",
"unresolved",
"diff",
"fallback",
"mode",
"usage"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢seerxo_suggest_keywords(seed, product_name, title, description, tags)
Use this when the user wants Etsy keyword ideas for a product or listing. Returns ranked autosuggest phrases with relative demand and placement guidance; never fabricates search volumes. Uses one generation from the monthly quota.
Esquema de entrada
{
"type": "object",
"properties": {
"seed": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Seed phrase to expand"
},
"product_name": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "Short product description, e.g. \"handmade ceramic coffee mug, speckled glaze, 12oz\""
},
"title": {
"type": "string",
"maxLength": 500,
"description": "Current Etsy listing title"
},
"description": {
"type": "string",
"maxLength": 20000,
"description": "Current Etsy listing description"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Current Etsy tags"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"seed": {
"type": "string",
"description": "Normalized seed phrase used for suggestions."
},
"confidence": {
"type": "string",
"enum": [
"medium",
"low"
],
"description": "Confidence in the available suggestions."
},
"keywords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Suggested keyword phrase."
},
"demandRank": {
"type": "number",
"description": "Relative rank from Etsy autosuggest."
},
"placement": {
"type": "string",
"enum": [
"title",
"tags",
"description"
],
"description": "Recommended listing placement."
},
"inListing": {
"type": "boolean",
"description": "Whether the listing already contains the keyword."
}
},
"required": [
"keyword",
"demandRank",
"placement",
"inListing"
],
"additionalProperties": false
},
"description": "Keyword suggestions in Etsy autosuggest demand order."
},
"source": {
"type": "string",
"description": "Source used for keyword suggestions."
},
"usage": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Monthly generation limit."
},
"remaining": {
"type": "number",
"description": "Generations remaining this month."
},
"tier": {
"type": "string",
"description": "Seerxo account tier."
},
"usageByChannel": {
"type": "object",
"properties": {
"mcp": {
"type": "number",
"description": "Generations used through MCP."
},
"web": {
"type": "number",
"description": "Generations used through the web app."
}
},
"required": [
"mcp",
"web"
],
"additionalProperties": false
},
"dailyLimit": {
"type": "number",
"description": "Daily generation limit when one applies."
},
"dailyRemaining": {
"type": "number",
"description": "Generations remaining today when a daily limit applies."
}
},
"required": [
"limit",
"remaining",
"tier",
"usageByChannel"
],
"additionalProperties": false
}
},
"required": [
"seed",
"confidence",
"keywords",
"source",
"usage"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢seerxo_quota
Use this when the user asks about Seerxo credits or usage. Shows the authenticated account's remaining monthly generation quota. Free.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"current": {
"type": "number",
"description": "Generations used this month."
},
"limit": {
"type": "number",
"description": "Monthly generation limit."
},
"remaining": {
"type": "number",
"description": "Generations remaining this month."
},
"tier": {
"type": "string",
"description": "Seerxo account tier."
},
"usageByChannel": {
"type": "object",
"properties": {
"mcp": {
"type": "number",
"description": "Generations used through MCP."
},
"web": {
"type": "number",
"description": "Generations used through the web app."
}
},
"required": [
"mcp",
"web"
],
"additionalProperties": false
}
},
"required": [
"current",
"limit",
"remaining",
"tier",
"usageByChannel"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia