Skip to main content

MCP Server for DB Schenker Shipments

Project description

DB Schenker Shipment Information MCP Server

demo The above shows Claude Desktop making use of my MCP tool, retrieving and structuring data from this website
PyPI version

How to test it yourself (with Claude Desktop)

1. Install uv for your OS
2. Set up Claude Desktop
  • Download Claude Desktop for your OS (if you don't already have it)
  • Follow the installation instructions and open the app.
  • Log in or create an account and proceed to the chat view.
  • Now in the app, click the hamburger menu in the top left.
  • Navigate to File -> Settings -> Developer.
  • Click 'Edit Config'.
    If you see a file not found error...
    • Open your file explorer and head to the parent location of the directory shown in the error (remove "/Claude").
    • Create a folder called 'Claude' and continue from the next step.
  • Download the config file and place it in the Claude folder, or add its contents to the config file if it already exists in the folder.
3. Verify setup
  • Close Claude Desktop if it was running (you might need to end the in a task manager)
  • Open Claude Desktop
  • Click the + sign to the left of the text field
  • Hover over connectors
  • You should now see "DBSchenker" listed as a connector.

You are now ready to test the server! Try asking Claude about the following reference IDs:

  • 1806203236 - Valid, one package
  • 1806290829 - Valid, two packages
  • 180620323 - Invalid, should not find.
  • 123 - Invalid, should ask you for correct format.

My journey and approach

Understanding MCP:

I had never heard of MCP prior to this, so I started by visiting their documentation. A skill I've developed during my studies is how to use LLMs to improve my learning (as opposed to impede - the trap which many students fall in), so I also made lots of prompts asking for pedagogical explanations. Whenever something didn't quite feel intuitive or right, it was of course important to fact check the robot. Since I've studied network protocols, understanding MCP was rather intuitive.

Learning Web Scraping:

Automating website interaction is something I've had in mind for some projects that only ever stayed in my head, but with this I had no choice but to learn it. At first, I thought I would be parsing HTML using a simple request library but, of course, someone has always had the same problem as you have and there exists a good library for most things. My approach to selecting a library to use was to describe the use case to an LLM and then ask it for suggestions with provided rationale. I got recommended Playwright, a library for automating web tests, and after looking into their documentation I decided to stick with it. In essence, it launches a headless browser and provides an intuitive API for you as a programmer to navigate it.

Usability vs Reliability:

Through building this MCP server, I continuously tweaked the timeout values up and down with two opposite arguments in my head:

  • The timeout should be short so that a faulty input is swiftly detected
  • The timeout should be long so that an end user with poor internet connection does not get timed out for a valid request.

In the end, I decided to go with short timeouts and prioritize usability. Since I have no empirical evidence to base it on, the decision was based on my own experience. I would rather have it work faster the 99/100 times I am using it (with fast network connection) and not at all 1/100 times (with slow network), rather than it working 100/100 times but responding slowly to every input error I make.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbschenker_mcp_server-0.1.2.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbschenker_mcp_server-0.1.2-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file dbschenker_mcp_server-0.1.2.tar.gz.

File metadata

  • Download URL: dbschenker_mcp_server-0.1.2.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dbschenker_mcp_server-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6959f5b834233e63547f6109f29818f0fe7904f10cc5571a6bc5b3c1c502df18
MD5 fa08543983b49dc53a979a4bfccc91e1
BLAKE2b-256 bcb7e4f40445f72e5544d37905b3d67215d1bcd4169c33fe0679cc6bac897d88

See more details on using hashes here.

File details

Details for the file dbschenker_mcp_server-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dbschenker_mcp_server-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dbschenker_mcp_server-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0b8e89fd4385f26a9705e2674020e16ee845c8551e29b668bd6a2e65a243969
MD5 a7361a256382976ec8abb5c7a0c01e67
BLAKE2b-256 24b1a7bd07e68d62dcbf64fc30bb5f2cfb73d9f1e4a27da4ef17d0ebf0751dbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page