ESGO MCP server
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.
| Variable | Meaning |
|---|---|
ESGO_API_KEY |
your ESGO API key (required for calls) |
ESGO_BASE_URL |
optional, 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.
| Tool | Endpoint | Changes data |
|---|---|---|
me_retrieve |
GET /v1/me |
no |
matches_search |
POST /v1/matches/search |
no |
open_requests_create |
POST /v1/open-requests |
yes |
open_requests_list_matches |
GET /v1/open-requests/{request_id}/matches |
no |
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
- Python SDK: pypi.org/project/esgo
- .NET SDK: nuget.org/packages/Esgo
- API reference: api.es-go.de/v1/docs
- Changelog: CHANGELOG.md
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.
Metadata
Release files for esgo-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| esgo_mcp-0.1.1.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| esgo_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.4 kB
Release files / esgo_mcp-0.1.1.tar.gz
| Download URL | esgo_mcp-0.1.1.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d4e17a36a6864d17d01adf48b43b57e49e7de2054fc89c98c67331d01bb083d5
|
|
BLAKE2b-256 checksum How to use checksums |
972d23fa5daa9fd28a01e420a94fec0301d4980938c8572ef776e6cf39ef2f3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / esgo_mcp-0.1.1-py3-none-any.whl
| Download URL | esgo_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6fb95a32c9e90548f8577c0b6b303deaa884cd7b8eb4c0125eee4b13935891f
|
|
BLAKE2b-256 checksum How to use checksums |
763f9df623677f791645bb7382943ba450f1546fea8f2b22b22b326590578582
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency log