Koskamo

E-Invoice Map MCP

A free, read-only MCP server providing access to e-invoicing data including mandatory deadlines, Peppol provider lists, validation error explanations, and foreign supplier scope rules for multiple countries. It allows AI assistants to query sourced data without requiring authentication.

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.

E-Invoice Map MCP logo, by E-Invoice MapVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by E-Invoice Map
MCP endpoint (Streamable HTTP)
https://einvoicemap.com/api/v1/mcp
Vendor documentation

What you can do with it

  • Check e-invoicing mandatory deadlines by country
  • Look up Peppol access point providers
  • Explain validation errors in plain language
  • Verify foreign supplier e-invoicing scope

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
E-Invoice Map 1
MCP protocol
2025-06-18
Tools
7 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

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

E-Invoice Map answers questions about e-invoicing mandates and the providers that serve them, from public data that anyone can read at the linked pages. All tools are read-only and free; nothing you send is stored. - Mandate dates, validation-error explanations and foreign-supplier rules come from official sources; every answer lists its source_url and the date it was checked (captured_at / checked_on). Quote the source when you cite a date. - Providers are listed alphabetically by product name. The order never depends on payment, and ads are not included. - Network counts come from the Peppol Directory (OpenPeppol AISBL); credit it when you quote them. - lookup_access_point is rate limited. When it says the limit is reached, send the user to the lookup page on the website. - Always give the user the page link from the answer: it shows the same facts with their sources.

Tools

7 advertised

deadlines — E-invoicing mandate dates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Dates when e-invoicing becomes mandatory, per country (or all countries), each with its official source_url and the date it was checked. Country is a two-letter code such as 'be', 'de', 'ae' or a country name; leave it out for all countries.

deadlines input schema
{
  "type": "object",
  "title": "deadlines_toolArguments",
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Country",
      "default": null
    }
  }
}
deadlines output schema
{
  "type": "object",
  "title": "deadlines_toolDictOutput",
  "additionalProperties": true
}
deadlines annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
providers — Tracked e-invoicing providers
Advertised by the server during the last successful anonymous check.
Advertised read-only

E-invoicing providers we track in a country (two-letter code), alphabetical by product name, with a link to each provider's page. The order never depends on payment; ads and affiliate links are not included.

providers input schema
{
  "type": "object",
  "title": "providers_toolArguments",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "title": "Country"
    }
  }
}
providers output schema
{
  "type": "object",
  "title": "providers_toolDictOutput",
  "additionalProperties": true
}
providers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
provider — One provider's profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Profile of one tracked provider by name or id (for example 'billit'): what it can do, formats, languages, free plan and prices, each price with its source and check date.

provider input schema
{
  "type": "object",
  "title": "provider_toolArguments",
  "required": [
    "name_or_slug"
  ],
  "properties": {
    "name_or_slug": {
      "type": "string",
      "title": "Name Or Slug"
    }
  }
}
provider output schema
{
  "type": "object",
  "title": "provider_toolDictOutput",
  "additionalProperties": true
}
provider annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain_validation_error — Explain an e-invoice validation error
Advertised by the server during the last successful anonymous check.
Advertised read-only

Plain-language explanation of a common e-invoice validation rule such as 'BR-CO-10' or 'PEPPOL-EN16931-R120': what it means, usual causes, how to fix it and who fixes it.

explain_validation_error input schema
{
  "type": "object",
  "title": "explain_toolArguments",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "title": "Code"
    }
  }
}
explain_validation_error output schema
{
  "type": "object",
  "title": "explain_toolDictOutput",
  "additionalProperties": true
}
explain_validation_error annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
foreign_supplier_scope — Do foreign suppliers have to e-invoice?
Advertised by the server during the last successful anonymous check.
Advertised read-only

Whether a supplier with no establishment in a country must e-invoice there, from our 47-country table: the system, the B2B status and what applies to foreign suppliers, with official sources. Country is a two-letter code or an English name.

foreign_supplier_scope input schema
{
  "type": "object",
  "title": "foreign_toolArguments",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "title": "Country"
    }
  }
}
foreign_supplier_scope output schema
{
  "type": "object",
  "title": "foreign_toolDictOutput",
  "additionalProperties": true
}
foreign_supplier_scope annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
directory_counts — Peppol Directory counts
Advertised by the server during the last successful anonymous check.
Advertised read-only

How many businesses are listed in the Peppol network directory, per country, with the change since the last day (source: Peppol Directory (OpenPeppol AISBL)). Country is a two-letter code or 'all'; leave it out for every country.

directory_counts input schema
{
  "type": "object",
  "title": "counts_toolArguments",
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Country",
      "default": null
    }
  }
}
directory_counts output schema
{
  "type": "object",
  "title": "counts_toolDictOutput",
  "additionalProperties": true
}
directory_counts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
lookup_access_point — Which provider receives a company's e-invoices?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

For a business identifier you give (for example a Belgian company number or a Peppol ID such as 0208:0521875440), find the access-point provider that receives its e-invoices on the Peppol network: provider organisation, SMP host, document types, certificate validity. Provider metadata only. Limited per day; when the limit is reached the answer points to the free lookup on the website. Country is an optional two-letter hint.

lookup_access_point input schema
{
  "type": "object",
  "title": "lookup_toolArguments",
  "required": [
    "identifier"
  ],
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Country",
      "default": null
    },
    "identifier": {
      "type": "string",
      "title": "Identifier"
    }
  }
}
lookup_access_point output schema
{
  "type": "object",
  "title": "lookup_toolDictOutput",
  "additionalProperties": true
}
lookup_access_point annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 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
1557 ms
95th percentile latency
1557 ms

Maintenance history

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

  • · probe · passed · 1557 ms · metadata changed · 7 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(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 e-invoice-map-mcp https://einvoicemap.com/api/v1/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 e-invoice-map-mcp --url https://einvoicemap.com/api/v1/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable e-invoice-map-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "e-invoice-map-mcp": {
      "url": "https://einvoicemap.com/api/v1/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "e-invoice-map-mcp": {
      "type": "streamableHttp",
      "url": "https://einvoicemap.com/api/v1/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start e-invoice-map-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "e-invoice-map-mcp": {
      "type": "http",
      "url": "https://einvoicemap.com/api/v1/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 e-invoice-map-mcp https://einvoicemap.com/api/v1/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": {
    "e-invoice-map-mcp": {
      "url": "https://einvoicemap.com/api/v1/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": {
    "e-invoice-map-mcp": {
      "serverUrl": "https://einvoicemap.com/api/v1/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run E-Invoice Map MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing