{"id":3865,"date":"2026-07-07T07:25:40","date_gmt":"2026-07-07T07:25:40","guid":{"rendered":"https:\/\/www.infobip.com\/developers\/?p=3865"},"modified":"2026-07-07T07:25:40","modified_gmt":"2026-07-07T07:25:40","slug":"mcp-servers-only-matter-when-a-client-can-use-them","status":"publish","type":"post","link":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them","title":{"rendered":"MCP servers only matter when a client can use them\u00a0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Goose makes the client side visible, and that is where MCP gets real.&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is something that caught me off guard when I first started working with MCP servers: the first bug you hit is often not in the server. It is in the client. A wrong config key, a missing&nbsp;auth&nbsp; header, or a prompt that is too vague can make a perfectly good server look broken.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<a href=\"https:\/\/github.com\/infobip-community\/weather-alert-agent\" target=\"_blank\" rel=\"noreferrer noopener\">weather-alert-agent repo<\/a>&nbsp;that I describe in the post&nbsp;came out of trying to show that gap in a way that is easy to follow and reproduce.&nbsp;&nbsp;It is not a polished demo&nbsp;but&nbsp;&nbsp;a&nbsp;working example of what happens when Goose&nbsp;has to&nbsp;discover&nbsp;a&nbsp; server, load its tools, and figure out how to use them in a real workflow.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To understand why, it helps to look at what a client&nbsp;actually does.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If something in here&nbsp;does not fit your setup, that is expected. Take what is useful and adjust.&nbsp;\ud83d\ude0a&nbsp;&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">The client does more than connect&nbsp;<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">An MCP server exposes tools. A client decides what to do with them.&nbsp;That distinction sounds obvious, but it is easy to underestimate until you watch a real session.&nbsp;The server does not pick the tool. The client&nbsp;has&nbsp;to. And it also&nbsp;has to&nbsp;do much more than that; it must:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; &#8211; discover the available tools at startup&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; &#8211; decide which tools belong in the current conversation&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; &#8211; pass the right arguments&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; &#8211; use the result to choose what happens next&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The weather-alert-agent is a small example built to make that visible. The idea is simple: each morning, Goose checks the weather for a given city and sends the forecast as a text message. One prompt, three steps, a real delivery. It is narrow enough to follow but complete enough to show what the client layer&nbsp;actually does.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To build it, you need an MCP server that can send messages. I went with the Infobip Message MCP. It&nbsp;exposes a single tool:&nbsp;send_messages, with support for SMS, RCS, and Viber. It only covers sending, so there are no delivery reports, logs, or anything else loaded into the context window. For a simple notification workflow, that turned out to be enough, and the smaller footprint kept token usage low.&nbsp;Since I already have my Viber sender provisioned on my Infobip account (as part of the free trial period), I went with a shared Viber sender.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you do need delivery reports or channel failover, the Viber MCP covers those,&nbsp;but it&nbsp;also&nbsp;loads more&nbsp;tools into every context window. Neither is wrong. It depends on what your workflow&nbsp;actually&nbsp;needs.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the server picked, the next step is getting Goose to recognize it. That comes down to a short config block, but a few of the fields are less forgiving than they look.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">The config details decide whether the server loads&nbsp;<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Before Goose can use any MCP server, it needs to know where to find it and how to talk to it.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Goose refers to MCP servers as extensions, external add-ons that connect it to tools and services outside its built-in capabilities. Remote extensions, like the&nbsp;<a href=\"https:\/\/github.com\/infobip\/mcp#%EF%B8%8F-messaging-channels\" target=\"_blank\" rel=\"noreferrer noopener\">Infobip Message MCP<\/a>, connect over&nbsp;`streamable&nbsp;HTTP`, which is why the config looks&nbsp;like the following.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>extensions:\u00a0\n\u00a0\u00a0\u00a0\u00a0infobip-message:\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0 name: Infobip Message\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0uri: https:\/\/mcp.infobip.com\/message\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0 type:\u00a0streamable_http\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0 headers:\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Authorization: \"App YOUR_INFOBIP_API_KEY\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">One thing to watch out for is that Goose expects&nbsp;`uri`, not&nbsp;`url`. If either field is wrong, Goose skips the extension silently without error-naming the field. The config is usually the first place to check if the server is not loading.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would rather not edit YAML directly,&nbsp;`goose configure`&nbsp;walks you through it interactively. Either way gets you to the same place.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">The weather demo as orchestration, not a tool call\u00a0<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Getting the config right means the server loads. What happens after that is where things get interesting. The part of this repo I find most useful is not that Goose can send a message, it is that Goose can work out what&nbsp;has to&nbsp;happen first.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The prompt in the demo looks&nbsp;simple:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">`Check the weather in Newcastle and send a text message to 447700900123 from sender&nbsp;IBSelfServe.`&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But that one line asks Goose to run three things in sequence: fetch the current weather, format the result, and send it through the Message MCP. The client&nbsp;has to&nbsp;work out the order, choose the right tool, and pass the right arguments. None of that is spelled out.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The recipe version makes that gap explicit by laying out the sequence as steps rather than leaving it to inference:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>prompt:\u00a0|\u00a0\n\u00a0 1. Run this shell command to get the weather forecast for Newcastle:\u00a0\n\u00a0\u00a0\u00a0\u00a0 curl -s \"wttr.in\/Newcastle?format=3\"\u00a0\n\u00a0 2. Send the result as a text message to 447700900123 from sender\u00a0IBSelfServe.\u00a0\n\u00a0 3. Confirm the message was sent successfully.\u00a0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(IBSelfServe\u00a0is a\u00a0shared\u00a0Viber sender set up in the Infobip account. Swap it for your own\u00a0if not in the free trial mode.)<\/em>\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is no decision tree here. Goose figures out how to stitch together a shell command, a tool call, and a confirmation step on its own. That is the part that is easy to miss when you only look at a server in isolation \u2014 the server just sits there exposing tools. You do not see the sequencing, the tool\u00a0selection, or the back-and-forth until a real client is running against it.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Which also means the prompt is doing more work than it looks like.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">The prompt is part of the interface&nbsp;<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">A vague prompt makes a client look unreliable, even when the server is fine. If you only tell Goose to &#8220;check the weather,&#8221; it still needs to know the city, the destination number, the&nbsp;sender&nbsp;name, and how much detail you want.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The `prompts\/examples.md` file in the repo tries to show what that specificity looks like in practice. The prompts that work well name everything that is not over-engineering, it is part of how the system works.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tool names matter for the same reason.&nbsp;`send_messages`gives&nbsp;the model something clear to reason about. A vague name pushes more work onto the description, which means more tokens and more room for the model to guess wrong.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That clarity carries through to scheduling&nbsp;too, once&nbsp;you want the workflow to run on its own.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Running the recipe on a schedule. It runs, as long as Goose does&nbsp;<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">The repo includes Goose&#8217;s built-in scheduler, which is handy for running the recipe automatically each morning. One thing worth knowing upfront: it only runs while Goose is running. If Goose is closed at the scheduled time, the job is skipped \u2014 no retry, no catch-up. That is just how it works, and it changes how much you can rely on it for anything&nbsp;time-sensitive.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you need the job to fire regardless of whether Goose is open, the repo documents a system&nbsp;cron&nbsp;fallback. It is a reasonable&nbsp;option&nbsp;if reliability matters more than keeping everything inside one tool.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A few things worth carrying forward<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Putting this together surfaced a few observations that might be useful if you are building your own MCP server:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tool names that read clearly to a model reduce the chance of the wrong tool being picked&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One-sentence descriptions tend to help more than long ones&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Auth and config requirements are worth spelling out explicitly \u2014 clients will not guess&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Testing inside a real client catches things that isolated testing misses&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fewer tools&nbsp;is&nbsp;often better, especially for narrow use cases&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">None of this is a rule. It is just what came up while putting this together.&nbsp;<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Wrapping up&nbsp;<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">The weather-alert-agent is a small example, but it touches most of what makes MCP interesting to work with in practice: server design, client configuration, prompt specificity, orchestration, and scheduling. None of those&nbsp;pieces&nbsp;work in isolation. They only make sense&nbsp;together, once&nbsp;a real client is running against a real server.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Goose is a useful reference client because it makes that client side visible in a way a server-only demo does not. Discovery, configuration, prompt design, scheduling, and tool orchestration all show up in one place. Once you can see that layer, MCP starts to feel less like a server feature and more like a full integration surface, one where the client does most of the interesting work.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to try it yourself, the full repo is here:&nbsp;<a href=\"https:\/\/git.ib-ci.com\/projects\/DDWIP\/repos\/infobip-developer-docs\/browse\/weather-alert-agent\" target=\"_blank\" rel=\"noreferrer noopener\">weather-alert-agent.<\/a>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Goose makes the client side visible, and that is [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":3876,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[50,28,255,252],"tags":[309],"coauthors":[134],"class_list":["post-3865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-blog-post","category-infobip-products","category-tools","tag-mcp-servers"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub\" \/>\n<meta property=\"og:description\" content=\"Goose makes the client side visible, and that is [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\" \/>\n<meta property=\"og:site_name\" content=\"Infobip Developers Hub\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/infobip\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-07T07:25:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joanna Suau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoannaSuau\" \/>\n<meta name=\"twitter:site\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joanna Suau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\"},\"author\":{\"name\":\"Joanna Suau\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/707842627f046bb5722c37a9fdc85d62\"},\"headline\":\"MCP servers only matter when a client can use them\u00a0\",\"datePublished\":\"2026-07-07T07:25:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\"},\"wordCount\":1475,\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png\",\"keywords\":[\"MCP servers\"],\"articleSection\":[\"AI\",\"Blog Post\",\"Infobip Products\",\"Tools\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\",\"name\":\"MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png\",\"datePublished\":\"2026-07-07T07:25:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png\",\"width\":1536,\"height\":1024,\"caption\":\"MCP servers only matter when a client can use them\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.infobip.com\/developers\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MCP servers only matter when a client can use them\u00a0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"name\":\"Infobip Developers Hub\",\"description\":\"Build meaningful customer relationships across any channel\",\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.infobip.com\/developers\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\",\"name\":\"Infobip Developers Hub\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"width\":696,\"height\":696,\"caption\":\"Infobip Developers Hub\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/infobip\/\",\"https:\/\/x.com\/InfobipDev\",\"https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ\",\"https:\/\/github.com\/infobip-community\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/707842627f046bb5722c37a9fdc85d62\",\"name\":\"Joanna Suau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/cccb05b0dfa8fde5d00a09f4047f929e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b632afa61f1a27c1a0d823a9ec17eeb047cf476c570012dd90ba88a1bb9b1585?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b632afa61f1a27c1a0d823a9ec17eeb047cf476c570012dd90ba88a1bb9b1585?s=96&d=mm&r=g\",\"caption\":\"Joanna Suau\"},\"description\":\"Joanna is a Developer Educator at Infobip, working in the Developer Relations team.\",\"sameAs\":[\"https:\/\/medium.com\/@joanna.suau\",\"https:\/\/www.linkedin.com\/in\/joannasuau\/\",\"https:\/\/x.com\/JoannaSuau\"],\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/author\/joanna\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them","og_locale":"en_US","og_type":"article","og_title":"MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub","og_description":"Goose makes the client side visible, and that is [&hellip;]","og_url":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them","og_site_name":"Infobip Developers Hub","article_publisher":"https:\/\/www.facebook.com\/infobip\/","article_published_time":"2026-07-07T07:25:40+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png","type":"image\/png"}],"author":"Joanna Suau","twitter_card":"summary_large_image","twitter_creator":"@JoannaSuau","twitter_site":"@InfobipDev","twitter_misc":{"Written by":"Joanna Suau","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#article","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them"},"author":{"name":"Joanna Suau","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/707842627f046bb5722c37a9fdc85d62"},"headline":"MCP servers only matter when a client can use them\u00a0","datePublished":"2026-07-07T07:25:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them"},"wordCount":1475,"publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png","keywords":["MCP servers"],"articleSection":["AI","Blog Post","Infobip Products","Tools"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them","url":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them","name":"MCP servers only matter when a client can use them\u00a0 - Infobip Developers Hub","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png","datePublished":"2026-07-07T07:25:40+00:00","breadcrumb":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#primaryimage","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2026\/07\/MCP-servers-only-matter-when-a-client-can-use-them.png","width":1536,"height":1024,"caption":"MCP servers only matter when a client can use them"},{"@type":"BreadcrumbList","@id":"https:\/\/www.infobip.com\/developers\/blog\/mcp-servers-only-matter-when-a-client-can-use-them#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infobip.com\/developers\/"},{"@type":"ListItem","position":2,"name":"MCP servers only matter when a client can use them\u00a0"}]},{"@type":"WebSite","@id":"https:\/\/www.infobip.com\/developers\/#website","url":"https:\/\/www.infobip.com\/developers\/","name":"Infobip Developers Hub","description":"Build meaningful customer relationships across any channel","publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infobip.com\/developers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infobip.com\/developers\/#organization","name":"Infobip Developers Hub","url":"https:\/\/www.infobip.com\/developers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","width":696,"height":696,"caption":"Infobip Developers Hub"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/infobip\/","https:\/\/x.com\/InfobipDev","https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ","https:\/\/github.com\/infobip-community"]},{"@type":"Person","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/707842627f046bb5722c37a9fdc85d62","name":"Joanna Suau","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/cccb05b0dfa8fde5d00a09f4047f929e","url":"https:\/\/secure.gravatar.com\/avatar\/b632afa61f1a27c1a0d823a9ec17eeb047cf476c570012dd90ba88a1bb9b1585?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b632afa61f1a27c1a0d823a9ec17eeb047cf476c570012dd90ba88a1bb9b1585?s=96&d=mm&r=g","caption":"Joanna Suau"},"description":"Joanna is a Developer Educator at Infobip, working in the Developer Relations team.","sameAs":["https:\/\/medium.com\/@joanna.suau","https:\/\/www.linkedin.com\/in\/joannasuau\/","https:\/\/x.com\/JoannaSuau"],"url":"https:\/\/www.infobip.com\/developers\/blog\/author\/joanna"}]}},"_links":{"self":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/comments?post=3865"}],"version-history":[{"count":10,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3865\/revisions"}],"predecessor-version":[{"id":3875,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/3865\/revisions\/3875"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media\/3876"}],"wp:attachment":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media?parent=3865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/categories?post=3865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/tags?post=3865"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/coauthors?post=3865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}