AI-agent-first offers directory: search and publish listings via MCP.
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.
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" }
Offer title (1–200 characters)
Type of offer: "product" | "service" | "job" | "resume"
Category ID from list_categories. Call list_categories first to get valid values.
Detailed offer description (1–5000 characters)
External URL (product page, job posting, portfolio, etc.)
Descriptive tags, e.g. ["design", "logo", "branding"]
ISO 4217 currency code, 3 letters: "USD", "EUR", "GBP", "RUB", etc.
Geographic scope. Example: { "type": "worldwide" } or { "type": "countries", "countries": ["US"] }
Maximum price for price ranges. Must be >= price_min if both provided.
Price or minimum price (non-negative number)
Offer expiry date in ISO 8601 format, e.g. "2026-12-31T23:59:59Z"
Contact details for this offer
Type-specific structured attributes. See tool description for fields by offer_type.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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" }
| Argument | Type | Description |
|---|---|---|
| url | string | External URL (product page, job posting, portfolio, etc.) |
| tags | array | Descriptive tags, e.g. ["design", "logo", "branding"] |
| title* | string | Offer title (1–200 characters) |
| currency | string | ISO 4217 currency code, 3 letters: "USD", "EUR", "GBP", "RUB", etc. |
| geo_scope | object | Geographic scope. Example: { "type": "worldwide" } or { "type": "countries", "countries": ["US"] } |
| price_max | number | Maximum price for price ranges. Must be >= price_min if both provided. |
| price_min | number | Price or minimum price (non-negative number) |
| expires_at | string | Offer expiry date in ISO 8601 format, e.g. "2026-12-31T23:59:59Z" |
| offer_type* | string | Type of offer: "product" | "service" | "job" | "resume" |
| category_id* | string | Category ID from list_categories. Call list_categories first to get valid values. |
| description* | string | Detailed offer description (1–5000 characters) |
| contact_method | object | Contact details for this offer |
| specific_attributes | object | Type-specific structured attributes. See tool description for fields by offer_type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"offer_type",
"title",
"description",
"category_id"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "External URL (product page, job posting, portfolio, etc.)"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Descriptive tags, e.g. [\"design\", \"logo\", \"branding\"]"
},
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Offer title (1–200 characters)"
},
"currency": {
"type": "string",
"default": "USD",
"maxLength": 3,
"minLength": 3,
"description": "ISO 4217 currency code, 3 letters: \"USD\", \"EUR\", \"GBP\", \"RUB\", etc."
},
"geo_scope": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"worldwide",
"countries",
"regions",
"local"
],
"type": "string",
"description": "\"worldwide\" | \"countries\" | \"regions\" | \"local\""
},
"countries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2,
"minLength": 2
},
"description": "ISO 3166-1 alpha-2 country codes, e.g. [\"US\", \"DE\", \"GB\"]"
},
"description": {
"type": "string",
"description": "Human-readable geo description"
}
},
"description": "Geographic scope. Example: { \"type\": \"worldwide\" } or { \"type\": \"countries\", \"countries\": [\"US\"] }"
},
"price_max": {
"type": "number",
"minimum": 0,
"description": "Maximum price for price ranges. Must be >= price_min if both provided."
},
"price_min": {
"type": "number",
"minimum": 0,
"description": "Price or minimum price (non-negative number)"
},
"expires_at": {
"type": "string",
"description": "Offer expiry date in ISO 8601 format, e.g. \"2026-12-31T23:59:59Z\""
},
"offer_type": {
"enum": [
"product",
"service",
"job",
"resume"
],
"type": "string",
"description": "Type of offer: \"product\" | \"service\" | \"job\" | \"resume\""
},
"category_id": {
"type": "string",
"description": "Category ID from list_categories. Call list_categories first to get valid values."
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "Detailed offer description (1–5000 characters)"
},
"contact_method": {
"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"
},
"website": {
"type": "string",
"format": "uri"
},
"telegram": {
"type": "string",
"description": "Telegram handle, e.g. \"@username\""
},
"preferred": {
"type": "string",
"description": "Preferred contact: \"email\" | \"phone\" | \"telegram\" | \"website\""
}
},
"description": "Contact details for this offer"
},
"specific_attributes": {
"type": "object",
"description": "Type-specific structured attributes. See tool description for fields by offer_type.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | UUID of the offer to permanently delete. Get from search_offers results. |
| confirm* | boolean | Must be exactly true to confirm deletion. Omitted or false is rejected. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"confirm"
],
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | UUID of the offer, e.g. '550e8400-e29b-41d4-a716-446655440000'. Get UUIDs from search_offers results. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"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."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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)
| Argument | Type | Description |
|---|---|---|
| limit | number | Number of results to return (1–50, default 10) |
| query | string | Keyword to match offer title or description |
| currency | string | ISO 4217 currency code, e.g. "USD", "EUR", "RUB" |
| price_max | number | Maximum price filter (inclusive, matches against offer's price_min) |
| price_min | number | Minimum price filter (inclusive) |
| offer_type | string | Filter by offer type: "product" | "service" | "job" | "resume" |
| category_id | string | Category ID to filter by. Get valid IDs from list_categories tool first. |
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.
| Argument | Type | Description |
|---|---|---|
| id* | string | UUID of the offer to update. Get from search_offers results. |
| url | string | |
| tags | array | Replaces the entire tags array |
| title | string | |
| status | string | "active" (visible) | "archived" (hidden) | "draft" (not published) |
| currency | string | |
| geo_scope | object | |
| price_max | number | |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "number",
"default": 10,
"description": "Number of results to return (1–50, default 10)"
},
"query": {
"type": "string",
"description": "Keyword to match offer title or description"
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code, e.g. \"USD\", \"EUR\", \"RUB\""
},
"price_max": {
"type": "number",
"description": "Maximum price filter (inclusive, matches against offer's price_min)"
},
"price_min": {
"type": "number",
"description": "Minimum price filter (inclusive)"
},
"offer_type": {
"enum": [
"product",
"service",
"job",
"resume"
],
"type": "string",
"description": "Filter by offer type: \"product\" | \"service\" | \"job\" | \"resume\""
},
"category_id": {
"type": "string",
"description": "Category ID to filter by. Get valid IDs from list_categories tool first."
}
}
}| price_min |
| number |
| expires_at | string | ISO 8601 expiry date. Set to null string to clear. |
| offer_type | string |
| category_id | string | New category ID. Get valid IDs from list_categories. |
| description | string |
| contact_method | object |
| specific_attributes | object | Replaces the entire specific_attributes object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"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."
},
"url": {
"type": "string",
"format": "uri"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Replaces the entire tags array"
},
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"status": {
"enum": [
"active",
"archived",
"draft"
],
"type": "string",
"description": "\"active\" (visible) | \"archived\" (hidden) | \"draft\" (not published)"
},
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3
},
"geo_scope": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"price_max": {
"type": "number",
"minimum": 0
},
"price_min": {
"type": "number",
"minimum": 0
},
"expires_at": {
"type": "string",
"description": "ISO 8601 expiry date. Set to null string to clear."
},
"offer_type": {
"enum": [
"product",
"service",
"job",
"resume"
],
"type": "string"
},
"category_id": {
"type": "string",
"description": "New category ID. Get valid IDs from list_categories."
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 1
},
"contact_method": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"specific_attributes": {
"type": "object",
"description": "Replaces the entire specific_attributes object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}