Skip to main content

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.

Metadata

Release files for dbschenker-mcp-server 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dbschenker-mcp-server 0.1.2
File Size Uploaded
dbschenker_mcp_server-0.1.2.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dbschenker-mcp-server 0.1.2
File Interpreter ABI Platform
dbschenker_mcp_server-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / dbschenker_mcp_server-0.1.2.tar.gz

Download URL dbschenker_mcp_server-0.1.2.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6959f5b834233e63547f6109f29818f0fe7904f10cc5571a6bc5b3c1c502df18
BLAKE2b-256 checksum
How to use checksums
bcb7e4f40445f72e5544d37905b3d67215d1bcd4169c33fe0679cc6bac897d88
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / dbschenker_mcp_server-0.1.2-py3-none-any.whl

Download URL dbschenker_mcp_server-0.1.2-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c0b8e89fd4385f26a9705e2674020e16ee845c8551e29b668bd6a2e65a243969
BLAKE2b-256 checksum
How to use checksums
24b1a7bd07e68d62dcbf64fc30bb5f2cfb73d9f1e4a27da4ef17d0ebf0751dbf
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page