AnyGett
AI-agent-first offers directory: search and publish listings via MCP.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"anygett": {
"url": "https://api.anygett.com/mcp"
}
}
}원격 엔드포인트
https://api.anygett.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢search_offers(query, offer_type, category_id, price_min, price_max, ...)
Search for active offers in the AnyGett database. Returns a JSON array of matching offers with all fields parsed. Returns an empty array if no offers match. FILTERS (all optional): - query: full-text search in title + description - offer_type: "product" | "service" | "job" | "resume" - category_id: get valid IDs from list_categories - price_min / price_max: filter by price range (uses price_min field of offers) - currency: ISO 4217 code, e.g. "USD", "EUR" - limit: 1–50 results (default 10)
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "Keyword to match offer title or description",
"type": "string"
},
"offer_type": {
"description": "Filter by offer type: \"product\" | \"service\" | \"job\" | \"resume\"",
"type": "string",
"enum": [
"product",
"service",
"job",
"resume"
]
},
"category_id": {
"description": "Category ID to filter by. Get valid IDs from list_categories tool first.",
"type": "string"
},
"price_min": {
"description": "Minimum price filter (inclusive)",
"type": "number"
},
"price_max": {
"description": "Maximum price filter (inclusive, matches against offer's price_min)",
"type": "number"
},
"currency": {
"description": "ISO 4217 currency code, e.g. \"USD\", \"EUR\", \"RUB\"",
"type": "string"
},
"limit": {
"default": 10,
"description": "Number of results to return (1–50, default 10)",
"type": "number"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_offer_details(id)
Get complete details of a specific offer by its UUID. Returns a single offer object with all fields (including contact_method, specific_attributes, geo_scope). Returns an error object with code "NOT_FOUND" if the ID doesn't exist.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the offer, e.g. '550e8400-e29b-41d4-a716-446655440000'. Get UUIDs from search_offers results."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_categories
List all available offer categories with their IDs, slugs, and icons. Returns category records used as category_id when creating offers. Each item includes: id, slug, name_en, icon, sort_order.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡create_offer(offer_type, title, description, category_id, price_min, ...)
Create a new offer in the AnyGett database. Requires a valid category_id from list_categories. Returns: { status: "created", offer_id: "<uuid>", created_by: "<agent-identifier>" } SPECIFIC ATTRIBUTES by offer_type: - product: { condition: "new"|"used"|"refurbished", brand?, sku?, weight_kg?, shipping? } - service: { service_type: "design"|"development"|"consulting"|"marketing"|..., delivery_time_days?, revisions_included?, portfolio_url? } - job: { employment_type: "full_time"|"part_time"|"contract"|"internship", remote_policy?: "fully_remote"|"hybrid"|"office_only", requirements?: { skills: [] } } - resume: { desired_position?, skills?: { technical: [], soft: [] }, experience?: [], availability?: { status: "active_looking"|"passive" } } GEO SCOPE examples: - Worldwide: { "type": "worldwide" } - Countries: { "type": "countries", "countries": ["US", "DE"], "description": "Ships to US and Germany" } CONTACT METHOD example: { "email": "[email protected]", "telegram": "@username", "preferred": "telegram" }
입력 스키마
{
"type": "object",
"properties": {
"offer_type": {
"type": "string",
"enum": [
"product",
"service",
"job",
"resume"
],
"description": "Type of offer: \"product\" | \"service\" | \"job\" | \"resume\""
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Offer title (1–200 characters)"
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "Detailed offer description (1–5000 characters)"
},
"category_id": {
"type": "string",
"description": "Category ID from list_categories. Call list_categories first to get valid values."
},
"price_min": {
"description": "Price or minimum price (non-negative number)",
"type": "number",
"minimum": 0
},
"price_max": {
"description": "Maximum price for price ranges. Must be >= price_min if both provided.",
"type": "number",
"minimum": 0
},
"currency": {
"default": "USD",
"description": "ISO 4217 currency code, 3 letters: \"USD\", \"EUR\", \"GBP\", \"RUB\", etc.",
"type": "string",
"minLength": 3,
"maxLength": 3
},
"tags": {
"description": "Descriptive tags, e.g. [\"design\", \"logo\", \"branding\"]",
"type": "array",
"items": {
"type": "string"
}
},
"geo_scope": {
"description": "Geographic scope. Example: { \"type\": \"worldwide\" } or { \"type\": \"countries\", \"countries\": [\"US\"] }",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"worldwide",
"countries",
"regions",
"local"
],
"description": "\"worldwide\" | \"countries\" | \"regions\" | \"local\""
},
"countries": {
"description": "ISO 3166-1 alpha-2 country codes, e.g. [\"US\", \"DE\", \"GB\"]",
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"maxLength": 2
}
},
"description": {
"description": "Human-readable geo description",
"type": "string"
}
},
"required": [
"type"
]
},
"contact_method": {
"description": "Contact details for this offer",
"type": "object",
"properties": {
"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,}$"
},
"phone": {
"type": "string"
},
"telegram": {
"description": "Telegram handle, e.g. \"@username\"",
"type": "string"
},
"website": {
"type": "string",
"format": "uri"
},
"preferred": {
"description": "Preferred contact: \"email\" | \"phone\" | \"telegram\" | \"website\"",
"type": "string"
}
}
},
"specific_attributes": {
"description": "Type-specific structured attributes. See tool description for fields by offer_type.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"url": {
"description": "External URL (product page, job posting, portfolio, etc.)",
"type": "string",
"format": "uri"
},
"expires_at": {
"description": "Offer expiry date in ISO 8601 format, e.g. \"2026-12-31T23:59:59Z\"",
"type": "string"
}
},
"required": [
"offer_type",
"title",
"description",
"category_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴update_offer(id, title, description, offer_type, category_id, ...)
Partially update an existing offer by UUID. Only the fields you provide are changed — omitted fields keep their current values. Returns { status: "updated", offer_id: "<uuid>" } on success. Returns error with code "NOT_FOUND" if the offer doesn't exist. COMMON USE CASES: - Archive an offer: { id: "...", status: "archived" } - Update price: { id: "...", price_min: 200 } - Refresh expiry: { id: "...", expires_at: "2027-01-01T00:00:00Z" } - Add tags: { id: "...", tags: ["new-tag"] } Offer UUIDs come from search_offers or create_offer.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the offer to update. Get from search_offers results."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"offer_type": {
"type": "string",
"enum": [
"product",
"service",
"job",
"resume"
]
},
"category_id": {
"description": "New category ID. Get valid IDs from list_categories.",
"type": "string"
},
"price_min": {
"type": "number",
"minimum": 0
},
"price_max": {
"type": "number",
"minimum": 0
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
},
"status": {
"description": "\"active\" (visible) | \"archived\" (hidden) | \"draft\" (not published)",
"type": "string",
"enum": [
"active",
"archived",
"draft"
]
},
"tags": {
"description": "Replaces the entire tags array",
"type": "array",
"items": {
"type": "string"
}
},
"geo_scope": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"contact_method": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"specific_attributes": {
"description": "Replaces the entire specific_attributes object",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"url": {
"type": "string",
"format": "uri"
},
"expires_at": {
"description": "ISO 8601 expiry date. Set to null string to clear.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴delete_offer(id, confirm)
Permanently delete an offer by UUID. WARNING: This action is irreversible. The offer will be removed from the database entirely. Consider using update_offer with status: "archived" instead if you want to hide the offer without deleting it. Returns { status: "deleted", offer_id: "<uuid>" } on success. Returns error with code "NOT_FOUND" if the offer doesn't exist. This permanently removes the offer. Prefer update_offer with status archived to hide without deleting.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the offer to permanently delete. Get from search_offers results."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be exactly true to confirm deletion. Omitted or false is rejected."
}
},
"required": [
"id",
"confirm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거