Seerxo
Generate SEO-optimized Etsy listings — title, description, and 13 tags — from your AI assistant.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"seerxo": {
"command": "npx",
"args": [
"seerxo"
]
}
}
}실행 가능한 패키지
1.13.0stdio원격 엔드포인트
https://api.seerxo.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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#"
}커뮤니티
증거