let’s dev GmbH & Co. KG - The brand for groundbreaking custom software

Blog

Top!

let’s dev | Scroll to top
let’s dev | Scroll to next content item

Hello

let’s dev | Scroll to previous content item
let’s dev Blog | Let someone else do the work—how to create MCPs and use them to seamlessly connect services
by Tobias B.
01. September 2026

Let someone else do the work—how to create MCPs and use them to seamlessly connect services

AI systems have long been capable of far more than just answering questions. Through the Model Context Protocol (MCP), LLMs can be connected to external services, tools, and data sources. But a functioning MCP is far from being a good tool for AI agents. In this post, we draw on our experience at let's dev to show what really matters when building one.

From gimmick to agentic tool

LLMs, or AI in general, are now indispensable in both private and business life. Few technologies have developed as fast and as disruptively in recent years as artificial intelligence. Chatbots started out as a toy for nerds or poorly built support assistants on websites, but AI as a tool, and the content it generates, has long since reached everyday life: traffic reports on the radio are read out by an AI voice, classic search queries can finally be phrased in natural language, and more than a few school assignments get a (not entirely legal) boost from AI.

In the business world, too, the journey has moved well beyond the simple chatbot. It's no longer just about typing questions or search terms into a chat interface. Today it's mainly about connecting different services through their interfaces and letting them get tasks done together. The two biggest providers, OpenAI and Anthropic, keep pushing their clients further toward agentic tools: you can have your next appointments displayed, place an order, or have your download folder cleaned up automatically. And so that an AI can communicate with other services, tools, and data sources easily and consistently, Anthropic introduced the Model Context Protocol (MCP) in late 2024. MCP is an open standard, and there are already many SDKs available to implement it in various programming languages.

Schematic illustration of an AI agent communicating with external tools via MCP

Figure 1: Good tools don't just deliver data – they take the next step

The weather example: simple isn't the same as finished

At let's dev, we started early on connecting our own and third-party services through MCPs and hooking them up to LLMs (by the way, we always design our own solutions so that they meet the data sovereignty criteria of the EU AI Act). And as tempting as MCP's promise is, to simply connect services and tools together, the devil is naturally in the details here too.

Admittedly, building a first version of such a server is really quite easy. Let's say, for example, you want to teach the chat client of your choice to look up the current weather report for a specific location. For that, you could pick a service like OpenWeatherMap. The service offers an API that does exactly what we need. However, the "normal" API call to OpenWeatherMap expects the location in the form of WGS-84-compliant coordinates. Unless you happen to know the coordinates of your favorite or vacation spots by heart, you actually need one more call that converts a city name into coordinates. And now you need a second MCP that provides a corresponding geocoding service. On top of that, when defining the MCP-compliant protocols, you have to make sure the calling LLM understands how to combine the services with each other. A simple "provides weather data for a location" and "converts city names into location data" isn't enough — especially considering that the answer to the question "What is the location of Springfield?" isn't unambiguous, but a list with more than a dozen entries. Without further clarification, there's simply no good solution here. Sure, a chatbot would probably just ask you which Springfield you actually mean. But wasn't the whole point of automation to avoid exactly these kinds of follow-up questions?

This is exactly where it gets interesting: for an AI, or agentic AI, to truly benefit from other services and their combination, you have to think carefully about the design of the MCP interfaces. We too have learned that this is quite a bit more than "simply" wrapping the API.

A tool, not a wrapper

MCPs shouldn't be thought of as thin API wrappers, but as tools built for agents. Anyone who just exposes endpoints bluntly ends up with tools – not dynamic, intelligent working tools. Only those who also design role, timing, and result semantics get genuinely useful collaboration between tools. And that's ultimately what matters to us: we define the task, the "what" – but the tools themselves should figure out and negotiate the actual execution, the "how."

Why writing a good MCP is harder than it looks

This is exactly where many teams underestimate the effort involved. An MCP server that just passes an endpoint through 1:1 can be built in a few hours – and that's exactly what makes it tricky. It looks finished, seems to work fine in the first test, and yet it still falls apart in practice later on, as soon as an agent actually uses it on its own.

A few of the difficulties we keep running into:

Semantics, not syntax. A tool schema that's syntactically correct doesn't tell an LLM anywhere near enough about when it should be used and when it shouldn't. Two tools whose descriptions are too similar lead to an agent picking the wrong one or mixing both up – a problem that only shows up once you actually test the server with a real agent and realistic tasks, not in an isolated unit test of a single function.

Error cases are the real design space. The happy path of a tool is usually written quickly. The real work lies in what happens when a request is ambiguous, an external service doesn't respond, or a result stays incomplete. Should the tool then throw an error, return an empty response, or ask a follow-up question on its own? Each of these decisions fundamentally changes how well an agent can work with the tool – and can't simply be bolted on afterwards without rethinking the interface from scratch.

Security and trust boundaries. As soon as an MCP doesn't just deliver data but itself accepts or processes content from outside – a URL, a document, an email – the trust boundary shifts. Who guarantees that an agent doesn't accidentally process unsafe content, or that instructions hidden in a document don't manipulate the agent itself? Such questions are often simply overlooked in early MCP implementations, because they never came up in the original service's API design.

Interplay between multiple MCPs. As soon as several MCP servers need to work together to solve a task, as in the weather example above, dependencies arise that no single server can resolve on its own. How granular do results need to be so that another tool can process them directly? How do you handle ambiguous intermediate results without the system simply guessing in the end? These are design questions that go far beyond a single interface.

Comparison: a plain API pass-through versus an MCP tool designed for agentic collaboration

Figure 2: Just passed through vs. designed for real collaboration

At let's dev, we now build a whole range of MCP servers – for internal as well as externally connected services – and it's precisely out of this repeated practice that clear, shared principles have emerged for us: tools are never designed in isolation, but always with an eye to how an agent will actually use them within a larger chain. Error cases are considered from the start, not added on afterwards. And recurring building blocks – from the basic server scaffold to unified response formats to security mechanisms – we bundle into a shared internal library instead of reinventing them in every new project. That means a new MCP at let's dev never starts from zero, but builds from day one on a foundation shaped by real, hard-won lessons from previous servers. Our experience in this field lets us build new MCPs quickly today, or adapt existing ones to new standards and circumstances – because of course the Model Context Protocol itself keeps evolving too. We're also happy to help you build your own MCP, or maintain and further develop an existing installation – just get in touch with us.



More articles from our blog

let’s dev Blog | EU AI Act: What the New AI Rules Mean for Software Projects

Corporate

EU AI Act: What the New AI Rules Mean for Software Projects

by Annalena

2026-08-12

Read more
let’s dev Blog | How to Build Scalable Design Systems with Figma Variables

Corporate

How to Build Scalable Design Systems with Figma Variables

by Katharina

2026-06-29

Read more
let’s dev Blog | Figma AI Agent Hands-On Review: How Useful Is The AI in Everyday Design Work?

Corporate

Figma AI Agent Hands-On Review: How Useful Is The AI in Everyday Design Work?

by Annalena

2026-06-23

Read more
let’s dev Blog | WWDC26: Siri AI, iOS 27 and macOS Golden Gate Unveiled

Corporate

WWDC26: Siri AI, iOS 27 and macOS Golden Gate Unveiled

by Julian

2026-06-09

Read more
let’s dev Blog | MCP Figma Design to Code: Optimize AI Design Workflows

Technical

MCP Figma Design to Code: Optimize AI Design Workflows

by Elena

2026-06-02

Read more
let’s dev Blog | UI/UX Trends 2026: Hype vs. Real Value in Design

Corporate

UI/UX Trends 2026: Hype vs. Real Value in Design

by Julian

2026-04-29

Read more
let’s dev Blog | Figma: Magic Button

Corporate

Figma: Magic Button

by Nadine R.

2026-04-01

Read more
let’s dev Blog | Figma Slots: More Flexible Design Systems

Corporate

Figma Slots: More Flexible Design Systems

by Katharina

2026-03-19

Read more
let’s dev Blog | UX hacks with AI tools for modern design teams

Corporate

UX hacks with AI tools for modern design teams

by UX Team

2026-01-28

Read more
let’s dev Blog | Uniform app icons on Google Play: What's behind the new icon design guidelines

Technical

Uniform app icons on Google Play: What's behind the new icon design guidelines

by Nadine R.

2026-01-13

Read more
let’s dev Blog | The let’s dev 2025 year in review: Exciting developments and new perspectives

Corporate

The let’s dev 2025 year in review: Exciting developments and new perspectives

by Julian

2025-12-18

Read more
let’s dev Blog | Migration of Android Apps to Android 16: Requirements, Opportunities, and Best Practices

Technical

Migration of Android Apps to Android 16: Requirements, Opportunities, and Best Practices

by Christian

2025-09-23

Read more
let’s dev Blog | iOS 26: Liquid Glass UI between design and accessibility

Corporate

iOS 26: Liquid Glass UI between design and accessibility

by Nadine

2025-09-10

Read more
let’s dev Blog | Turning the Common Data Model into a Practical Tool for Efficient Automotive Production Planning

Technical

Turning the Common Data Model into a Practical Tool for Efficient Automotive Production Planning

by Nadine B.

2025-08-25

Read more
let’s dev Blog | New Event Ticket Layout in Apple Wallet: More Overview, More Context, More Experience

Technical

New Event Ticket Layout in Apple Wallet: More Overview, More Context, More Experience

by Katharina

2025-08-20

Read more
let’s dev Blog | Apples User Interface in all-new glass design: The WWDC25

Technical

Apples User Interface in all-new glass design: The WWDC25

by Julian

2025-06-11

Read more
let’s dev Blog | NFC for Apple and Google Wallet Passes with Kortpress

Technical

NFC for Apple and Google Wallet Passes with Kortpress

by Aileen

2025-02-11

Read more
let’s dev Blog | Automations with Kortpress and Microsoft Power Automate

Technical

Automations with Kortpress and Microsoft Power Automate

by Aileen

2025-02-07

Read more
let’s dev Blog | Designing for a Better World – The World Usability Day in Stuttgart

Corporate

Designing for a Better World – The World Usability Day in Stuttgart

by Julia & Nadine

2024-11-19

Read more
let’s dev Blog | Sustainable UX Design (SUX)

Technical

Sustainable UX Design (SUX)

by Nadine B.

2024-10-30

Read more
let’s dev Blog | AI, enhanced performance and improved privacy: The Android 15 Update

Technical

AI, enhanced performance and improved privacy: The Android 15 Update

by Julian

2024-10-09

Read more
let’s dev Blog | Important accessibility standards for websites from 2025

Technical

Important accessibility standards for websites from 2025

by Nadine

2024-08-06

Read more
let’s dev Blog | Automated Workflows: Maximum Productivity thanks to Zapier

Technical

Automated Workflows: Maximum Productivity thanks to Zapier

by Antonia

2024-07-18

Read more
let’s dev Blog | Apple Intelligence and ChatGPT: The highlights of WWDC24

Technical

Apple Intelligence and ChatGPT: The highlights of WWDC24

by Julian

2024-06-13

Read more
let’s dev Blog | Big, bigger, OMR: let's dev and Kortpress at the OMR Festival 2024

Corporate

Big, bigger, OMR: let's dev and Kortpress at the OMR Festival 2024

by Julian

2024-05-24

Read more
let’s dev Blog | Discover Dynamic Island: another innovation in the world of iOS

Technical

Discover Dynamic Island: another innovation in the world of iOS

by Nico

2024-04-05

Read more
let’s dev Blog | The World Usability Day 2023

Corporate

The World Usability Day 2023

by Sina

2023-11-10

Read more
let’s dev Blog | Adobe Max 2023

Corporate

Adobe Max 2023

by Julia

2023-10-13

Read more
let’s dev Blog | Accessibility in web development

Technical

Accessibility in web development

by Sarah

2023-10-31

Read more
let’s dev Blog | Digital wallet cards: Strengthening customer engagement in the digital age

Corporate

Digital wallet cards: Strengthening customer engagement in the digital age

by Julian

2023-07-07

Read more
let’s dev Blog | Kortpress at the OMR Festival 2023 in Hamburg

Corporate

Kortpress at the OMR Festival 2023 in Hamburg

by Julian

2023-05-31

Read more
let’s dev Blog | Recap 2022: Smart Devices, Platform Business and innovative Research Projects

Corporate

Recap 2022: Smart Devices, Platform Business and innovative Research Projects

by Julian

2023-01-31

Read more
let’s dev Blog | Creating animations for websites using LottieFiles

Corporate

Creating animations for websites using LottieFiles

by Julian

2022-12-15

Read more
let’s dev Blog | Lean in Software Development

Technical

Lean in Software Development

by Sabrina

2022-12-08

Read more
let’s dev Blog | Adobe Max - Live from LA

Corporate

Adobe Max - Live from LA

by Jessica

2022-10-28

Read more
let’s dev Blog | Mensch und Computer 2022 - Facing Realities

Corporate

Mensch und Computer 2022 - Facing Realities

by Kerstin

2022-09-12

Read more
let’s dev Blog | EUREKA Innovation Award

Corporate

EUREKA Innovation Award

by Karl

2022-06-23

Read more
let’s dev Blog | WWDC 2022: Our update on Apple's new operating systems

Technical

WWDC 2022: Our update on Apple's new operating systems

by Julian

2022-06-08

Read more
let’s dev Blog | Docker and the hidden security hole

Technical

Docker and the hidden security hole

by Martin

2022-02-17

Read more
let’s dev Blog | The Christmas holidays are just around the corner - We are looking forward to the next year 2022!

Corporate

The Christmas holidays are just around the corner - We are looking forward to the next year 2022!

by Julian

2021-12-22

Read more
let’s dev Blog | Production and assembly of stacks and electro­lysers for hydrogen production

Corporate

Production and assembly of stacks and electro­lysers for hydrogen production

by Anton

2021-12-21

Read more
let’s dev Blog | Adobe Max 2021 - A global celebration of creativity

Corporate

Adobe Max 2021 - A global celebration of creativity

by Julia

2021-11-02

Read more
let’s dev Blog | Relational databases compared to object-oriented databases

Technical

Relational databases compared to object-oriented databases

by Julian

2021-10-14

Read more
let’s dev Blog | Apple Developer Program: What is it used for and what content does it offer me as a member?

Corporate

Apple Developer Program: What is it used for and what content does it offer me as a member?

by Julian

2021-09-30

Read more
let’s dev Blog | Sketch, Figma & Co. - We take a look at the most popular UI and Prototyping Tools in 2021

Corporate

Sketch, Figma & Co. - We take a look at the most popular UI and Prototyping Tools in 2021

by Ellen

2021-07-15

Read more
let’s dev Blog | Tailwind: An innovative project for the future use of old wind turbines

Corporate

Tailwind: An innovative project for the future use of old wind turbines

by Karl

2021-06-24

Read more
let’s dev Blog | Features, Fixes and Functions - A WWDC 2021 Sumup

Corporate

Features, Fixes and Functions - A WWDC 2021 Sumup

by Julian

2021-06-10

Read more
let’s dev Blog | Smart Prognosis of Energy with Allocation of Resources

Corporate

Smart Prognosis of Energy with Allocation of Resources

by Karl

2021-02-18

Read more
let’s dev Blog | Dasoman - Data-Sovereignty-Manager

Corporate

Dasoman - Data-Sovereignty-Manager

by Karl

2021-01-11

Read more
let’s dev Blog | We look back on the past months - And wish all the best for the coming year 2021!

Corporate

We look back on the past months - And wish all the best for the coming year 2021!

by Julian

2020-12-17

Read more
let’s dev Blog | iOS User Interface Tests

Technical

iOS User Interface Tests

by Nicolas

2020-11-12

Read more
let’s dev Blog | Adobe Max - Online for the first time

Corporate

Adobe Max - Online for the first time

by Julia

2020-10-29

Read more
let’s dev Blog | CAN2BLE

Technical

CAN2BLE

by Raphael

2020-09-24

Read more
let’s dev Blog | Mensch und Computer 2020 - Digital Change in the Flow of Time

Corporate

Mensch und Computer 2020 - Digital Change in the Flow of Time

by UX Team

2020-09-18

Read more
let’s dev Blog | Neumorphism – A new era of user interface design?

Technical

Neumorphism – A new era of user interface design?

by Julian

2020-08-13

Read more
let’s dev Blog | UX Research Part 3 - UX Methods

Technical

UX Research Part 3 - UX Methods

by Elena

2020-05-28

Read more
let’s dev Blog | UX Research Part 2 - What is UCD and what does User Research have to do with it?

Technical

UX Research Part 2 - What is UCD and what does User Research have to do with it?

by Elena

2020-04-23

Read more
let’s dev Blog | go-digital promotes establishment of home office workstations

Corporate

go-digital promotes establishment of home office workstations

by Karl

2020-03-19

Read more
let’s dev Blog | Google Passes - Card Management on Android Devices

Technical

Google Passes - Card Management on Android Devices

by Michelle

2020-03-12

Read more
let’s dev Blog | 100% code coverage in software testing - a reasonable goal?

Technical

100% code coverage in software testing - a reasonable goal?

by Raphael

2020-03-06

Read more
let’s dev Blog | Swift UI - Simple and fast implementation of user interfaces

Technical

Swift UI - Simple and fast implementation of user interfaces

by Tobias

2020-03-02

Read more
let’s dev Blog | In dialog with the business juniors - Exciting insights into business start-ups and digital transformation

Corporate

In dialog with the business juniors - Exciting insights into business start-ups and digital transformation

by Julian

2020-02-27

Read more
let’s dev Blog | Simplified testing of iOS push notifications in the simulator with Xcode 11.4

Technical

Simplified testing of iOS push notifications in the simulator with Xcode 11.4

by Manuel

2020-02-26

Read more
let’s dev Blog | National meeting of the consortium of the SPEAR research project at let's dev in Karlsruhe

Corporate

National meeting of the consortium of the SPEAR research project at let's dev in Karlsruhe

by Karl

2020-01-27

Read more
let’s dev Blog | UX Research Part 1 - Why User Research is so important

Technical

UX Research Part 1 - Why User Research is so important

by Elena

2020-01-23

Read more
let’s dev Blog | Dark Mode

Technical

Dark Mode

by Elisa

2020-01-09

Read more
let’s dev Blog | We wish you a Merry Christmas - And a Happy New Year!

Corporate

We wish you a Merry Christmas - And a Happy New Year!

by Julian

2019-12-20

Read more
let’s dev Blog | Exchange on the topic of digitization with the Business Club Luxembourg at the Embassy of Luxembourg in Berlin

Corporate

Exchange on the topic of digitization with the Business Club Luxembourg at the Embassy of Luxembourg in Berlin

by Karl

2019-12-17

Read more
let’s dev Blog | DaSoMan at the Internet+ Expo in Foshan (China)

Corporate

DaSoMan at the Internet+ Expo in Foshan (China)

by Karl

2019-12-13

Read more
let’s dev Blog | Google Play Console: Pre-Launch Reports

Technical

Google Play Console: Pre-Launch Reports

by Fabian

2019-12-11

Read more
let’s dev Blog | DevFest 2019 in Hamburg

Technical

DevFest 2019 in Hamburg

by Julian

2019-12-05

Read more
let’s dev Blog | Vernissage digital art in the media theater of the Humboldt University Berlin

Corporate

Vernissage digital art in the media theater of the Humboldt University Berlin

by Karl

2019-11-21

Read more
let’s dev Blog | World Usability Day 2019 in Karlsruhe - let's dev supports as main sponsor

Corporate

World Usability Day 2019 in Karlsruhe - let's dev supports as main sponsor

by Aileen

2019-11-11

Read more
let’s dev Blog | Gutted - Open Day at the Alter Schlachthof Karlsruhe 2019

Corporate

Gutted - Open Day at the Alter Schlachthof Karlsruhe 2019

by Julian

2019-09-26

Read more
let’s dev Blog | Mensch und Computer 2019 - Conference on User Experience and Usability in Hamburg

Corporate

Mensch und Computer 2019 - Conference on User Experience and Usability in Hamburg

by Elena

2019-09-17

Read more
let’s dev Blog | Business and Enterprise App Distribution on iOS

Technical

Business and Enterprise App Distribution on iOS

by Aileen

2019-08-05

Read more
let’s dev Blog | Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

Corporate

Digital Transformation - Chances and Challenges in the Automotive Industry, Agriculture and New Technologies

by Karl

2019-07-17

Read more
let’s dev Blog | let's dev supports runners at the 7th KIT Championship

Corporate

let's dev supports runners at the 7th KIT Championship

by Karl

2019-07-05

Read more
let’s dev Blog | Automated testing of C++ code with Google Test and Google Mock - Part 2

Technical

Automated testing of C++ code with Google Test and Google Mock - Part 2

by Arne

2019-06-13

Read more
let’s dev Blog | Apple WWDC 2019: These are the highlights of the keynote

Technical

Apple WWDC 2019: These are the highlights of the keynote

by Nicolas

2019-06-05

Read more
let’s dev Blog | App Builders 2019

Technical

App Builders 2019

by Nicolas

2019-05-23

Read more
let’s dev Blog | Official opening of the Consolidation and Expansion Center (FUX)

Corporate

Official opening of the Consolidation and Expansion Center (FUX)

by Helena

2019-04-15

Read more
let’s dev Blog | Delegation from Nottingham to visit the Alter Schlachthof in Karlsruhe

Corporate

Delegation from Nottingham to visit the Alter Schlachthof in Karlsruhe

by Helena

2019-04-14

Read more
let’s dev Blog | The time has come: We are moving!

Corporate

The time has come: We are moving!

by Helena

2019-03-26

Read more
let’s dev Blog | Automated testing of C++ code with frameworks - part 1

Technical

Automated testing of C++ code with frameworks - part 1

by Arne

2019-02-20

Read more
let’s dev Blog | The app in the Google Play Store

Technical

The app in the Google Play Store

by Elisa

2019-01-24

Read more
let’s dev Blog | „UX Day“ 2018

Corporate

„UX Day“ 2018

by Aileen

2018-12-17

Read more
let’s dev Blog | let's dev supports SG Siemens volleyball players from Karlsruhe

Corporate

let's dev supports SG Siemens volleyball players from Karlsruhe

by Helena

2018-12-04

Read more
let’s dev Blog | SMEs shape digitalization - SME Conference 2018

Corporate

SMEs shape digitalization - SME Conference 2018

by Helena

2018-11-12

Read more
let’s dev Blog | Apple Wallet

Technical

Apple Wallet

by Maik

2018-10-26

Read more
let’s dev Blog | „Mensch und Computer“ 2018

Corporate

„Mensch und Computer“ 2018

by Judith

2018-09-24

Read more
let’s dev Blog | State Design Pattern in Android

Technical

State Design Pattern in Android

by Thomas

2018-09-17

Read more
let’s dev Blog | let's dev is an authorized consulting company in the „go-digital“ funding program

Corporate

let's dev is an authorized consulting company in the „go-digital“ funding program

by Helena

2018-09-01

Read more
let’s dev Blog | App Design & Development Conference 2018

Corporate

App Design & Development Conference 2018

by Helena

2018-08-14

Read more
let’s dev Blog | iOS 12: The top new features at a glance

Technical

iOS 12: The top new features at a glance

by Nicolas

2018-07-17

Read more
let’s dev Blog | let's dev at CEBIT

Corporate

let's dev at CEBIT

by Karl

2018-06-11

Read more
let’s dev Blog | Introduction to User Interface (UI) Testing with Espresso

Technical

Introduction to User Interface (UI) Testing with Espresso

by Raphael

2018-06-07

Read more
let’s dev Blog | The app in the Apple App Store: what information is needed?

Technical

The app in the Apple App Store: what information is needed?

by Aileen

2018-04-27

Read more
let’s dev Blog | Smart Pointer in C++

Technical

Smart Pointer in C++

by Matthias

2018-04-01

Read more
let’s dev Blog | User interface design for iPhone X: all innovations at a glance

Technical

User interface design for iPhone X: all innovations at a glance

by Helena

2018-02-07

Read more
let’s dev Blog | WebVR - Virtual Reality Experience in the Browser with the A-Frame Framework

Technical

WebVR - Virtual Reality Experience in the Browser with the A-Frame Framework

by Judith

2018-01-10

Read more
let’s dev Blog | Deutsche Bahn Open Data Hackathon

Corporate

Deutsche Bahn Open Data Hackathon

by Karl

2015-03-31

Read more
let’s dev Blog | Blur effects under iOS 7

Technical

Blur effects under iOS 7

by Katja

2014-04-24

Read more
let’s dev Blog | Beyond App Store - iOS application distribution

Technical

Beyond App Store - iOS application distribution

by Karl

2012-08-27

Read more
let’s dev Blog | Front-end architecture - Model View Presenter and Message Bus

Technical

Front-end architecture - Model View Presenter and Message Bus

by Karl

2011-03-08

Read more