Skip to main content
Glama

Joomil — Swiss Classifieds MCP

Server Details

Search Swiss classifieds on Joomil.ch — top marketplace in French-speaking Switzerland since 2007.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Valmo-Sarl/joomil-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

All five tools have clearly distinct purposes: getting cantons, getting categories, getting a single classified, searching classifieds, and suggesting filters. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (get_cantons, get_categories, get_classified, search_classifieds, suggest_filters), making the set predictable and easy to navigate.

Tool Count5/5

With 5 tools, the server is well-scoped for querying a classifieds marketplace. Each tool covers a necessary operation without excess or deficiency.

Completeness4/5

The tool set provides comprehensive read operations (listing metadata, searching, fetching details, and filter suggestion). A minor gap might be the lack of a dedicated tool for retrieving vendor information directly, but overall the surface is adequate for browsing classifieds.

Available Tools

5 tools
get_cantonsA
Read-only
Inspect

List the Swiss cantons supported by Joomil's canton filter. Returns the exact name value to pass to search_classifieds, plus a readable French label. Call this before filtering by canton — the API values are non-obvious (e.g. 'Bern' not 'Berne', 'Geneve' not 'Genève' or 'Geneva').

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYes
cantonsYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds value beyond annotations by explaining the return format (exact name and readable French label) and why the API values are non-obvious, e.g., 'Bern' not 'Berne'. No contradiction with readOnlyHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each essential. Front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool and presence of an output schema, the description fully covers what the tool does, what it returns, and why it's needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters present; schema coverage is 100% trivially. Baseline 4 for 0 parameters. Description explains output semantics well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool lists Swiss cantons supported by Joomil's canton filter, distinguishing it from sibling tools like get_categories, get_classified, and search_classifieds by its specific preparatory role for filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use: 'Call this before filtering by canton' and provides context about non-obvious API values. Lacks explicit when-not-to-use, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_categoriesA
Read-only
Inspect

List active categories of the Joomil.ch marketplace. Returns a flat list with parent_id for hierarchy reconstruction. Omit parent_id for all categories, use parent_id=0 for root categories only, or pass a specific ID to get direct children of that category.

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_idNoFilter to direct children of this category ID. Omit for all categories. Use 0 for root categories only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYes
categoriesYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint=false. The description adds that it returns a flat list with parent_id for hierarchy reconstruction, and explains filtering behavior, which goes beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, followed by concise parameter usage instructions. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and output schema present, the description covers purpose, usage, return format, and parameter options completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for parent_id, so the description's additional usage examples (omit, 0, specific ID) enrich the schema without adding fundamentally new meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists active categories of the Joomil.ch marketplace, which distinguishes it from siblings like get_cantons, get_classified, search_classifieds, and suggest_filters. The verb 'list' and resource 'categories' are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides specific guidance on when to omit parent_id (all categories), use 0 (root only), or pass a specific ID (direct children). This directly helps the agent decide parameter values.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_classifiedA
Read-only
Inspect

Get full details of a single classified ad on Joomil.ch by its numeric ID. Returns complete description, all images URLs, category breadcrumb (full_path), vendor info (name, certified status, pro company), expiry date and boost level. Use search_classifieds first to find relevant listing IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNumeric listing ID — visible in the URL and in search_classifieds results

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
boostYes
priceYes
titleYes
imagesYes
sellerYes
categoryYes
locationYes
created_atYes
expires_atYes
descriptionYes
has_pictureYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true; description adds comprehensive list of returned details (images, vendor info, etc.) without contradicting annotations. No further behavioral traits needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first covers purpose and return fields, second provides usage guidance. Front-loaded and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple single-parameter tool with output schema present, description adequately covers return fields and usage hint. No gaps for a read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides parameter description; description adds practical context on where to find the ID (URL, search results), enhancing usability beyond schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Get full details of a single classified ad' with specific resource (classified ad) and verb (get). Lists return fields and distinguishes from sibling search_classifieds which is for finding IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use search_classifieds first to obtain the ID, providing clear context for when to invoke this tool. Lacks explicit exclusions but sufficient for the task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_classifiedsA
Read-only
Inspect

Search classified ads on Joomil.ch — Switzerland's leading French-speaking classifieds marketplace (since 2007). Returns a paginated list of public listings with title, description (truncated to 300 chars), price, location, category and vendor info. All parameters are optional — call with no arguments to browse the latest listings. Use get_classified to fetch full details of a specific listing.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFull-text search query (searches title and description)
sortNoSort order: recent (newest first, default), price_asc, price_desc, views
limitNoResults per page (1–50, default 20)
cantonNoSwiss canton filter — strict enum. Use get_cantons for the official list. WARNING: values are API-specific (e.g. 'Bern' not 'Berne', 'Geneve' not 'Genève'/'Geneva'). Supported: Geneve, Vaud, Valais, Fribourg, Neuchatel, Jura, Bern, Argovie, Zurich, Lucerne, Bale-Ville, Etranger.
cat_idNoCategory ID filter — includes subcategories automatically. Use get_categories to browse available categories.
offsetNoPagination offset. Use next_offset from previous response to get next page.
locationNoCity name or postal code (NPA) — partial match
price_maxNoMaximum price in CHF (inclusive)
price_minNoMinimum price in CHF (inclusive)

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
offsetYes
resultsYes
has_moreYes
next_offsetYes
filtered_outYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, confirming no destructive mutations. Description adds valuable behavioral traits: paginated returns, description truncation to 300 chars, and API-specific canton formatting with a warning about value discrepancies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two to three sentences that cover purpose, return structure, parameter optionality, and sibling tool references. No filler; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 optional parameters and an output schema, the description sufficiently covers key behaviors: return fields, parameter roles, and pagination. It references siblings for complementary tasks, making it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description enhances semantics by explaining that all parameters are optional, pointing to sibling tools for canton and category lists, and noting that offset should use next_offset from previous responses.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool searches classified ads on Joomil.ch, specifying the site's geography and niche. Distinguishes from sibling get_classified by noting that this returns a paginated list with truncated descriptions, while get_classified fetches full details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using get_classified for full details of a specific listing. Mentions all parameters are optional, enabling browsing with no arguments. Provides context for canton values (use get_cantons) and category filtering (use get_categories).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_filtersA
Read-only
Inspect

Infer search_classifieds filters from a natural-language query. Use this before search_classifieds when the user mentions a category, location, canton or price in free text. Returns a ready-to-use filters object, a category confidence score and warnings for uncertain matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural-language search request, e.g. 'appartement 3 pièces à Sion' or 'Tesla Model 3 moins de 25000 CHF'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
filtersYes
categoryYes
warningsYes
next_stepYes
confidenceYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint and destructiveHint annotations, description discloses return object shape (filters, confidence score, warnings) and behavior on uncertain matches. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states core function, second adds usage guidance and return structure. No redundancy or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given single parameter, output schema, and sibling tools, description fully covers when and how to use. Includes sufficient behavioral and return info for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already provides example. Description does not add new parameter-level detail beyond the purpose, meeting baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it infers filters from natural-language query. Includes specific examples (category, location, canton, price) and distinguishes from sibling search_classifieds tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use before search_classifieds when user mentions specific entities in free text. Provides clear context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.