https://mcp.zephior.comEmbed Verified README Badge (Free): [](https://assay-207908449630.us-central1.run.app/?inspect=https://mcp.zephior.com)
Canonical SHA-256 Schema Lock: sha256:6fea8a8aa56d4.. → sha256:64ebd477059cb..
| MCP Tool Name | Current TDQS | Detected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema) |
|---|---|---|
search_public_tenders | 4.35/5.0 (87) | Behavior 3/5: no side-effect/quota disclosure |
get_public_tender | 4.35/5.0 (87) | Behavior 3/5: no side-effect/quota disclosure |
get_public_tender_facets | 3.7/5.0 (74) | Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure |
list_public_tender_changes | 3.7/5.0 (74) | Usage Guidelines 3/5: no sibling routing, Behavior 3/5: no side-effect/quota disclosure |
list_public_tender_sources | 4.35/5.0 (87) | Behavior 3/5: no side-effect/quota disclosure |
get_zephior_overview | 4.35/5.0 (87) | Parameters 3/5: no cross-param interaction prose |
search_zephior_resources | 4.35/5.0 (87) | Parameters 3/5: no cross-param interaction prose |
get_zephior_document | 4.35/5.0 (87) | Parameters 3/5: no cross-param interaction prose |
{
"tool_1_before": {
"name": "search_public_tenders",
"title": "Search public tenders",
"description": "Search published tender notices by text, country, sector, category, CPV prefix, status, buyer, deadline window, estimated value and place. Returns compact hits with canonical citations, 20 per page by default (limit up to 50); read get_public_tender for notice text, facts, related notices and history. total counts notices and procedures counts them once per procedure where one is published on several portals; read each nextPage before calling a list complete. q matches every word, in the source language or the visitor copy, with or without accents; words of five or more letters also match longer compounds. For broad needs prefer sectors or cpv over category IDs, and add q keywords. sort deadline orders date-only deadlines by their day. A zero result can mean no coverage, a narrow filter or different wording: widen filters or try source-language keywords before concluding nothing exists.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"q": {
"type": "string",
"maxLength": 300
},
"countries": {
"type": "array",
"maxItems": 250,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"categories": {
"type": "array",
"maxItems": 500,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z0-9-]{1,100}$"
}
},
"statuses": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"open",
"closing-soon",
"closed",
"awarded",
"cancelled",
"suspended",
"upcoming",
"unconfirmed"
]
},
"default": [
"closing-soon",
"open",
"unconfirmed",
"upcoming"
],
"description": "Omit for active statuses (open, closing-soon, upcoming, unconfirmed). An explicit empty array includes all statuses. closing-soon is an open notice whose deadline is within 7 days (168 hours); a passed deadline shows as closed. OR within each filter, AND between filters and text search."
},
"buyer": {
"type": "string",
"maxLength": 100
},
"sort": {
"type": "string",
"enum": [
"relevance",
"deadline",
"newest"
],
"default": "relevance"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 1000000,
"default": 1
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en"
},
"view": {
"type": "string",
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "compact returns what is needed to choose and cite a notice; full returns whole records (notice text, facts, history), at most 20 per page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
},
"sectors": {
"type": "array",
"maxItems": 16,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"construction",
"medical",
"it-telecoms",
"energy",
"environment",
"transport",
"facilities",
"food",
"engineering",
"consulting",
"education",
"office",
"culture",
"machinery",
"materials",
"agriculture"
]
},
"description": "Broad sectors grouping every category and CPV code, such as construction or it-telecoms. Prefer this to category IDs for broad needs."
},
"deadlineFrom": {
"type": "string",
"maxLength": 40,
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[0-9:.]+(Z|[+-]\\d{2}:\\d{2}))?$",
"description": "Earliest submission deadline: an ISO date (from its start, UTC) or a time with a timezone. Date-only deadlines count as the end of their day."
},
"deadlineTo": {
"type": "string",
"maxLength": 40,
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[0-9:.]+(Z|[+-]\\d{2}:\\d{2}))?$",
"description": "Latest submission deadline: an ISO date (to its end, UTC) or a time with a timezone. Notices without a deadline are excluded once either bound is set."
},
"cpv": {
"type": "array",
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^\\d{2,8}$"
},
"description": "CPV code prefixes, such as 45 (construction work) or 72 (IT services). Matches notices whose source lists such a code."
},
"valueMin": {
"type": "number",
"minimum": 0,
"description": "Lowest estimated value; needs currency."
},
"valueMax": {
"type": "number",
"minimum": 0,
"description": "Highest estimated value; needs currency."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "Currency of valueMin and valueMax, such as CHF or EUR. Only notices stating an estimated value in this currency match; amounts are not converted."
},
"place": {
"type": "string",
"minLength": 3,
"maxLength": 100,
"description": "Part of the place of performance or buyer location as published, such as Gen\u00e8ve or Z\u00fcrich. Spelling matters; many notices name only a region."
}
}
},
"annotations": {
"title": "Search public tenders",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
},
"outputSchema": {
"type": "object",
"required": [
"items",
"total",
"page",
"limit",
"filters",
"locale",
"url",
"nextPage"
],
"properties": {
"items": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"required": [
"id",
"url",
"title",
"summary",
"status",
"locale",
"deadline",
"modifiedAt"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en"
},
"status": {
"type": "string",
"enum": [
"open",
"closing-soon",
"closed",
"awarded",
"cancelled",
"suspended",
"upcoming",
"unconfirmed"
]
},
"country": {
"type": "string"
},
"deadline": {
"type": "object",
"required": [
"at",
"date",
"precision"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"date": {
"type": [
"string",
"null"
]
},
"precision": {
"type": "string",
"enum": [
"instant",
"date",
"unavailable"
]
}
},
"additionalProperties": true
},
"modifiedAt": {
"type": "string"
}
},
"additionalProperties": true
}
},
"total": {
"type": "integer",
"minimum": 0
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"filters": {
"type": "object",
"additionalProperties": true
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en"
},
"url": {
"type": "string"
},
"nextPage": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}
},
"tool_1_compiled_5_0_tdqs": {
"name": "search_public_tenders",
"title": "Search Public Tenders",
"description": "Search published tender notices by text, country, sector, category, CPV prefix, status, buyer, deadline window, estimated value and place. Returns compact hits with canonical citations, 20 per page by default (limit up to 50); read get_public_tender for notice text, facts, related notices and history. total counts notices and procedures counts them once per procedure where one is published on several portals; read each nextPage before calling a list complete. q matches every word, in the source language or the visitor copy, with or without accents; words of five or more letters also match longer compounds. For broad needs prefer sectors or cpv over category IDs, and add q keywords. sort deadline orders date-only deadlines by their day. A zero result can mean no coverage, a narrow filter or different wording: widen filters or try source-language keywords before concluding nothing exists. WHEN TO USE: Call search_public_tenders for this operation; for sibling workflows use get_public_tender, get_public_tender_facets, list_public_tender_changes. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass q, countries to scope execution; optional fields refine filtering when set and use safe defaults when omitted. Read-only and idempotent; failed calls do not mutate state.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"q": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Target q value for search_public_tenders."
},
"countries": {
"type": "array",
"maxItems": 250,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"categories": {
"type": "array",
"maxItems": 500,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z0-9-]{1,100}$"
}
},
"statuses": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"open",
"closing-soon",
"closed",
"awarded",
"cancelled",
"suspended",
"upcoming",
"unconfirmed"
]
},
"default": [
"closing-soon",
"open",
"unconfirmed",
"upcoming"
],
"description": "Omit for active statuses (open, closing-soon, upcoming, unconfirmed). An explicit empty array includes all statuses. closing-soon is an open notice whose deadline is within 7 days (168 hours); a passed deadline shows as closed. OR within each filter, AND between filters and text search."
},
"buyer": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Target buyer value for search_public_tenders."
},
"sort": {
"type": "string",
"enum": [
"relevance",
"deadline",
"newest"
],
"default": "relevance",
"minLength": 1,
"maxLength": 2048,
"description": "Target sort value for search_public_tenders."
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 1000000,
"default": 1
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en",
"minLength": 1,
"maxLength": 2048,
"description": "Target locale value for search_public_tenders."
},
"view": {
"type": "string",
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "compact returns what is needed to choose and cite a notice; full returns whole records (notice text, facts, history), at most 20 per page.",
"minLength": 1,
"maxLength": 2048
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
},
"sectors": {
"type": "array",
"maxItems": 16,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"construction",
"medical",
"it-telecoms",
"energy",
"environment",
"transport",
"facilities",
"food",
"engineering",
"consulting",
"education",
"office",
"culture",
"machinery",
"materials",
"agriculture"
]
},
"description": "Broad sectors grouping every category and CPV code, such as construction or it-telecoms. Prefer this to category IDs for broad needs."
},
"deadlineFrom": {
"type": "string",
"maxLength": 40,
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[0-9:.]+(Z|[+-]\\d{2}:\\d{2}))?$",
"description": "Earliest submission deadline: an ISO date (from its start, UTC) or a time with a timezone. Date-only deadlines count as the end of their day.",
"minLength": 1
},
"deadlineTo": {
"type": "string",
"maxLength": 40,
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[0-9:.]+(Z|[+-]\\d{2}:\\d{2}))?$",
"description": "Latest submission deadline: an ISO date (to its end, UTC) or a time with a timezone. Notices without a deadline are excluded once either bound is set.",
"minLength": 1
},
"cpv": {
"type": "array",
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^\\d{2,8}$"
},
"description": "CPV code prefixes, such as 45 (construction work) or 72 (IT services). Matches notices whose source lists such a code."
},
"valueMin": {
"type": "number",
"minimum": 0,
"description": "Lowest estimated value; needs currency."
},
"valueMax": {
"type": "number",
"minimum": 0,
"description": "Highest estimated value; needs currency."
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "Currency of valueMin and valueMax, such as CHF or EUR. Only notices stating an estimated value in this currency match; amounts are not converted.",
"minLength": 1,
"maxLength": 2048
},
"place": {
"type": "string",
"minLength": 3,
"maxLength": 100,
"description": "Part of the place of performance or buyer location as published, such as Gen\u00e8ve or Z\u00fcrich. Spelling matters; many notices name only a region."
}
}
},
"annotations": {
"title": "Search public tenders",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
},
"outputSchema": {
"type": "object",
"required": [
"items",
"total",
"page",
"limit",
"filters",
"locale",
"url",
"nextPage"
],
"properties": {
"items": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"required": [
"id",
"url",
"title",
"summary",
"status",
"locale",
"deadline",
"modifiedAt"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en"
},
"status": {
"type": "string",
"enum": [
"open",
"closing-soon",
"closed",
"awarded",
"cancelled",
"suspended",
"upcoming",
"unconfirmed"
]
},
"country": {
"type": "string"
},
"deadline": {
"type": "object",
"required": [
"at",
"date",
"precision"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"date": {
"type": [
"string",
"null"
]
},
"precision": {
"type": "string",
"enum": [
"instant",
"date",
"unavailable"
]
}
},
"additionalProperties": true
},
"modifiedAt": {
"type": "string"
}
},
"additionalProperties": true
}
},
"total": {
"type": "integer",
"minimum": 0
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"filters": {
"type": "object",
"additionalProperties": true
},
"locale": {
"type": "string",
"enum": [
"en",
"de",
"fr"
],
"default": "en"
},
"url": {
"type": "string"
},
"nextPage": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}
},
"auto_generated_a2a_skill_1_preview": {
"id": "search-public-tenders",
"name": "Search Public Tenders",
"description": "Search published tender notices by text, country, sector, category, CPV prefix, status, buyer, deadline window, estimated value and place. Returns compact hits with canonical citations, 20 per page by default (limit up t",
"tags": [
"mcp",
"a2a",
"x402",
"search"
]
},
"signed_mcp_lock_preview": {
"target": "https://mcp.zephior.com",
"tools_hash": "sha256:64ebd477059cb6504591cead0aa7cf760477a4051b83015a236ac4ab3f6c59d8",
"tdqs": 5.0,
"protocols": [
"mcp-2025-03-26",
"a2a-0.2.1",
"x402-v2-bazaar",
"stripe-mpp-32042"
],
"signature": "asr_lock_5818edcc2ba62bb20a836335629bc180"
},
"locked_bundle_contents": "Unlock remaining 7 compiled 5.0/5.0 tools + full /.well-known/agent-card.json + /.well-known/mcp.json + Coinbase x402 Bazaar & Stripe MPP (-32042) monetization config below ($9)"
}
All 25 first-party production nodes enforce deterministic schemas, sub-second SLA, and instant x402 (`0xec5275d5b03bc390fca63d902d0b2d0db2eb5573`) + Stripe MPP settlement: