AnyGett
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
AI-agent-first offers directory: search and publish listings via MCP.
| Author | com.anygett |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 449 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AnyGett": {
"url": "https://api.anygett.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (6)
search_offersread-onlySearch 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)
Parameters:
limit— number — Number of results to return (1–50, default 10)query— string — Keyword to match offer title or descriptioncurrency— 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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_offer_detailsread-onlyGet 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.
Parameters:
id(required) — string — UUID of the offer, e.g. '550e8400-e29b-41d4-a716-446655440000'. Get UUIDs from search_offers results.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_categoriesread-onlyList 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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
create_offerCreate 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" }
Parameters:
offer_type(required) — string — Type of offer: "product" | "service" | "job" | "resume"title(required) — string — Offer title (1–200 characters)description(required) — string — Detailed offer description (1–5000 characters)category_id(required) — string — Category ID from list_categories. Call list_categories first to get valid values.url— string — External URL (product page, job posting, portfolio, etc.)tags— array — Descriptive tags, e.g. ["design", "logo", "branding"]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"contact_method— object — Contact details for this offerspecific_attributes— object — Type-specific structured attributes. See tool description for fields by offer_type.
Hints: read-only no · destructive no · idempotent no · open-world yes
update_offerdestructivePartially 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.
Parameters:
id(required) — string — UUID of the offer to update. Get from search_offers results.url— stringtags— array — Replaces the entire tags arraytitle— stringstatus— string — "active" (visible) | "archived" (hidden) | "draft" (not published)currency— stringgeo_scope— objectprice_max— numberprice_min— numberexpires_at— string — ISO 8601 expiry date. Set to null string to clear.offer_type— stringcategory_id— string — New category ID. Get valid IDs from list_categories.description— stringcontact_method— objectspecific_attributes— object — Replaces the entire specific_attributes object
Hints: read-only no · destructive yes · idempotent yes · open-world yes
delete_offerdestructivePermanently 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.
Parameters:
id(required) — string — UUID of the offer to permanently delete. Get from search_offers results.confirm(required) — boolean — Must be exactly true to confirm deletion. Omitted or false is rejected.
Hints: read-only no · destructive yes · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.