Skip to main content
Glama
@vext-ma/soumit-mcp

@vext-ma/soumit-mcp

by vext-ma

@vext-ma/soumit-mcp

Official Model Context Protocol (MCP) Server for Soumit (https://soumit.ma)
Moroccan Public Procurement Intelligence for Claude Desktop, Cursor, Claude Code, Windsurf, and Autonomous AI Agents.

MCP Protocol Décret 2-22-431 License: MIT


Overview

@vext-ma/soumit-mcp connects Large Language Models (Claude 3.7 / Opus 3.5, GPT-4o, Gemini 2.0 / 3.8) directly to the Soumit Intelligence Engine.

It equips your agent with live tools to:

  1. Search active Moroccan public tenders across all regions and sectors.

  2. Inspect full consultation dossiers (CPS, RC, BPU), eliminatory criteria, and Go/No-Go scorecards.

  3. Compute exact financial compliance under Moroccan Procurement Decree n° 2-22-431 (checking abnormally low and excessive bid price thresholds under Articles 44 & 45).

  4. Extract historical competitor awards, winning prices, discount rates, and buyer client relationships.

  5. Retrieve weekly and quarterly public procurement barometer snapshots.

  6. Audit administrative submission folders to eliminate instant disqualification risks (Articles 27 & 28).


Related MCP server: Tender MCP

Quick Setup

1. Claude Desktop

Add @vext-ma/soumit-mcp to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "soumit-procurement": {
      "command": "npx",
      "args": ["-y", "@vext-ma/soumit-mcp"],
      "env": {
        "SOUMIT_API_KEY": "sk_live_your_api_key_here",
        "SOUMIT_API_URL": "https://soumit.ma"
      }
    }
  }
}

2. Cursor IDE

In your project root, configure .cursor/mcp.json:

{
  "mcpServers": {
    "soumit": {
      "command": "npx",
      "args": ["-y", "@vext-ma/soumit-mcp"],
      "env": {
        "SOUMIT_API_KEY": "sk_live_your_api_key_here"
      }
    }
  }
}

3. Claude Code / CLI

claude mcp add soumit npx -y @vext-ma/soumit-mcp

Exposed MCP Tools

search_tenders

Search live tenders on marchespublics.gov.ma normalized with AI extraction.

  • query (string): Keywords (e.g. 'scanner IRM', 'fibre optique', 'travaux assainissement').

  • sector (string): 'travaux', 'fournitures', or 'services'.

  • min_amount (number): Minimum budget in MAD.

  • limit (number): Maximum results (default: 10).

get_tender_details

Retrieve structured tender specifications, DCE synthesis, deadlines, and Go/No-Go factor breakdown.

  • tender_id (string, required): Soumit tender identifier or official reference.

check_regulatory_compliance

Instant mathematical compliance audit against Decree 2-22-431:

  • estimated_amount_ht (number, required): Administrative tender estimate in MAD HT.

  • proposed_amount_ht (number, required): Proposed offer price in MAD HT.

  • sector_type (string): 'travaux' (-20% threshold) vs 'fournitures' / 'services' (-25% threshold).

search_competitor_awards

Competitive intelligence on Moroccan suppliers and contractors.

  • competitor_name (string, required): Company name or keyword.

  • limit (number): Number of past awards.

get_market_barometer

Macro procurement market trends, median discounts, and sector volume distribution.

  • period (string): 'current' (weekly) or 'quarterly'.

audit_submission_checklist

Crash-test mandatory administrative documents (Articles 27 & 28).

  • tender_reference (string, required): Tender reference.

  • has_provisional_guarantee (boolean): Bank guarantee original ready.

  • has_declaration_on_honor (boolean): Conforming declaration model.

  • has_site_visit_certificate (boolean): Site visit certificate obtained.


Programmatic Library Usage

You can also import the regulatory validator directly into your Node.js or TypeScript code:

import { computeDecreeCompliance } from "@vext-ma/soumit-mcp";

const result = computeDecreeCompliance({
  estimatedAmountHt: 2_500_000,
  proposedAmountHt: 1_800_000,
  sectorType: "fournitures", // max allowed discount: 25% (min: 1,875,000 MAD)
});

console.log(result.status); 
// "OFFRE_ANORMALEMENT_BASSE"
console.log(result.advisory);
// "L'offre est inférieure de 28.0% à l'estimation administrative..."

Tenancy & Data Sovereignty

  • No Data Egress: Operates entirely within the sovereign boundaries of Moroccan law.

  • Fail-Closed Privacy: Your prompts, API keys, and internal catalogues are never stored or logged by public discovery endpoints.


License

MIT © VEXT AI
Casablanca, Morocco

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Exposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to find, score, and monitor government contract opportunities across UK, EU, and US with AI-powered relevance scoring.
    2
    103 npm
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables agents to inspect French public procurement sources, including DECP, BOAMP, buyers, suppliers, and SIRENE data, to discover and summarize public contracts and related context.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and retrieve public procurement notices from 17 sources across Germany, the EU, and the UK, with filtering by country, CPV code, deadline, and contract value, plus full tender details and source freshness checks.
    MIT