Koskamo

Aurelmark MCP

A remote MCP server providing read-only access to EU compliance data including CBAM values, EUDR scope checks, tender deadline changes, sanctions lists, and trade defence measures. It offers a free tier with 100 daily calls and supports prepaid credits for higher usage, serving agents that speak the Model Context Protocol.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Aurelmark MCP logo, by Ishan73744Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Ishan73744
MCP endpoint (Streamable HTTP)
https://aurelmark.live/mcp
Vendor documentation

What you can do with it

  • Retrieve CBAM default emissions values and certificate prices
  • Check EUDR scope for specific CN codes
  • Monitor EU tender deadline changes on TED notices
  • Search sanctions list changes and EU trade defence measures

Source and maintenance

Community listingRegistry 0.4.5
Maintenance checked

Protocol and capabilities

Server
aurelmark 0.4.4
MCP protocol
2025-06-18
Tools
17 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Aurelmark returns EU compliance facts with their official sources. TED tender deadline changes: call list_watched_tenders, then get_tender_deadline_changes. Sanctions list changes (US OFAC, UK, EU): sanctions_list_changes, sanctions_search and sanctions_entry; the official lists are authoritative. EU public-contract winners: eu_contract_awards (new awards since a date, or what a company has won) and get_eu_contract_award. EU funding calls (Funding & Tenders Portal): eu_funding_changes for new calls, moved deadlines and status changes. EU anti-dumping, countervailing and safeguard regulations by CN code: eu_trade_defence_measures; steel and safeguard tariff quotas by CN code and country: eu_trade_quotas. Without an API key, 100 successful TED, contract-award and sanctions answers a day are free; the CBAM, EU deadlines, EUDR, EU funding and trade defence tools are free. Answers are JSON with source links; quote the sources when you rely on them.

Tools

17 advertised

list_watched_tenders — List watched EU tenders
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The TED tenders Aurelmark watches for submission-deadline changes, with when each was last checked and whether its data is fresh. Free. To have a tender added, email the address in /docs.

list_watched_tenders input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
list_watched_tenders annotations
{
  "title": "List watched EU tenders",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_tender_deadline_changes — Get deadline changes for an EU tender
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Observed submission-deadline changes, per lot, for a watched TED tender, with the old and new deadline (local and UTC) and links to both official notices. Also returns the current deadlines. Pass next_cursor or checkpoint_cursor back as cursor to page or to poll for new changes. Uses the free tier, or the caller's API key.

get_tender_deadline_changes input schema
{
  "type": "object",
  "required": [
    "notice_id"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Changes per page, 1 to 50 (default 50)"
    },
    "cursor": {
      "type": "string",
      "description": "Optional cursor from a previous answer"
    },
    "notice_id": {
      "type": "string",
      "pattern": "^[0-9]{1,8}-(19|20)[0-9]{2}$",
      "description": "TED publication number of the watched tender, e.g. 662865-2026"
    }
  },
  "additionalProperties": false
}
get_tender_deadline_changes annotations
{
  "title": "Get deadline changes for an EU tender",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
cbam_default_values — CBAM default emission values
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The EU's official CBAM default embedded-emission values for a CN code, by country of origin and year, with the cost per tonne at the current certificate price and links to the implementing regulation. Free.

cbam_default_values input schema
{
  "type": "object",
  "required": [
    "cn"
  ],
  "properties": {
    "cn": {
      "type": "string",
      "description": "CN code, 4 to 8 digits, e.g. 7208 or 25232900"
    },
    "year": {
      "type": "string",
      "description": "Year, e.g. 2026"
    },
    "country": {
      "type": "string",
      "description": "ISO country of origin, e.g. IN; omit for the 'other countries' value"
    }
  },
  "additionalProperties": false
}
cbam_default_values annotations
{
  "title": "CBAM default emission values",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
cbam_certificate_price — CBAM certificate price
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The current CBAM certificate price used for cost estimates, with its official source. Free.

cbam_certificate_price input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
cbam_certificate_price annotations
{
  "title": "CBAM certificate price",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
cbam_countries — CBAM countries with default values
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Countries of origin that have their own CBAM default values. Free.

cbam_countries input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
cbam_countries annotations
{
  "title": "CBAM countries with default values",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_contract_awards — EU public-contract winners
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

EU public contracts awarded, from official TED contract award notices: who won, the buyer, value, CPV codes, country, award and contract dates and lots, each with the notice link and a SHA-256 proof of the TED answer. Use since (YYYY-MM-DD) for new awards, and filter by CPV code or prefix, buyer country, or winner (company name prefix or official identifier) to answer "has company X won anything since D". Pass next_cursor back as cursor to page or to poll for awards stored since. Uses the free tier, or the caller's API key.

eu_contract_awards input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "cpv": {
      "type": "string",
      "description": "CPV code or prefix, 2 to 8 digits, e.g. 72 for IT services; up to 5, comma-separated"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Awards per page, 1 to 50 (default 20)"
    },
    "since": {
      "type": "string",
      "description": "Awards published on or after this date, YYYY-MM-DD (default: 7 days ago; about 45 days are kept)"
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from a previous answer"
    },
    "winner": {
      "type": "string",
      "description": "Winning company's name, or its beginning, e.g. Mennica Polska"
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Buyer country, 3-letter ISO code as TED uses, e.g. DEU, FRA, POL"
    },
    "winner_id": {
      "type": "string",
      "description": "Winning company's official identifier as given in the notice, e.g. a VAT or company number"
    }
  },
  "additionalProperties": false
}
eu_contract_awards annotations
{
  "title": "EU public-contract winners",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_eu_contract_award — One EU contract award
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One TED contract award notice by its publication number, with winners, buyer, value, CPV, dates, lots, the notice link and proof. Uses the free tier, or the caller's API key.

get_eu_contract_award input schema
{
  "type": "object",
  "required": [
    "notice_id"
  ],
  "properties": {
    "notice_id": {
      "type": "string",
      "pattern": "^[0-9]{1,8}-(19|20)[0-9]{2}$",
      "description": "TED publication number, e.g. 718666-2026"
    }
  },
  "additionalProperties": false
}
get_eu_contract_award annotations
{
  "title": "One EU contract award",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
sanctions_list_changes — Sanctions list changes
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Listings added to, amended on or removed from the US OFAC SDN and Consolidated lists, the UK Sanctions List and the EU Consolidated Financial Sanctions List, found by comparing each official file with the previous copy. Each change has the listing (names, aliases, type, programmes, countries, listing date), the fields that changed, and proof: the official file's URL, its SHA-256 and date. Pass next_cursor back as cursor to page or to poll. The official publication is authoritative. Uses the free tier, or the caller's API key.

sanctions_list_changes input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "list": {
      "enum": [
        "ofac-sdn",
        "ofac-consolidated",
        "uk",
        "eu"
      ],
      "type": "string",
      "description": "One list only"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Changes per page, 1 to 50 (default 20)"
    },
    "since": {
      "type": "string",
      "description": "Changes observed on or after this date, YYYY-MM-DD (default: 7 days ago)"
    },
    "change": {
      "enum": [
        "added",
        "amended",
        "removed"
      ],
      "type": "string",
      "description": "One kind of change only"
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from a previous answer"
    }
  },
  "additionalProperties": false
}
sanctions_list_changes annotations
{
  "title": "Sanctions list changes",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_funding_changes — EU funding call deadline and status changes
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Changes to open and forthcoming EU funding opportunities on the EU Funding & Tenders Portal (Horizon Europe, Digital Europe, CEF, LIFE, CERV and more): new calls, moved or added deadlines, status changes (forthcoming, open) and calls that closed or were withdrawn, each with the record before and after and a link to the official topic page. Pass next_cursor back as cursor to page or to poll. The portal is authoritative. Free.

eu_funding_changes input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "field": {
      "enum": [
        "deadlines",
        "status",
        "opens",
        "deadline_model",
        "title",
        "call_title",
        "kind",
        "url"
      ],
      "type": "string",
      "description": "Only changes to this field"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Changes per page, 1 to 50 (default 20)"
    },
    "since": {
      "type": "string",
      "description": "Changes observed on or after this date, YYYY-MM-DD (default: 7 days ago)"
    },
    "change": {
      "enum": [
        "added",
        "amended",
        "removed"
      ],
      "type": "string",
      "description": "One kind of change only"
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from a previous answer"
    },
    "identifier": {
      "type": "string",
      "description": "Topic or call identifier, or its start, e.g. HORIZON-CL5-2026"
    }
  },
  "additionalProperties": false
}
eu_funding_changes annotations
{
  "title": "EU funding call deadline and status changes",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_trade_defence_measures — EU trade defence measures by CN code
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

EU anti-dumping, countervailing and safeguard regulations as published in the Official Journal (from the Publications Office), each with the CN and TARIC codes found in its text, the countries of origin, the product, the action (provisional or definitive duty, amendment, extension, repeal, termination, registration, initiation) and the EUR-Lex link. Search by CN code (a regulation naming 7208 matches 72085120 and the reverse), date, instrument, action or country. Pass next_cursor back as cursor to page or to poll. Duty rates in force are in TARIC; the Official Journal is authoritative. Free.

eu_trade_defence_measures input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "cn": {
      "type": "string",
      "description": "CN code, 4 to 10 digits, e.g. 7208 or 72085120"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Regulations per page, 1 to 50 (default 20)"
    },
    "since": {
      "type": "string",
      "description": "Regulations dated on or after, YYYY-MM-DD"
    },
    "action": {
      "enum": [
        "provisional",
        "definitive",
        "amendment",
        "extension",
        "repeal",
        "termination",
        "registration",
        "initiation",
        "quota",
        "other"
      ],
      "type": "string",
      "description": "One kind of action only"
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from a previous answer"
    },
    "country": {
      "type": "string",
      "description": "Country of origin, e.g. China"
    },
    "instrument": {
      "enum": [
        "anti-dumping",
        "countervailing",
        "safeguard",
        "steel"
      ],
      "type": "string",
      "description": "One instrument only (steel: acts under the EU steel regime, Regulation 2026/1384)"
    }
  },
  "additionalProperties": false
}
eu_trade_defence_measures annotations
{
  "title": "EU trade defence measures by CN code",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_trade_quotas — EU steel and safeguard tariff quotas by CN code and country
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Tariff quotas set by EU trade measures, read from the Official Journal act's own tables: the steel regime's country quotas (Regulation 2026/1384, distributed by 2026/1457) and safeguard quotas such as ferro-alloys. Each row has the quota order number, product category, CN codes, country (or other countries), the volumes in tonnes per period, the out-of-quota duty and the act as proof. By default only the current row per order number; history=true adds rows later acts replaced. Quota balances are in TARIC; the Official Journal is authoritative. Free.

eu_trade_quotas input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "cn": {
      "type": "string",
      "description": "CN code, 4 to 10 digits, e.g. 7208 or 72085120"
    },
    "celex": {
      "type": "string",
      "description": "Only quotas from this act, e.g. 32026R1457"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Quotas per page, 1 to 50 (default 20)"
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from a previous answer"
    },
    "country": {
      "type": "string",
      "description": "Country, e.g. India or Türkiye"
    },
    "history": {
      "type": "boolean",
      "description": "Also rows replaced by later acts (default false)"
    },
    "order_number": {
      "type": "string",
      "pattern": "^[0-9]{2}\\.[0-9]{4}$",
      "description": "Quota order number, e.g. 09.9801"
    }
  },
  "additionalProperties": false
}
eu_trade_quotas annotations
{
  "title": "EU steel and safeguard tariff quotas by CN code and country",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
sanctions_search — Search current sanctions listings
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Current listings on the US OFAC, UK and EU sanctions lists whose name or alias contains a word starting with the given text (case, accents and punctuation ignored). A lead for screening, not a match decision: confirm against the official list. Uses the free tier, or the caller's API key.

sanctions_search input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "list": {
      "enum": [
        "ofac-sdn",
        "ofac-consolidated",
        "uk",
        "eu"
      ],
      "type": "string",
      "description": "One list only"
    },
    "name": {
      "type": "string",
      "description": "Name or its beginning, at least 3 letters, e.g. Rosneft"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Matches, 1 to 50 (default 20)"
    }
  },
  "additionalProperties": false
}
sanctions_search annotations
{
  "title": "Search current sanctions listings",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
sanctions_entry — One sanctions listing
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One current listing by list and id (as returned by sanctions_search or sanctions_list_changes), with proof of the file it came from. Uses the free tier, or the caller's API key.

sanctions_entry input schema
{
  "type": "object",
  "required": [
    "list",
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,40}$",
      "description": "The listing's id on that list, e.g. 36 or RUS0849"
    },
    "list": {
      "enum": [
        "ofac-sdn",
        "ofac-consolidated",
        "uk",
        "eu"
      ],
      "type": "string",
      "description": "The list"
    }
  },
  "additionalProperties": false
}
sanctions_entry annotations
{
  "title": "One sanctions listing",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_compliance_deadlines — EU compliance deadlines
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Dated EU compliance deadlines (CBAM, EUDR and others), each with its legal source and days remaining. Filter by law, status or date range. Free.

eu_compliance_deadlines input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "to": {
      "type": "string",
      "description": "Latest date, YYYY-MM-DD"
    },
    "law": {
      "type": "string",
      "description": "Filter by law, e.g. CBAM or EUDR"
    },
    "from": {
      "type": "string",
      "description": "Earliest date, YYYY-MM-DD"
    },
    "status": {
      "enum": [
        "upcoming",
        "applies"
      ],
      "type": "string",
      "description": "upcoming or applies"
    }
  },
  "additionalProperties": false
}
eu_compliance_deadlines annotations
{
  "title": "EU compliance deadlines",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eu_compliance_deadline — One EU compliance deadline
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One deadline from eu_compliance_deadlines by its id, with its source and history. Free.

eu_compliance_deadline input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z0-9-]{1,80}$",
      "description": "Deadline id from eu_compliance_deadlines"
    }
  },
  "additionalProperties": false
}
eu_compliance_deadline annotations
{
  "title": "One EU compliance deadline",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eudr_scope — EUDR scope check
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Whether a CN or HS code is in scope of the EU Deforestation Regulation (EUDR), which commodity it falls under, and when the rules apply, with sources. Free.

eudr_scope input schema
{
  "type": "object",
  "required": [
    "cn"
  ],
  "properties": {
    "cn": {
      "type": "string",
      "description": "CN or HS code, 4 to 8 digits, e.g. 0901"
    }
  },
  "additionalProperties": false
}
eudr_scope annotations
{
  "title": "EUDR scope check",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
eudr_products — EUDR products in scope
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The full list of products in scope of the EUDR (Annex I), with application dates and sources. Free.

eudr_products input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
eudr_products annotations
{
  "title": "EUDR products in scope",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
546 ms
95th percentile latency
546 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 546 ms · metadata changed · 17 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http aurelmark-mcp https://aurelmark.live/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add aurelmark-mcp --url https://aurelmark.live/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable aurelmark-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "aurelmark-mcp": {
      "url": "https://aurelmark.live/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "aurelmark-mcp": {
      "type": "streamableHttp",
      "url": "https://aurelmark.live/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start aurelmark-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "aurelmark-mcp": {
      "type": "http",
      "url": "https://aurelmark.live/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http aurelmark-mcp https://aurelmark.live/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "aurelmark-mcp": {
      "url": "https://aurelmark.live/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "aurelmark-mcp": {
      "serverUrl": "https://aurelmark.live/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Aurelmark MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.