mcpField
E
ESGO

ESGO

Local
es-go.deMaps & Travel1Updated 1w ago

About ESGO

ESGO is a local MCP server for AI assistants using the ESGO API to find empty-run freight capacity and publish transport requests. Its tools are generated from the live API specification at startup, with a bundled copy as fallback.

Key features

  1. 01Search matching empty-run capacity
  2. 02Publish open transport requests
  3. 03Retrieve account details
  4. 04List matches for requests
  5. 05Generate tools from OpenAPI spec

Use cases

  1. 01Find available truck capacity by route, weight and date
  2. 02Post an open transport request
  3. 03Check matches for a published request

MCP support

Exposes ESGO API operations as MCP tools, generated from the live OpenAPI specification at startup. Read operations are marked read-only, while data creation requires client approval.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"esgo-logistics-esgo": {
"command": "uvx",
"args": [
"esgo-mcp"
],
"env": {
"ESGO_API_KEY": "<ESGO_API_KEY>",
"ESGO_BASE_URL": "<ESGO_BASE_URL>"
}
}
}
}
Run commanduvx esgo-mcp
Environment variables to set
ESGO_API_KEYSecretYour ESGO API key (esgo_live_...), issued by ESGO
ESGO_BASE_URLBase URL of the ESGO API

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiesgo-mcp0.1.1

Tools

4

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
originstringYesOrigin, ideally postcode and city.
weight_kgnumberYesCargo weight in kilograms.
destinationstringYesDestination, ideally postcode and city.
service_idsarrayNoRequired additional services (ESGO service IDs).
loading_metersnumber|nullNoLoading meters needed (max 13.6).
loading_requirementenumNoHow the cargo has to be loaded. "any" never filters; "seite" (side) and "oben" (top) exclude box bodies; "heck" means rear loading.any | heck | seite | oben

Details

From the project README

ESGO MCP server

Deutsche Version weiter unten

Lets AI assistants (Claude, Cursor, VS Code, Windsurf and others that speak the Model Context Protocol) use the ESGO API: search for matching empty-run capacity in road freight and publish open transport requests, in plain language.

"Find free capacity from 47057 Duisburg to 80331 München for 12 t next week."

Alpha. The tools follow the ESGO API v1 automatically (see below).

How it works

Every operation of the ESGO API becomes one tool, built at start-up from the live OpenAPI spec at api.es-go.de/v1/openapi.json. When ESGO adds an endpoint, it is available as a tool the next time the server starts, without updating this package. If the API cannot be reached at start-up, the server uses the copy of the spec it ships with.

Tools that only read (me_retrieve, matches_search, open_requests_list_matches) are marked read-only; tools that create data (open_requests_create) are not, so your assistant asks before calling them.

Access

You need an ESGO API key; there is no self-service sign-up yet. Request access at es-go.de/developers. The key stays on your machine and is only sent to the ESGO API.

Installation

The server runs locally and is started by your AI app. You need uv; uvx downloads and runs the package on demand.

Claude Desktop (claude_desktop_config.json), Cursor (.cursor/mcp.json), Windsurf and others with the same format:

{
  "mcpServers": {
    "esgo": {
      "command": "uvx",
      "args": ["esgo-mcp"],
      "env": { "ESGO_API_KEY": "esgo_live_..." }
    }
  }
}

Claude Code:

claude mcp add esgo -e ESGO_API_KEY=esgo_live_... -- uvx esgo-mcp

VS Code (.vscode/mcp.json):

{
  "servers": {
    "esgo": {
      "command": "uvx",
      "args": ["esgo-mcp"],
      "env": { "ESGO_API_KEY": "esgo_live_..." }
    }
  }
}

Without uv: pip install esgo-mcp, then use esgo-mcp as the command.

VariableMeaning
ESGO_API_KEYyour ESGO API key (required for calls)
ESGO_BASE_URLoptional, default https://api.es-go.de

Tools (as of October 2026)

The list comes from the API itself, so it may already be longer when you read this.

ToolEndpointChanges data
me_retrieveGET /v1/meno
matches_searchPOST /v1/matches/searchno
open_requests_createPOST /v1/open-requestsyes
open_requests_list_matchesGET /v1/open-requests/{request_id}/matchesno

Errors of the API (for example [429] daily_quota_exceeded or [422] invalid_parameter (param: weight_kg)) are returned to the assistant as tool errors, so it can correct the input or tell you.

Related

License

MIT, see LICENSE.


ESGO MCP server (Deutsch)

Damit können KI-Assistenten (Claude, Cursor, VS Code, Windsurf und andere, die das Model Context Protocol sprechen) die ESGO API nutzen: passende Leerfahrten im Straßengüterverkehr suchen und offene Transportanfragen einstellen, in normaler Sprache.

So funktioniert es: Jeder Endpunkt der ESGO API wird zu einem Werkzeug. Der Server baut die Werkzeuge beim Start aus der aktuellen OpenAPI-Spezifikation. Neue Endpunkte sind damit beim nächsten Start da, ohne Update dieses Pakets. Ist die API beim Start nicht erreichbar, nimmt der Server die mitgelieferte Kopie. Werkzeuge, die Daten anlegen, sind entsprechend markiert; der Assistent fragt vorher nach.

Zugang: Du brauchst einen API-Schlüssel von ESGO, anzufragen unter es-go.de/developers. Der Schlüssel bleibt auf deinem Rechner und geht nur an die ESGO API.

Einrichtung: siehe die Konfigurationsbeispiele oben. Benötigt wird uv; uvx esgo-mcp lädt und startet das Paket.

Lizenz: MIT, siehe LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.