{"id":3973,"date":"2026-10-05T16:33:46","date_gmt":"2026-10-05T15:33:46","guid":{"rendered":"https:\/\/france.magicsoftware.com\/blog\/?p=3973"},"modified":"2026-10-07T16:56:44","modified_gmt":"2026-10-07T15:56:44","slug":"mcp-server-fastmcp-magic-xpi","status":"publish","type":"post","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/","title":{"rendered":"MCP Server (FastMCP) &#8211; Magic xpi"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Prerequisites :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fastmcp, httpx, pyyaml<\/li>\n\n\n\n<li>my server.py example without role management (<a href=\"https:\/\/france.magicsoftware.com\/share\/server.zip\">https:\/\/france.magicsoftware.com\/share\/server.zip<\/a>)<\/li>\n\n\n\n<li>Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running<\/li>\n\n\n\n<li>Apache tomcat running with port 6443<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">1\/ Generate your yaml file that corresponds to your Magic xpi endpoints<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"446\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2-1024x446.png\" alt=\"\" class=\"wp-image-3978\" style=\"width:812px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2-1024x446.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2-300x131.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2-767x334.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2-1536x669.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG2.png 1822w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2\/ Load and generate the Magic xpi Flows inside Magic xpi studio<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"600\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG3-1-1024x600.png\" alt=\"\" class=\"wp-image-3981\" style=\"width:724px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG3-1-1024x600.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG3-1-300x176.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG3-1-767x450.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG3-1.png 1279w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3\/ Customize with a simple logic the order\/start flow (for testing)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4-1024x521.png\" alt=\"\" class=\"wp-image-3983\" style=\"width:764px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4-1024x521.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4-300x152.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4-1536x781.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4-767x390.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG4.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">4\/ Endpoints Check with Postman<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start the Magic xpi project and the Apache server with the correct service contract<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"497\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG5-1024x497.png\" alt=\"\" class=\"wp-image-3985\" style=\"width:644px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG5-1024x497.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG5-767x372.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG5-300x146.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG5.png 1288w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">5\/ Create folder : <strong>C:\\MCP\\magic_xpi_mcp<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">copy these files in this directory (<strong>openapi_localhost.yaml, README.md, requirements.txt, server.py<\/strong>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>requirements.txt :\nfastmcp>=3.2\nhttpx\npyyaml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6\/ Python verification (over 3.10) : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">7\/ Install dependencies and checks<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install -r requirements.txt\n\/\/***** verification\npython -c \"import fastmcp, httpx, yaml; print('OK - fastmcp', fastmcp.__version__)\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"45\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG6-1.png\" alt=\"\" class=\"wp-image-4020\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG6-1.png 988w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG6-1-300x14.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG6-1-746x34.png 746w\" sizes=\"auto, (max-width: 988px) 100vw, 988px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Check that the server loads correctly the yaml file (default openapi_localhost.yaml) : <strong>python server.py<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"224\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG7-1-1024x224.png\" alt=\"\" class=\"wp-image-4022\" style=\"width:736px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG7-1-1024x224.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG7-1-767x168.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG7-1-300x66.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG7-1.png 1347w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Press CTRL ^C<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">8\/ Declare you mcp server inside Claude<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add this json portion inside your claude_desktop_config.json<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"mcpServers\": {\n    \"magic-xpi\": {\n      \"command\": \"python\",\n      \"args\": &#91;\n        \"C:\\\\MCP\\\\magic_xpi_mcp\\\\server.py\"\n      ],\n      \"env\": {\n        \"XPI_BASE_URL\": \"http:\/\/localhost:6443\/xpiREST\/MCP_Server\/RESTfulAPI_Magicxpi\"\n      }\n    }\n  },<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">File =&gt; Settings =&gt; Developer (modify configuration)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Restart completely your Claude Desktop, you should see your magic xpi mcp server<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG8-1024x530.png\" alt=\"\" class=\"wp-image-3992\" style=\"width:863px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG8-1024x530.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG8-300x155.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG8-768x397.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG8.png 1276w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">9\/ test with Claude code or Claude chat<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"190\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10-1024x190.png\" alt=\"\" class=\"wp-image-3995\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10-1024x190.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10-767x142.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10-300x56.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10-1536x284.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG10.png 1744w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"767\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG9-1024x767.png\" alt=\"\" class=\"wp-image-3996\" style=\"width:418px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG9-1024x767.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG9-300x225.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG9-767x574.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG9.png 1325w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"478\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11-1024x478.png\" alt=\"\" class=\"wp-image-3994\" style=\"width:842px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11-1024x478.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11-767x358.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11-300x140.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11-1536x717.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG11.png 1692w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">10\/ You can implement a role mechanism in other to authorize specific users for specific actions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For doing this, you need an identity provider such as AWS cognito, Keycloak, Microsoft Identity Platform, &#8230; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you use AWS cognito for example and want to test it locally, you need to define :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>an app client (choose traditionnal web app) with an URL call back (<a href=\"http:\/\/localhost:8000\/auth\/callback\">http:\/\/localhost:8000\/auth\/callback<\/a>)<\/li>\n\n\n\n<li>associate a login page (aws cognito-idp create-managed-login-branding &#8211;region eu-west-1 &#8211;user-pool-id eu-west-1_XXXXXXX &#8211;client-id &#8211;use-cognito-provided-values)<\/li>\n\n\n\n<li>Clean the MCP authorization cache : delete files under %USERPROFILE%.mcp-auth<\/li>\n\n\n\n<li>Define you yaml role file like below for example (roles.yaml) :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>roles:\n  vendeur:\n    - <strong>startOrder<\/strong>\n    - addItemToOrder\n    - confirmOrderItems\n    - setDeliveryAddress\n    - chooseDeliveryOption\n    - choosePaymentMethod\n\n  <strong>superviseur<\/strong>:\n    - validateOrder\n    - sendConfirmationEmail\n\n  admin:\n    - \"*\"\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart the mcp server (with the server.py file including cognito features) in a command line.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>set MCP_TRANSPORT=http\nset MCP_AUTH=cognito\nset COGNITO_REGION=eu-west-1\nset COGNITO_USER_POOL_ID=eu-west-1_XXXXX\nset COGNITO_CLIENT_ID=&lt;clientid&gt;\nset COGNITO_CLIENT_SECRET=&lt;clientsecret&gt;\nset MCP_PUBLIC_URL=http:\/\/localhost:8000\nset XPI_BASE_URL=http:\/\/localhost:6443\npython C:\\MCP\\magic_xpi_mcp\\server.py<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the amazon cognito console, verify verify the login pages<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"565\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG17-1024x565.png\" alt=\"\" class=\"wp-image-4037\" style=\"width:485px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG17-1024x565.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG17-300x165.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG17-767x423.png 767w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG17.png 1422w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"361\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG18.png\" alt=\"\" class=\"wp-image-4038\" style=\"width:228px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG18.png 526w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG18-300x206.png 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check in another command line that you can access the mcp server : npx mcp-remote <a href=\"http:\/\/localhost:8000\/mcp\">http:\/\/localhost:8000\/mcp<\/a><\/li>\n\n\n\n<li>You should receive the screen below after the login screen to get an authorization code<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"699\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG12-1024x699.png\" alt=\"\" class=\"wp-image-4006\" style=\"width:506px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG12-1024x699.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG12-300x205.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG12-768x524.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG12.png 1159w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">and then <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"104\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG13.png\" alt=\"\" class=\"wp-image-4007\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG13.png 1017w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG13-763x78.png 763w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG13-300x31.png 300w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"275\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG14.png\" alt=\"\" class=\"wp-image-4008\" style=\"width:768px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG14.png 943w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG14-300x87.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG14-765x223.png 765w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If it&rsquo;s working you can add In the claude desktop config json file this part below (c:\\users\\&lt;usersession&gt;\\appData\\roaming\\Claude\\claude_desktop_config.json )<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\"mcpServers\": {\n    \"magic-xpi\": {\n      \"command\": \"npx\",\n      \"args\": &#91;\n        \"mcp-remote\",\n        \"http:\/\/localhost:8000\/mcp\"\n      ]\n    }\n  },<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stop completely your Claude Desktop and clean the mcp authorization cache (delete files under %USERPROFILE%.mcp-auth)<\/li>\n\n\n\n<li>Restart your Claude Desktop, it will connect automatically to your MCP server through the previous login page. <\/li>\n\n\n\n<li>If you sign in with the user that is part of \u00ab\u00a0<strong>superviseur<\/strong>\u00a0\u00bb cognito group (that does not include the <strong>startOrder<\/strong> right) then you can get this message<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"269\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG15-1024x269.png\" alt=\"\" class=\"wp-image-4012\" style=\"width:689px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG15-1024x269.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG15-764x201.png 764w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG15-300x79.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG15.png 1042w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"734\" height=\"666\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG16.png\" alt=\"\" class=\"wp-image-4016\" style=\"width:337px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG16.png 734w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG16-300x272.png 300w\" sizes=\"auto, (max-width: 734px) 100vw, 734px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : 1\/ Generate your yaml file that corresponds to your Magic xpi endpoints 2\/ Load and generate the Magic xpi Flows inside Magic xpi studio 3\/ Customize with a simple logic the order\/start flow (for testing) 4\/ Endpoints Check with Postman [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3998,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[76,4,90],"tags":[14,91],"class_list":["post-3973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-magic-xpi","category-mcp","tag-magic-xpi","tag-mcp"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Sa\u00e2d Alem\"\/>\n\t<meta name=\"google-site-verification\" content=\"5yLZLt_RgZVqkETQDrOlMUHaNTra2i5W8dtHQoCMueY\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Le Blog Techno | Magic Software France\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno\" \/>\n\t\t<meta property=\"og:description\" content=\"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<meta property=\"og:image:width\" content=\"16\" \/>\n\t\t<meta property=\"og:image:height\" content=\"16\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-05T15:33:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-07T15:56:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MagicSoftwareEnterprises\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@MagicSoftware\" \/>\n\t\t<meta name=\"twitter:title\" content=\"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@MagicSoftware\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#blogposting\",\"name\":\"MCP Server (FastMCP) \\u2013 Magic xpi | Le Blog Techno\",\"headline\":\"MCP Server (FastMCP) &#8211; Magic xpi\",\"author\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/MCP_F_MG1.png\",\"width\":468,\"height\":104},\"datePublished\":\"2026-10-05T16:33:46+01:00\",\"dateModified\":\"2026-10-07T16:56:44+01:00\",\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#webpage\"},\"articleSection\":\"AI, Magic xpi, MCP, Magic xpi, MCP\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Domicile\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"name\":\"Magic xpi\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"position\":2,\"name\":\"Magic xpi\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/#listItem\",\"name\":\"AI\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#listItem\",\"name\":\"Domicile\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/#listItem\",\"position\":3,\"name\":\"AI\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/mcp\\\/#listItem\",\"name\":\"MCP\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"name\":\"Magic xpi\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/mcp\\\/#listItem\",\"position\":4,\"name\":\"MCP\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/mcp\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#listItem\",\"name\":\"MCP Server (FastMCP) &#8211; Magic xpi\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/#listItem\",\"name\":\"AI\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#listItem\",\"position\":5,\"name\":\"MCP Server (FastMCP) &#8211; Magic xpi\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/ai\\\/mcp\\\/#listItem\",\"name\":\"MCP\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\",\"name\":\"Blog Magic France\",\"description\":\"Magic Software France\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/\",\"telephone\":\"+33149105858\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Magic.ico\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#organizationLogo\",\"width\":16,\"height\":16},\"image\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/MagicSoftwareEnterprises\",\"https:\\\/\\\/twitter.com\\\/MagicSoftware\",\"https:\\\/\\\/youtube.com\\\/MagicSoftware\",\"https:\\\/\\\/linkedin.com\\\/company\\\/magic-software-enterprises\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/\",\"name\":\"Sa\\u00e2d Alem\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/38fae53569553d87ce6ffb3b936e4df6feecf6069ddb238526105d8d906273c4?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Sa\\u00e2d Alem\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#webpage\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/\",\"name\":\"MCP Server (FastMCP) \\u2013 Magic xpi | Le Blog Techno\",\"description\":\"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\\\/\\\/france.magicsoftware.com\\\/share\\\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\\\/ Generate your yaml file that corresponds to\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/MCP_F_MG1.png\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#mainImage\",\"width\":468,\"height\":104},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/mcp-server-fastmcp-magic-xpi\\\/#mainImage\"},\"datePublished\":\"2026-10-05T16:33:46+01:00\",\"dateModified\":\"2026-10-07T16:56:44+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/\",\"name\":\"Blog Magic France\",\"description\":\"Magic Software France\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno","description":"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to","canonical_url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"5yLZLt_RgZVqkETQDrOlMUHaNTra2i5W8dtHQoCMueY","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#blogposting","name":"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno","headline":"MCP Server (FastMCP) &#8211; Magic xpi","author":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"publisher":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG1.png","width":468,"height":104},"datePublished":"2026-10-05T16:33:46+01:00","dateModified":"2026-10-07T16:56:44+01:00","inLanguage":"fr-FR","mainEntityOfPage":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#webpage"},"isPartOf":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#webpage"},"articleSection":"AI, Magic xpi, MCP, Magic xpi, MCP"},{"@type":"BreadcrumbList","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/#listItem","position":1,"name":"Domicile","item":"https:\/\/france.magicsoftware.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","name":"Magic xpi"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","position":2,"name":"Magic xpi","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/#listItem","name":"AI"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/#listItem","name":"Domicile"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/#listItem","position":3,"name":"AI","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/#listItem","name":"MCP"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","name":"Magic xpi"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/#listItem","position":4,"name":"MCP","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#listItem","name":"MCP Server (FastMCP) &#8211; Magic xpi"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/#listItem","name":"AI"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#listItem","position":5,"name":"MCP Server (FastMCP) &#8211; Magic xpi","previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/#listItem","name":"MCP"}}]},{"@type":"Organization","@id":"https:\/\/france.magicsoftware.com\/blog\/#organization","name":"Blog Magic France","description":"Magic Software France","url":"https:\/\/france.magicsoftware.com\/blog\/","telephone":"+33149105858","logo":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#organizationLogo","width":16,"height":16},"image":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/MagicSoftwareEnterprises","https:\/\/twitter.com\/MagicSoftware","https:\/\/youtube.com\/MagicSoftware","https:\/\/linkedin.com\/company\/magic-software-enterprises"]},{"@type":"Person","@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author","url":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/","name":"Sa\u00e2d Alem","image":{"@type":"ImageObject","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/38fae53569553d87ce6ffb3b936e4df6feecf6069ddb238526105d8d906273c4?s=96&d=mm&r=g","width":96,"height":96,"caption":"Sa\u00e2d Alem"}},{"@type":"WebPage","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#webpage","url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/","name":"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno","description":"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#breadcrumblist"},"author":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"creator":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG1.png","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#mainImage","width":468,"height":104},"primaryImageOfPage":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/#mainImage"},"datePublished":"2026-10-05T16:33:46+01:00","dateModified":"2026-10-07T16:56:44+01:00"},{"@type":"WebSite","@id":"https:\/\/france.magicsoftware.com\/blog\/#website","url":"https:\/\/france.magicsoftware.com\/blog\/","name":"Blog Magic France","description":"Magic Software France","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"Le Blog Techno | Magic Software France","og:type":"article","og:title":"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno","og:description":"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to","og:url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/","og:image":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","og:image:secure_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","og:image:width":16,"og:image:height":16,"article:published_time":"2026-10-05T15:33:46+00:00","article:modified_time":"2026-10-07T15:56:44+00:00","article:publisher":"https:\/\/www.facebook.com\/MagicSoftwareEnterprises","twitter:card":"summary_large_image","twitter:site":"@MagicSoftware","twitter:title":"MCP Server (FastMCP) \u2013 Magic xpi | Le Blog Techno","twitter:description":"Goal : Expose Magic xpi RESTFul API service through an MCP Proxy Server Prerequisites : fastmcp, httpx, pyyaml my server.py example without role management (https:\/\/france.magicsoftware.com\/share\/server.zip) Magic xpi RESTFul API Service OpenAPI yaml file with a Magic xpi project up and running Apache tomcat running with port 6443 1\/ Generate your yaml file that corresponds to","twitter:creator":"@MagicSoftware","twitter:image":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico"},"aioseo_meta_data":{"post_id":"3973","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-10-05 14:41:50","updated":"2026-10-07 19:20:44","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/\" title=\"Domicile\">Domicile<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/\" title=\"Magic xpi\">Magic xpi<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/\" title=\"AI\">AI<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/\" title=\"MCP\">MCP<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMCP Server (FastMCP) \u2013 Magic xpi\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Domicile","link":"https:\/\/france.magicsoftware.com\/blog\/"},{"label":"Magic xpi","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/"},{"label":"AI","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/"},{"label":"MCP","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/ai\/mcp\/"},{"label":"MCP Server (FastMCP) &#8211; Magic xpi","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/mcp-server-fastmcp-magic-xpi\/"}],"jetpack_featured_media_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2026\/10\/MCP_F_MG1.png","_links":{"self":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/3973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=3973"}],"version-history":[{"count":38,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/3973\/revisions"}],"predecessor-version":[{"id":4045,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/3973\/revisions\/4045"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media\/3998"}],"wp:attachment":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=3973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=3973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=3973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}