comprasal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COMPRASAL_CACHE_DIR | No | Cache directory (gitignored, never committed) | .comprasal-cache |
| COMPRASAL_CACHE_TTL_MS | No | Entry lifetime in milliseconds; expired entries are deleted on read | 3600000 |
| COMPRASAL_CACHE_ENABLED | No | Set to true to cache raw API responses on disk | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_procurementA | Search awarded public procurement processes from El Salvador's COMPRASAL system. Returns matched awards, each with institution, supplier, awarded amount, dates, and process code. Use list_institutions first to turn an institution name into id_institucion. HOW FILTERING WORKS: the upstream government API only filters server-side by id_institucion. Year, free-text and date-range are applied CLIENT-SIDE by this server over the award date (fecha_adjudicacion) and text fields, by scanning newest-first pages. Because of that, prefer always passing id_institucion to keep the scan focused. The response includes a 'filtering' block: if window_fully_covered is false, increase 'page' to keep scanning older records. fecha_inicio/fecha_fin here DO filter on the actual award date. Each upstream record may represent one lot/supplier line of a larger process. One call scans a bounded number of pages (~7s each upstream), so it may take 10-40s. |
| get_process_detailA | Get full detail of one procurement process by its proceso_compra id: code, internal code, publication/award dates, awarded amount, contracting form, follow-up state, and the full stage calendar (reception of offers, evaluation, etc.). The id comes from the 'proceso_compra.id' field of a search_procurement result. |
| get_award_reportA | Get the richest award report for a process: contract name, contracting form, contractual term, planned vs certified amounts, signature date, budget codes (cifrados presupuestarios), and the list of bidders (oferentes). CAVEAT: this endpoint's id is NOT the proceso_compra.id used elsewhere; it lives in a different id space. Obtain the correct id from a process detail payload. If you pass the wrong id you will get a different contract. When unsure, prefer get_process_detail. |
| get_supplier_contractsA | Find the public contracts won by a specific SUPPLIER (company), by name, across institutions. Useful to build a supplier's public-sector track record ('what has company X been awarded?'). CRITICAL LIMITATION: the upstream government API cannot filter by supplier, and only sorts newest-first, so this performs a BOUNDED scan of the most-recent records — it does NOT return a supplier's full multi-year history. The response includes a 'coverage' block stating exactly what was scanned and warning when the result is bounded. Always relay that limitation to the user; never present a bounded scan as exhaustive. If you know which institution to look within, pass id_institucion to make the scan far faster and deeper. Each page is ~7s; raising max_pages increases coverage but also wait time. |
| list_institutionsA | List/search government institutions registered in COMPRASAL, to resolve a name into the numeric id_institucion used by search_procurement. Pass 'search' with a partial name (e.g. 'salud', 'hacienda'). |
| list_modalitiesA | List contracting modalities (formas de contratación: Licitación competitiva, Libre Gestión, Contratación Directa, Comparación de precios, etc.) with their ids, to use as id_modalidad filters. |
| list_statesA | List procurement process states with their ids, to use as id_estado filters. |
| list_yearsA | List the fiscal years (ejercicios) available in COMPRASAL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guillaumehussong/comprasal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server