_ registry / mcp streamable-http · checked 2h ago

malinica

https://api.malinica.rs

Registry code: 3fd972c585238177

api record

Search classified listings on Malinica, a Serbian free serbian classifieds marketplace.

from a public catalogue that lists it, not from the operator

endpoint
https://api.malinica.rs/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is malinica live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is malinica free to use?
Yes — the hub reached it with no key and no payment.
What tools does malinica have?
6 tools: get_category, search_locations, get_picklist_values, search_listings, get_listing, get_categories.
Is malinica safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99.7%· all time 99.7%

latency
84ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 604 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • search serbian classified listings
  • get a listing detail
  • list listing categories and filters
  • find location ids
takes → gives
text, data → data
tools
6 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 6 tools
1 open 5 never probed 1 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_categories reads open 12h ago

    List every active listing category as a flat catalog. Each entry has a numeric id, a dot-separated path encoding its place in the hierarchy (for example vozila.automobili is a child of vozila), and a human-readable title in Serbian. Call this first to translate what a user is looking for into a category id, then call get_category to learn which attributes that category supports.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • get_category reads unknown 9h ago

    Describe one category and the attributes listings in it can be filtered by. Each attribute has a name (the key to use when filtering), a label, and a type giving the JSON value a filter must supply: string, number, boolean or date (ISO 8601). An attribute may also carry options, which are the only accepted values for it; value_type with min and max, bounding what numbers are accepted; or a picklist_path, whose accepted values are not listed here and must be fetched with get_picklist_values. A picklist_depends_on names another attribute whose value narrows this one.

    mcp-tool

    {
      "type": "object",
      "required": [
        "categoryId"
      ],
      "properties": {
        "categoryId": {
          "type": "integer",
          "format": "int64",
          "description": "Numeric category id, as returned by get_categories"
        }
      }
    }
    arguments 13 lines
  • search_locations reads unknown 9h ago

    Find Serbian locations by name and return their numeric ids, which is how listings are filtered by place. Matching is fuzzy and tolerates missing diacritics. Results carry a level (COUNTRY, MUNICIPALITY, CITY, CITY_MUNICIPALITY, SETTLEMENT, NEIGHBOURHOOD) and a path showing where the place sits in the hierarchy; use both to pick between same-named places, and prefer asking the user rather than guessing when several look plausible.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum results to return (1-25, default 10)"
        },
        "query": {
          "type": "string",
          "description": "Place name to search for, for example 'Novi Sad'"
        }
      }
    }
    arguments 17 lines
  • get_picklist_values reads unknown 9h ago

    List the accepted values for an attribute whose get_category entry carries a picklist_path. These value sets are hierarchical and too large to inline, so they are fetched one level at a time. A picklist_path may contain a placeholder in braces naming another attribute, as in 'vehicles.car.{make}'; replace the placeholder with that attribute's chosen value before calling, so picking make 'toyota' means requesting 'vehicles.car.toyota' to get the models for it.

    mcp-tool

    {
      "type": "object",
      "required": [
        "path"
      ],
      "properties": {
        "path": {
          "type": "string",
          "description": "Fully resolved dot-separated picklist path, with any placeholder already substituted"
        }
      }
    }
    arguments 12 lines
  • search_listings reads unknown 12h ago

    Search published listings by free text, category and location. Every argument is optional but at least one must be given; supplying several narrows the result the way a user ticking filters would. category_id and location_id are hierarchical and match the whole subtree beneath them, so the category 'Mobilni telefoni i oprema' also returns listings filed under its child categories, and Beograd also returns listings in Novi Beograd, Zemun and every other place under it. Filter at the broadest level the user actually meant, and only narrow when they named a specific place or category. Get ids from get_categories and search_locations. q is an ordinary keyword search, not semantic or vector search: it matches words the listing actually contains, so synonyms and paraphrases will not find anything. It matches broadly across titles, descriptions, attribute values and the listing's category and location names, but ranks titles and descriptions highest. Prefer q for what an item is, and the id filters for where it is and what it is filed under — 'stan Beograd' works, but a location_id for Beograd works better. Only the first few best matches are returned and there is no way to page past them. If the result looks too broad, narrow the search and call again rather than asking for more.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "q": {
          "type": "string",
          "description": "Keywords to match, for example 'iphone 15 pro'"
        },
        "limit": {
          "type": "integer",
          "format": "int32",
          "description": "Maximum results to return (1-10, default 10)"
        },
        "categoryId": {
          "type": "integer",
          "format": "int64",
          "description": "Numeric category id from get_categories; matches this category and everything under it"
        },
        "locationId": {
          "type": "integer",
          "format": "int64",
          "description": "Numeric location id from search_locations; matches this place and everything under it"
        }
      }
    }
    arguments 25 lines
  • get_listing reads unknown 12h ago

    Fetch one published listing by id, including its full description, price, location, category and stored attribute values. Attribute keys match the names reported by get_category for that listing's category, and attributes holds the raw stored values. Under the same key, attribute_labels gives that attribute's display label, plus a value label where the value comes from a fixed set such as a picklist or enum — use the labels when describing the listing to a user, and the raw values when filtering. Only public listings can be fetched.

    mcp-tool

    {
      "type": "object",
      "required": [
        "listingId"
      ],
      "properties": {
        "listingId": {
          "type": "integer",
          "format": "int64",
          "description": "Numeric listing id, as returned by search_listings"
        }
      }
    }
    arguments 13 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 3fd972c585238177.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/3fd972c585238177/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/3fd972c585238177/badge.svg)](https://brick.blue/agent/3fd972c585238177?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.